Entries in the Category “francais”

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.

PyCon Fr 2010

written by ccomb, on Sep 1, 2010 12:34:00 PM.

PyCon Fr 2010

Le week-end dernier avait lieu PyCon FR, la rencontre annuelle sur Python en France, organisée depuis 4 ans par l'afpy et qui consiste en 2 jours de conférences et ateliers à la Cité des Sciences.

Voici un petit résumé de l'événement.

Fréquentation

On partait avec deux gros handicaps : la date, fin août, ne garantissait pas que tout le monde soit rentré de vacances. De plus la communication n'a pas été très bonne. Malgré tout, dès le samedi matin la salle (L'Agora du Carrefour numérique) était quasi pleine, et la fréquentation n'a pas baissé jusqu'au dimanche 18h, où les gens n'avaient manifestement pas envie de partir. Un petit sondage le dimanche matin a montré qu'une majorité de visiteurs s'était déplacé de province.

L'événement a été soutenu par 10 sponsors, qu'on remercie une nouvelle fois :

Tout a été enregistré par Ubicast et sera disponible en ligne. Le site web a été géré par Logilab, grâce à Cubicweb.

Tendances

Python

Le Web : le développement web est comme toujours un sujet majeur en Python. Serveur WSGI haute performance, CMS orienté sémantique, CMS sur mesure, CMS qui stocke en Git, nombreux frameworks web, cloud computing, réseau social distribué, le sujet était vaste.

Calcul scientifique : deux conférences passionnantes sur le Machine Learning, le traitement des langues naturelles, l'analyse statistique, le calcul parallèle ou le multiprocessing, l'interfaçage avec C/C++.

Cloud et NoSQL : Une confirmation de la tendance de l'année dernière, avec des présentations parlant de MongoDB, itools.database (une DB versionnée), Google App Engine, SilverLining, MediaTemple, LibCloud, etc...

ERP : Une présentation de Tryton, un fork d'OpenERP, fait aussi par des belges, qui proposent également une version allégée minimale (Neso). La demande pour OpenERP est, paraît-il, monumentale.

On a regretté l'absence de Tarek Ziadé, obligé de rentrer d'urgence à Dijon, et qui aurait dû présenter son travail chez Mozilla : la réécriture de Mozilla Sync en Python. On a regretté aussi l'annulation de dernière minute d'une présentation sur Plone.

OSDC Fr 2010

En parlant de Plone, je serai à OSDC Fr les 9 et 10 octobre pour parler de Plone 4 qui vient de sortir, ainsi que d'une application permettant de déployer des démos d'applications web (Drupal, Plone, OpenERP, etc...).


test