Projet de Mentoring Python

Rédigé par jerome aucun commentaire


02 mars 2014 Private aucun


J'ai décidé d'apprendre un langage : python.
De cette envie a découlé la question : comment faire pour apprendre à coder seul ?
En effet, si j'ai appris la plupart de mes connaissances seuls, je crois que cette technique à des limites et qu'il me semble important de rapidement confronter à l'Autre. De son expérience, sa vision découlent toujours quelquechose de positif qui fait progresser (y compris celui qui conseille je le crois) plus vite

C'est avec cette idée et un vibrant écho reçu du côté de l'AFPY suite à une discussion avec Nelle Varoquaux, présidente de ladite association que je (nous) souhaite(ons) présenter ici le compte rendu de cet "exercice". Je dis "nous", car comme il me le proposait, celui qui a endossé le rôle de mon mentor suggérait à raison qu'il serait bien d'avoir son point de vue également

L'idée est de faire partager l'expérience pour éventuellement la généraliser, l'étendre (?)
Vos réactions, propositions, envies... ne sont donc pas que bienvenues mais souhaitées !

Afin de partir sur des bases saines, je rappellerai ici le projet qui m'occupe. En effet pour apprendre, il me semble important de se fixer un objectif de réalisation et pour moi cela va prendre la forme d'un radio réveil numérique + webapp sur raspberry Pi.
Sans rentrer dans les détails, grand fan de radio, je m'étais aperçu que le matin je ne captais bien ma station préférée que lorsque mon voisin du dessus prenait sa douche. Tout cela est fort symptahico-mystérioso-marrant mais j'ai envie de capter clairement la radio (et si en plus je peux avoir mon podcast pour me réveiller alors la...)

Donc ci dessous, un descriptif rapide de mon projet et de moi même. Celui ci a été réalisé lorsque Nelle V. m'a proposé de diffuser ma demande de mentor sur la mailing list de l'Afpy et il fallait donc poser rapidement le contexte et définir la demande.

1/ Mon projet : Un réveil connecté sur Raspberry pi pour apprendre python


Débutant ayant lu et réalisé quelques tutos (flask, raspberry) ayant une culture Web, je cherche à réaliser un projet de radio réveil sur le raspberry pi (=Pi). Le principe étant d'avoir son Pi connecté à un système audio qui gère les radios numériques (stream, musqiue... en pilotant MPD) et la fonctionnalité réveil. L'ensemble étant accessible depuis une web app (construite sur la base du mini framework Flask + Bootstrap). De nombreuses autres fonctions sont envisagées (connection pour reminder au compte google calendar + todo list, gestion podcast + musique pour se réveiller...).
Plus généralement, j'ai pensé ce projet en essayant d'y mettre tout ce qui avait trait à : Python pour le web : scrape, gestion api, web app, Bdd... + raspberry pi (Gpio) en vue d'en apprendre les bases.

Compétences : système debian (tres moyennes), bonnes : web (html, css), design, conduite de projet mais néant en programmation + bonne culture web en général (culturel + outils)
Objectif : mettre en place une web app de contrôle MPD (radio réveil) avec le framework Flask sur RaspberryPi
Timing : 2 mois (fin mars)
Niveau : débutant avancé (cf multiples essais sur Raspberry + tutos + bouquin) et pour le projet en question j'ai des bouts de codes (fonctions), un début de site mais je manque cruellement d'organisation et de vision globale.
Code : accessible sur mon Raspberry Pi depuis l'extérieur en SSH + GIT si besoin, c'est le bazar et ça fait aussi partie de mes problèmes
Problématique : conception Objet (comment orienter mon code objet ? est ce nécessaire ? pertinent….?) Bug module python-crontab, Gestion API (OAuth)
"Cahier Des Charges" : accessible ici (mot de passe = raspython)


Voila comme il me semble que devrait commencer un projet de mentoring, la définition des objectifs, attentes, présentation....
La suite des aventures de l'APiClock ( nom du pojet de radio réveil connecté) sous peu et surtout le point de vue de Julien sur ce premier article !

Partager cet article sur :


Écrire un commentaire

Quelle est la dernière lettre du mot cwtmve ? :