Entries tagged “formation”

Formations Python : la fiche du débutant

written by ccomb, on Sep 29, 2010 10:58:00 PM.

alterway formation

Des formations

Pendant tout le mois de juin, et dans le cadre de mon boulot à Alter Way, j'ai eu l'occasion de donner des formations sur Python. Tout d'abord, deux sessions de trois jours au JRC (Joint Research Center), le Centre de recherche de la Commission Européenne à Ispra, en Italie. C'est au bord du Lac Majeur, la région est magnifique. Cette formation, en anglais, s'adressait à des chercheurs désireux d'apprendre Python pour des usages scientifiques très variés : analyse d'images satellites, calcul sur des procédés chimiques, nucléaires, cartographiques, etc.

Joint Research Center

Il a donc fallu en trois jours enseigner Python, depuis les bases jusqu'au calcul numérique avec NumPy, pour leur permettre d'aborder SciPy, la grosse bibliothèque de calcul scientifique, ou des outils de visualisation comme Matplotlib ou Mayavi. Pas facile, d'autant plus que les niveaux étaient très différents : certains n'avaient jamais écrit une ligne de code, d'autres faisaient couramment du Java... L'objectif était donc de les rendre autonomes, afin qu'ils sachent trouver l'information eux-mêmes, soit sur le web, soit dans l'interpréteur Python, mais aussi qu'ils comprennent l'esprit de ce langage (et notamment, message à ceux qui font du Java, qu'on est pas obligé d'écrire systématiquement des classes et de faire de la programmation objet).

J'ai également effectué une session de 9 jours pour l'équipe de l'Assemblée Nationale, dont l'objectif était de maîtriser la programmation du CMS Plone 4. Et aujourd'hui, programmer Plone, ça veut dire maîtriser une pile de technologies assez impressionnante. Plone est un outil de gestion de contenu en ligne (un CMS) qui existe depuis 10 ans, et qui a suffisamment muri et évolué pour devenir l'un des CMS open-source les plus aboutis du marché. Très convivial pour l'utilisateur, facile à installer et à personnaliser pour un intégrateur suffisamment formé, mais relativement ardu pour le développeur qui doit comprendre les principes de Zope 2, ceux de Zope 3 et de la ZCA, les vieilles couches spécifiques à Plone comme le CMF ou Archetypes, les nouvelles couches comme Dexterity ou Grok, et évidemment les notions liées au CMS lui-même comme les workflows, les techniques d'authentification ou de cache. Ça fait beaucoup, mais tout n'est pas forcément nécessaire au début. Le minimum consiste à savoir créer une skin, un portlet, et un type de contenu. Grâce aux templates Paste fournis par ZopeSkel, ceci peut se faire en 10 minutes. Une chose est sûre, il vaut mieux chercher à comprendre les notions de manière vraiment isolée : Python tout seul, Buildout tout seul, Paster tout seul, Zope 2 tout seul, la ZCA toute seule, etc. Si on apprend en mélangeant tout d'un coup, c'est ingérable. Mais au final, ces technos permettent de créer des applications extrêmement complexes et puissantes, de manière propre, et avec une bonne pérennité. On trouve pas mal de Plone en service dans des entreprises ou administrations, qui tournent depuis des années, parfois avec très peu de maintenance... Et avec la sortie récente de Plone 4, on atteint un niveau de performance excellent.

La fiche du débutant

Lac Majeur

Lors de ces formations, notamment en Italie, j'ai été confronté à des gens dont la programmation n'est pas le métier. Certains avaient du mal à comprendre même la notion de variable, ou le fonctionnement d'un terminal. Dans ces conditions, comprendre la syntaxe du langage en trois jours est possible, mais faire des exercices en retenant par coeur toutes les notions ne l'est pas. Pourtant Python est très homogène, très lisible, et certainement l'un des langages les plus faciles à apprendre. Il est donc nécessaire de disposer d'une fiche mémo qui récapitule toutes les notions de base de manière classifiée, surtout sans être exhaustif : les types de bases, leur écriture littérale, les opérateurs, les différentes notations disponibles, etc. Le simple fait de visualiser une notation permet de se rappeler les explications. Pendant les formations, je résumais tout ceci au tableau, afin que ça reste en permanence visible. À l'occasion des conférences PyCon FR 2010, pour l'atelier d'introduction à Python, j'ai trouvé utile de reproduire tout ceci sur une fiche au format A5 et de le distribuer aux participants. J'ai eu des retours globalement positifs et le résultat peut être téléchargé ci-dessous, sous licence Creative Commons By SA. La licence est donc suffisamment souple pour que vous puissiez le réutiliser à volonté selon vos besoins :

Python Fiche Débutant

Cliquez simplement sur l'image pour télécharger le PDF. Si vous souhaitez modifier la fiche, vous pouvez aussi télécharger le fichier source au format SVG.


test