## page was renamed from Projet/SemaineTech2011/Ateliers/ProgrammationPython ## page was renamed from Projet/SemaineTech/Ateliers/ProgrammationPython <> = Programmation Python = == Présentateur == * [[DavinBaragiotta|Davin Baragiotta]] == Format == Atelier d'initiation à la programmation avec Python. À la fois théorique (20 min.) et pratique (20 min.). Nous allons passer à travers les notions de base jusqu'à coder un bot jabber! :D == Description détaillée == Objectifs : * se familiariser avec la base du langage * lire, modifier et créer un script python sous forme de module Globalement cet atelier suivra librement le tutoriel officiel de python.org : http://docs.python.org/tutorial/. Mais ce tutoriel, en anglais, fait 124 pages imprimées : nous ne couvrirons donc pas tous les détails. Pour se faire du plaisir rapidement, nous coderons un bot jabber à l'aide de jabberbot. ''Au menu théorique'' * Introduction * Environnement de travail : éditeur, interpréteur * La base * Syntaxe : noms, commentaires, docstrings, indentation, PEP 8... * Types : string, int, list, dict... * Structures de contrôle : if, for... * Introspection : découvrir la puissance des objets * Fonctions : syntaxe, arguments * Classes et objets * attributs et méthodes * héritage * instanciation * Script : shebang, encoding et exécution : {{{__main__}}} * Imports * Bibliothèque standard : tour rapide * Packager son code : {{{__init__.py}}} * Erreurs, exceptions, débogueur (si on a le temps) * Persistance des données (si on a le temps) ''Au menu pratique'' * Exemple barabotta * Tester son comportement * Vérifier son code source * Créer son propre bot jabber * Partir d'un squelette de base * Coder un comportement particulier à votre bot : * Un commentaire judicieux suite à un mot clé : ex.: "sieste" -> "Oh ouuui!" * Un service plus pertinent : ex.: retourner la date, créer une URL... == Pré-requis == === Connaissances requises === * Programmation objet (un plus) === Environnement technique === Installer : * ipython * python-xmpp * python-jabberbot (update si déjà installé, > 0.8) Télécharger : * Code python à télécharger : [[attachment:code.tar.gz]] * voir Ressources ci-dessous pour description du contenu Éditeur : * utilisez votre favori, gedit fait très bien l'affaire * agréable à avoir : * coloration syntaxique pour Python * indentation multi-lignes * configuration * tab = indentation 4 espaces Créer un compte pour votre bot sur : * https://register.jabber.org/ * IRC * ... ==== Support(s) de présentation ==== * Pidgin dans un salon de l'AUF * salon test@reunion.auf.org pour tester nos bots :D == Date et heure de passage == A priori, deux passages prévus. Voir [[../../Planning]] * Lundi 29 Août 2011 à 12h TU * Jeudi 1er Septembre 2011 à 12h TU * Durée prévue: 45 minutes de présentations (''max'') + 15 minutes de question == Commentaires du présentateur == Les 2 séances prévues (lundi et jeudi) ont le même contenu. Si vous revenez tous jeudi... on fera une révision et on ira peut-être un peu plus loin. ;) Ça va r'voler en sale. == Ressources == === Code source === * Code python à télécharger : [[attachment:code.tar.gz]] * /barabotta : code source pour le bot de Davin Baragiotta * /bot : code source de base pour créer un bot (template) * /jabberbot : code et exemples provenant de python-jabberbot (ici par commodité, si on veut étudier les sources) * script.py : exemple de script python ( === Archives des conversations === ##on faire une copie ici de la conversation qui se sera tenue pendant l'atelier ## un lien vers une sous-page me semblerait plus approprié * archive brute de la [[Projet/SemaineTech/2011/Ateliers/ProgrammationPython/Conversation|conversation]] ==== Commentaire d'après atelier ==== ----