Cahier des Charges

Besoin exprimé

Un département d'IUT souhaite préparer son jury de fin d'année à partir des notes données par les enseignants aux étudiants tout au long de l'année :

  • Les étudiants sont regroupés en promotions (ou année d'étude)
  • Les notes ont un coefficient dans chaque ressource.
  • Les ressources sont regroupées en U.E. Chaque ressource a un coefficient dans chaque UE.
  • Une compétence comporte plusieurs U.E en fonction des promotions
  • Il existe des modalités de passage définies au niveau des U.E, des compétences
  • Le passage à l'année supérieure ou l'attribution du diplôme de sortie est de droit si la modalité au niveau des UE est respectée (3 UE >10)

Outils

Excel[1] et/ou Fichiers CSV lisibles via Excel ou LibreOffice.

SQLiteBrowser-P28 : Editeur de base de données SQLite.

ConseilTD01 : Fichier SQL vers DB

Tutoriel SQL et SQLite - la partie SQL à déjà été vue ou non via les TP ACCESS ?

Table compétences : vous n'avez rien d'autre à faire que comprendre la structure de la table compétence, utiliser le navigateur de base de données DB Browser pour exécuter le code SQL de création de la table et d'insertion des données. Une fois les données visibles dans DB Browser, tester les requêtes SQL que l'on vous propose pour lire et extraire des données

EX_03_A1 : analogie avec une table promotions

Faire de même avec la table Promotions. Proposer :

  • un module avec des fonctions liées à la gestion des fichiers (supprimer, etc ...) nommé par exemple utilfichiers.py
  • un module pour gérer la base de données dans son ensemble (au niveau de la connexion) nommé utilbdd.py
  • un module pour chaque table competences.py, promotions.py, etc .....

Même si dans l'immédiat, vous n'avez qu'une procédure dans un module, il faut envisager le fait que l'on pourra avoir besoin d'en rajouter. On réfléchira notamment si le code pour chaque table se répète, si il ne serait pas opportun d'ajouter un module de gestion des tables.

On verra plus qu'avec les classes et la Programmation Orientée Objet (POO), on a des possibilités étendues d'optimisation du code.

Etapes

01 : Création table competences et ajout des données :

Ressource : Aparam.py :

  • Gestion de fichiers, dossiers, nom de fichier, extension de fichier.

01 var A1 : Fichier SQL vers bddSQLite via DB Browser (le fichier SQL existe déjà)

01 var B0 : PYTHON (Type liste-->dataframe PANDAS --> EXCEL)

01 var B1 : PYTHON -> Fichier Excel (avec panda) vers bddSQLite 

01 var B2 : PYTHON -> Fichier Excel (avec panda) vers bddSQLite  (panda)

Ressource :

Création de la classe DbManager

02 : Création table promotions et ajout des données :