Home Généralités Projet de BDD pour exercices

Menu principal

Informatique

Mathématiques

Base de données pour exercices de programmation
Informatique - Généralités
Écrit par Arnaud Kientz   
Index de l'article
Base de données pour exercices de programmation
1 - MySQL
2 - PHP et XHTML
3 - CSS et JAVASCRIPT
4 - Screenshots et conclusion
Toutes les pages

mysql

 

Assez rapidement dans le métier, la masse d'exercices traités devient immense, difficilement gérable. Les fichiers s'entassent, et bien que classés par thèmes, par chapitres, il est difficile d'avoir du recul, tout simplement parce qu'un exercice peut apparaitre dans plusieurs chapitres, de manières différentes, avec des pré-requis différents. L'idée de Christophe Poulain sur son excellent site Mélusine est de classer les exercices dans une base de donnée, idée qui ne me serait pas venue avant. Mais au lieu de classer par répertoires, j'ai décidé d'associer des tags à chaque exercice, un même exercice pouvant apparaitre à plusieurs moments d'une progression. Par exemple, en parlant d'exercices de programmation, un exercice de tri de liste peut tout aussi bien apparaitre dans le chapitre sur les listes que dans les boucles, tout dépend de la progression que l'on choisit.

 

Cahier des charges

 

Avant d'aller plus loin, il a fallu que je fasse un cahier des charges du projet :

 

  • chaque exercice doit avoir un titre et du contenu,
  • le nombre de tags par exercice peut être variable,
  • il faut un formulaire permettant d'ajouter des exercices et des tags,
  • il faut pouvoir préciser si un exercice est apparu dans une interrogation ou non,
  • il faut un formulaire permettant d'effectuer une recherche d'une manière agréable,
  • le formulaire de recherche doit contenir tous les tags et donc être mis à jour lors de la modification de la base,
  • il faut une possibilité d'afficher tous les exercices,
  • sur la page des résultats de recherche, il faut une possibilité de modifier/effacer une entrée,
  • l'affichage et les informations doit permettre un minimum de confort ( lisibilité, nombre d'exercices, nombre de résultats, etc... ).

 

Choix des outils

 

Etant utilisateur d'OpenOffice, je me suis naturellement dirigé vers celui-ci pour un premier essai, à l'aide du programme OOoBase. Après plusieurs tentatives et plusieurs lectures de tutoriels sur le web, il fallait se mettre à l'évidence : même si je pense que cela est réalisable avec ce logiciel, je n'arrive pas à maitriser l'interface graphique pour réaliser exactement ce que je veux. Je dois chercher pendant un temps fou les options dans des menus dont la logique ne parait pas toujours naturelle, et au final cela ne me plait pas. Attention, je ne suis pas en train de critiquer ce logiciel, je dis juste que je n'ai pas réussi à l'utiliser comme je le voulais.

 

Comme j'ai pas mal travaillé avec php ces derniers temps, je me suis lancé avec le trio infernal php - mysql - xhtml. L'avantage est net : plus de souplesse, je peux faire ce que je veux avec ces langages. L'inconvénient nous tombe dessus aussitôt : il faut tout faire soi-même. Certes. Mais au bout de quelques heures et quelques centaines de lignes ( mon travail n'est sûrement pas optimisé ), je suis arrivé au résultat souhaité, et j'étais content d'avoir appris certaines astuces.

 

Pour synthétiser les langages en jeu :

 

  • mysql en tant que base de données pour stocker les exercices,
  • php pour traiter l'échange de données entre l'utilisateur et la base de données,
  • xhtml pour afficher les résultats sous forme de page web,
  • css pour le design de la page web,
  • javascript pour permettre une modification "agréable" des exercices.

 



Mise à jour le Mercredi, 11 Août 2010 12:18