Afin de pouvoir accéder aux agrégats (moyenne et compte), il faut les nommer à l’aide d’un alias, par exemple
AVG(Note) AS Moyenne. Fermer le curseur. Tester. Si Python ne renvoie pas d’erreur, ça fonctionne… peut-
être !
4. À des fins de vérification, à la suite de l’exécution de la requête, parcourir le curseur et afficher pour
chacune de ses lignes l’intitulé de matière, la moyenne et le nombre de notes par matière. Tester.
5. Afin de faciliter la génération des graphiques, on va stocker les données du curseur dans trois listes :
listeIntitules, listeMoyennes et listeNb.
Juste avant le curseur, initialiser les trois listes à vide.
Dans la boucle de parcours du curseur, ajouter à listeIntitules, listeMoyennes et listeNb l’intitulé de
matière, la moyenne et le nombre de notes par matière, respectivement. L’affichage de ces données
mis en place à la question 4 peut être mis en commentaire.
Juste après la boucle, insérer l’instruction suivante, qui crée une plage de données indéterminées
dont le nombre de valeurs est égal aux nombres de lignes du curseur. Cette liste servira à la création
des graphiques.
colonnes = range(len(listeIntitules))
6. Vérifier que le code fonctionne.
Génération de la page web
1. Après le code déjà écrit dans votre fichier Python, affectez à une variable de nom codeHTML et de type
chaîne de caractères multiligne le début du code HTML d’une page web (<html><head>…</head><body>),
puis définissez un tableau (<table>…</table>) de légende (<caption>…</caption>) « Moyenne et nombre de
notes par matière » dont la ligne (<tr>…</tr>) d’entête contient trois colonnes (<th>…</th>) : Matière,
Moyenne et Nb.
2. Dans une boucle « pour » sur la plage colonnes définie à la question 6 ci-dessus, concaténer à codeHTML
une ligne (<tr>…</tr>) dont les colonnes de données (<td>…</td>) sont listeIntitules[i], listeMoyennes[i] et
listeNb[i], en supposant que i soit l’indice de boucle. listeMoyennes[i] et listeNb[i] étant des nombres, il faut
les convertir en chaîne de caractères lors de la concaténation (fonction str()).
3. Concaténer à codeHTML la fermeture des balises HTML encore ouvertes (</table></body></html>).
4. Ouvrir le fichier nommé bd-web.html en écriture, y écrire le contenu de codeHTML, fermer le fichier.
5. Tester la création du fichier HTML et vérifier son apparence en l’ouvrant dans un navigateur web. Le cas
échéant, reprenez les étapes précédentes jusqu’à ce que le tableau s’affiche normalement dans le
navigateur.