Entries tagged “alterway”

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.

Un Livre Blanc sur Python

written by ccomb, on Mar 16, 2010 8:35:00 PM.

alterway Livre Blanc sur Python

À l'occasion du Salon Solutions Linux 2010, Alter Way publie un livre blanc de 44 pages consacré à Python, rédigé par Gabriel Pettier et moi-même. C'est une présentation de haut niveau, très peu technique, dont le but est de donner un aperçu des domaines d'application. Vous pouvez donc le faire lire aussi bien à votre DSI, qu'à votre copine, ou votre chat. (Edit: Et là, comme on me fait remarquer à tort que je suis macho et sexiste et mettant le chat et la copine au même niveau, je rétorque vivement en vous conseillant de faire lire également ce livre à votre soeur, votre tante, votre mère, votre grand-mère et votre belle-mère. Non pas qu'elles ne soient pas capables de faire du Python, mais simplement qu'elle ne sont pas assez nombreuses à en faire et qu'on aimerait en voir plus ! C'est d'ailleurs pour cette raison que la liste de diffusion Python-diversity a été créée.)

Ce livre blanc est publié sous licence Creative Commons By SA 3.0 ! Il s'agit d'une première version, il y aura des révisions en fonction des retours.

Vous pouvez le télécharger depuis le site d'Alter Way : http://www.alterway.fr/publications/python-le-developpement-autrement

J'ai effectué une présentation de ce livre blanc ce matin (mardi 16 mars) sur le stand d'Alter Way, et j'en refais une jeudi à 11h.

Pour le côté technique, ce livre blanc a été rédigé initialement en ReST, en utilisant Sphinx, puis converti en OpenDocument pour finaliser sous OpenOffice.org. J'ai également réalisé un flyer 10x15 grâce à Scribus pour distribuer sur le salon (fichiers PDF pour l'impression : recto, verso) :

photo flyer

Sommaire

  1. À quoi ressemble Python ?
  2. Que peut-on faire avec Python ?
  3. Outils d'industrialisation
  4. Communauté
  5. conclusion
  6. Licence et diffusion

Introduction

Python

Python est une plateforme complète et généraliste pour le développement logiciel, très facile d'accès et capable de se spécialiser de manière très pointue dans la quasi-totalité des domaines informatiques. Python est utilisé par un public très large, des développeurs web professionnels, des chercheurs en intelligence artificielle ou en bio- informatique, des administrateurs systèmes, ou même des programmeurs occasionnels. C'est le mélange de polyvalence et de facilité qui fait la force de Python. Avec un bref apprentissage et un minimum d'efforts, vous serez capable d'envisager n'importe quel type d'application de manière extrêmement efficace et de la terminer (ou de la faire terminer) en temps voulu. (...)


test