Bibliothèque numérique
Un gestionnaire de bibliothèque en ligne de commande, écrit en C++17. On consulte un catalogue page par page, on cherche un livre par ISBN ou par titre, on importe un fichier CSV, et on exporte le tout en page HTML.
Codé par moi, relu par l'IA. J'ai tapé le code C++ moi-même. L'IA m'a guidé sur la logique, a relu et corrigé mon code, puis a ajouté les commentaires et corrigé trois bugs avant la mise en ligne.
- Contexte
- BUT Informatique, 1re année
- Année
- 2025 – 2026
- Catégorie
- Logiciel
- Technologies
- C++17, STL, Makefile, Parsing CSV
3. Chercher → 2. Titre Titre a chercher : anomalie --- Livre n1 --- Titre : L'Anomalie | ISBN : 978-2072895098 Auteurs : Hervé Le Tellier
Le problème
Écrire en C++ un programme en ligne de commande pour gérer une bibliothèque, en suivant un cahier des charges.
Ce que fait le programme
- Liste les livres page par page, avec le détail de chacun
- Ajoute un livre, avec contrôle de l'ISBN (doublons) et de la date
- Importe un catalogue depuis un fichier CSV
- Cherche par ISBN ou par titre (sans tenir compte des majuscules)
- Exporte le catalogue en page HTML, classé par première lettre du titre sans l'article (« Le », « La », « L'… »)
- Enregistre les données dans un fichier et garde ses réglages (livres par page, logo) dans un fichier de configuration
Points techniques
- Import CSV : le résumé d'un livre est entre guillemets et peut contenir des points-virgules, donc le fichier ne peut pas être simplement découpé : il est lu champ par champ.
- Export HTML : un
std::maprange les livres par lettre, après avoir retiré l'article du titre. - Structure : le code est découpé en fichiers par rôle (livres, dates, menu, configuration).
Ce que j'ai fait, et l'IA
J'ai tapé le code C++ moi-même. Claude m'a guidé sur la logique de l'application, puis a relu mon code et m'a corrigé. Avant la mise en ligne, il a aussi ajouté les commentaires et corrigé trois bugs (détaillés dans le README du dépôt).
Limites
Les recherches parcourent la liste livre par livre : c'est suffisant pour un petit catalogue, pas pour un très gros.