L'objectif principal de ce module et de ces projets est de vous familiariser et de respecter les bonnes pratiques de programmation. En effet, la réalisation d'un projet (peu) fonctionnel qui brille n'est pas l'objectif premier, ce qui est important est la réalisation d'un code propre.
L'écriture d'un tel code est certes plus longue au début mais apporte un gain de temps énorme au fur et à mesure de la progression du projet. Il est à proscrire ce que l'on appelle les codes "spaghettis".
Pour cela vous devez donc mettre en pratique les connaissances acquises durant vos différents module de programmation en Python et d'algorithmique mais également des notions essentielles au développement d'applications telles que la modularité, la protection, la générécité, robustesse. Pour cela vous devrez respecter au maximum les PEP8 et PEP257 sur les conventions d'écriture du code et sur l'utilisation de documentation (commentaires). Vous devez également mettre en place pour vos fonctions des tests unitaires validant le bon fonctionnement des dites fonctions.
Dans ce cours, dans le but d'une meilleure acquisition de la notion de modularité, le langage Python devra être utilisé de maniètre purement impérative. Pour cela, vous devrez importer au début de vos programme le module pocketnoobj.py. Celui permettra une utilisation impérative des types de base (chaîne de caractères, listes, dictionnaires) et des fichiers.
Les différents Notebook suivant illustrent brièvement certains points particulier de python ainsi que les notions abordées pendant le cours et utiles à ce projet:
Ne pas oublier le fichier supplémentaire modulex.py et ne pas oublier non plus de créer dans le même répertoire le fichier paspermi sans droits de lecture avec la commande suivante:
touch paspermi
chmod -r paspermi
2018: The Maze
2017: Fourmis de Langton et l'application Android qui va avec fourmis_langton (réalisée avec la librairie Kivy)
2016: En garde
2015: Laser
2014: Duel dans le ciel