Méthode de développement
- enseignement
- ECM
(18 + 3)h heures de cours pour apprendre le python objet, les bases de la gestion des sources avec git et la programmation par les tests. C'est la suite de ce que vous avez fait en 1A avec JEMNEP et I1 de MIE en 2A. Donc revenez en arrière s'il vous manque des connaissances.
Partie I : Travail préparatoire
3h
Cette partie est un condensé du cours de MIE-I1. Si vous voulez plus de contenu, n'hésitez pas à y jeter un coup d'œil.
Interpréteur, terminal et IDE
- Interagir avec le système :
- Installer un interpréteur et un IDE
Structure d'un projet informatique
- Séparer code et fonctions en créant ses propres modules
- Tester ses fonctions
Gestion des dépendances
- création d'un environnement virtuel pour ses projets
- mettre son code à disposition via un Dépôt sur github.
Partie II : Test Driven Development
6h
Vous devez pouvoir :
- utiliser un terminal
- créer et écrire des projets en python avec la trilogie main/fonction/tests
- créer un environnement virtuel et d'exécuter le projet avec son python,
- ajouter des modules à l'environnement et créer son fichier
requirements.txt
Le cours suivant va vous donner des bases de programmation objet en python :
On va découvrir tous ces concepts via le TD suivant, dont le but est de vous former au TDD :
Faite le TD de TDD dans un environnement virtuel.
Dans un projet informatique de moyen/grand ampleur on utilisera plus que des tests unitaires. Voir par exemple le lien suivant pour une introduction aux différents tests utilisés :
Entrainez vous :
Pour la prochaine fois, quatre groupes :
Travail à préparer
Partie III
3h
Design Pattern
On a vu le design pattern composite dans le projet TDD, il en existe de nombreux autres ! Découvrons en quelques uns souvent utiles :
Pour la prochaine fois 2 groupes :
Pour la prochaine fois, X groupes :
- choisissez un design pattern que l'on a pas vu à présenter
- pour quelqu'un qui connaît
git, comment s'en servir avec vscode.
Préparer un exposé de 5min chacun + support avec biblio et principales fonctionnalités.