On l’entend souvent dire partout, il est nécessaire aujourd’hui, si l’on veut être un « vrai » travailleur du web de maitriser certaines bases en programmation. Les arguments pour sont nombreux mais les principaux avantages de la maitrise d’un tel savoir sont selon moi (comprendre selon mes besoins) :

  • Pouvoir travailler plus facilement avec les développeurs.
  • Pouvoir faire quelques petites tâches basiques (comprendre les programmer) soit même.
  • Pouvoir se créer des outils/scripts maisons pour le boulot de SEO (mon objectif final)

Je vais faire un point rapide sur mon parcours histoire de situer ce qui va suivre… J’ai il y a fort fort longtemps (2002) fait un DUT Informatique au Havre ou le focus était sur le langage Java (J2EE, pas Javascript…), j’y ai abordé les bases du HTML/PHP/MySQL et subi de nombreuses heures d’algorithmie qui me semblaient alors inutiles. Cassé par un stage chez Cap Gemini à « pisser du code » dans un box, je me sui réorienté ensuite en école de commerce avant de revenir dans le Web vers 2010. Jusqu’à aujourd’hui, je suis comme beaucoup, un bidouilleur du web capable de faire des modifs en CSS, HTML, JS et PHP pour atteindre mes objectifs (en particulier sur WP). Bref, même si je n’ai pas pratiqué depuis des lustres, je ne suis pas néophyte.

Pour aller plus vite

Apprendre à programmer oui, mais pourquoi faire ?

Il suffit de regarder le menu de ce site pour comprendre que je suis SEO et éditeur de sites, donc mon premier axe pour apprendre (et choisir) un langage de programmation passe par ce prisme. Je souhaite apprendre un langage avec lequel je puisse scripter certains outils Web et SEO. Si je peux faire des interfaces Web avec ce même langage, ça m’arrange.

Je souhaite aussi orienter mon savoir SEO pour le moment très pratique vers quelque chose de plus technique et théorique. En effet à force de voir les conférences de Julien Deneuville ou Vincent Terrassi, j’ai fini par me dire « c’est ça que je veux faire ! ».

Avec mon collègue Cédric Driaux de chez Fyher, nous développons aussi nos propres outils SEO, pour lesquels nous avons de gros besoin en scrap, en croisement de données et en gestion d’API.

J’ai suivi 2 Masters Class Peyronnet, dans lesquelles ils donnent de nombreux bouts de code, je souhaite aujourd’hui les utiliser.

Le choix du langage : Python

Mon dévolu s’est jeté sur le langage à la mode ces derniers temps : Python. J’ai d’abord testé R qui avait la côte aussi, mais l’interface m’a quelque peu dérouté. Python possède pour moi plusieurs avantages :

  • il est très prisé sur le marché du travail
  • il s’appréhende très facilement et possède une syntaxe fluide.
  • de nombreuses bibliothèques existent pour ce que je veux faire
  • En particulier Scrapy, qui permet de réaliser du scrap et des bots avancés.
  • On code comme j’ai appris avec un IDE comme Sublime Text (PyCharm maintenant pour moi)
  • Avec Django, je pourrais plus tard dev mes interfaces Web si besoin
  • C’est le langage que l’on voit dans la série Silicon Valley !

Par ou démarrer pour apprendre à développer en Python ?

C’est la grande question, si j’en ai le temps, je détaillerai certains point ci dessous dans une série d’article. Il existe plusieurs moyen pour apprendre Python, les principaux sont :

  • Sur le web
  • Dans les livres
  • En formation professionnelle

1 – Apprendre à programmer sur le Web.

Il existe bien des manières d’apprendre sur le web, des Mooc, des plateformes interactives… Il y a un cursus en français chez FUN (France Université Numérique – Pyhton 3 débute en novembre 2017, y’a du R aussi actuellement) et plusieurs cours sur Open Classroom. L’anglais ne me rebutant pas, j’ai longuement hésité entre codeschool et codeacademy et finit par choisir ce dernier. Déjà parce que c’est gratuit (je suis SEO, ne l’oublions pas ^^), ensuite parce que l’interface interactive est très agréable, on apprend par la pratique et ça me parle bien. J’ai donc suivi le module Python, il m’a fallu un peu plus de 15 jours pour en venir à bout. C’est très basique, on apprend la syntaxe et la structure du langage au travers d’exercice à coder soit même. Vraiment une bonne méthode pour apprendre les bases en pratiquant. Je le recommande vraiment, on apprend par l’exemple et finalement il suffit d’une quinzaine d’heures au max pour finir le cursus sur codecademy, qui est gratuit. L’interface ressemble à ça :

Apprendre à coder en Python

Pour moi ça a été une bonne remise à niveau sur une discipline que je n’avais pas pratiqué depuis longtemps. Finalement c’est un peu comme le vélo, on oublie pas vraiment.

Bref en résumé, je vous recommande https://www.codecademy.com/ et https://www.codeschool.com/ et je me dis qu’un site en FR basé sur le même principe rencontrerait certainement le succès 😉

2 – Apprendre à programmer en lisant des livres

Aujourd’hui, on entend beaucoup de gens dire que l’on apprend rien dans les livres. Surtout venant de ceux qui ne les lisent pas, ces livres. Je ne suis pas d’accord. Les livres sont pour moi de très bons supports pour apprendre de nouvelles choses, et la programmation ne fait pas exception. De plus un livre s’emmène partout, même aux chiottes, et j’aime parfois couper avec mon écran d’ordinateur, sans pour autant lacher mon boulot. Pour ce qui est des livres, j’ai démarré avec celui de Gérard Swinnen, disponible gratuitement en PDF (et seul livre en Français). J’ai aussi acheté les livres recommandés pas Sylvain Peyronnet sur son blog, en anglais eux, notamment Automate The Boring Stuff. Sur conseil de Bruno Vial, j’ai acheté le Cookbook Python. Enfin, pour mes besoins personnels, j’ai acheté le seul livre dispo sur Scrapy. Cela fait beaucoup de livres. Je n’ai pas encore tout lu mais j’ai fini Swinnen (ca reprend plus ou moins le déroulé de du programme codecademy) et Automate qui est très sympa. On y apprend les bases pour modifier des fichiers excel, se connecter a des API et lire du JSON (tout le début donne des bases en python, j’ai survolé). Scrapy est le prochain sur la liste de mes lectures. Bref, j’apprend réellement en lisant des livres et pire, j’aime ça !

3 – Faire une formation pour apprendre le dev

Last but not least, le meilleur moyen pour apprendre à coder reste très certainement la bonne vieille méthode classique : les bancs de l’école ! Aujourd’hui la plupart du temps il faut compter 3 jours pour être formé sur un langage. Je m’étais renseigné sur la question et j’avais retenu les cursus Human Coders qui sont très réputés. Entre temps j’ai eu l’opportunité de rejoindre une nouvelle formation Peyronnet, je vais donc faire 3 jours de formation en présentiel aux IxLabs à Rouen (j’ai un abonnement là bas) répartie sur 3 mois. Comme ça commence demain (mardi 10/10/2017), je ferais un retour plus précis après…

Bref pour conclure, aujourd’hui il est tout a fait possible, moyennant finance ou pas, de se former à l’art de la programmation et d’acquérir les bases nécessaires à une meilleure compréhension des outils que l’on utilise quotidiennement. Ce n’est pas si difficile, j’ai déjà entendu dire (mais je ne sais plus ou) que apprendre un langage de programmation c’est comme apprendre le niveau CP d’une nouvelle langue étrangère, bref, ce n’est pas trop sorcier d’obtenir quelques bases bien utiles et solides et de construire une nouvelle compétence dessus.  J’aurais aimé bosser un peu plus l’article, mais cela fait déjà un moment qu’il est en brouillon et je manque quelque peu de temps 🙂