Coulisses du projet
Pourquoi je construis une médiathèque en C++ sans une seule bibliothèque
Il y a un moment, dans tout parcours d'étudiant en informatique, où utiliser un outil ne suffit plus : on veut savoir ce qu'il y a dedans. C'est ce moment que je filme en ce moment sur ma chaîne, à travers un projet volontairement difficile : une médiathèque complète en C++, où aucune structure de données ne vient d'une bibliothèque externe.
Pas de std::vector. Pas de std::map. Pas de std::list, ni std::queue, ni std::stack. Chaque structure qui fait tourner l'application est écrite entièrement à la main, avec ma propre gestion de la mémoire et mes propres pointeurs.
Cinq structures, un seul projet
- Un arbre binaire de recherche pour ranger et retrouver les documents du catalogue.
- Une table de hachage maison pour accélérer les recherches directes.
- Une liste doublement chaînée pour l'historique des emprunts.
- Une file pour les réservations, dans l'ordre d'arrivée.
- Une pile pour certaines opérations d'annulation.
Chaque structure est reliée à une interface graphique Qt Widgets, pour une vraie application desktop, pas un simple exercice de console.
Pourquoi se compliquer la vie
Utiliser une structure de données sans savoir comment elle fonctionne à l'intérieur, c'est apprendre à moitié. En codant chaque structure moi-même, je suis obligé d'affronter chaque détail : équilibrage d'un arbre, gestion des collisions, fuite mémoire potentielle dans une liste chaînée.
Un projet filmé sans filtre
C'est exactement ce que montre ma chaîne : pas un projet fini et présenté proprement, mais un projet en train de se construire, avec les vraies difficultés qui vont avec.
Le projet médiathèque en C++ (zéro bibliothèque, structures faites main, interface Qt) avance chaque semaine sur ma chaîne.
Voir la dernière vidéo →