Aperçu du projet
Cette application permet de gérer les stages au sein du département informatique de l'IUT de Clermont-Ferrand. Elle facilite le suivi des étudiants, des entreprises partenaires et des offres de stage.
Fonctionnalités principales
Gestion des étudiants
Suivi des profils, compétences et préférences de stage.
Suivi des candidatures
Traçabilité complète du processus de candidature.
Galerie
Processus de développement
1. Analyse des besoins
J'ai commencé par une analyse approfondie des besoins du département informatique concernant la gestion des stages, en identifiant les points de friction dans le processus existant.
2. Conception des structures de données
J'ai conçu des structures de données optimisées pour stocker et manipuler efficacement les informations relatives aux étudiants, entreprises et stages.
Défis rencontrés et solutions
🔍 Gestion de la mémoire
Défi : Éviter les fuites mémoire avec les structures dynamiques. Solution : J'ai implémenté des fonctions de libération systématiques et testé rigoureusement chaque allocation/désallocation.
📊 Conception des structures de données
Défi : Concevoir des structures efficaces pour gérer étudiants, entreprises et stages. Solution : Analyse approfondie des besoins, création de schémas, puis implémentation de structures optimisées avec listes chaînées.
💾 Persistance des données
Défi : Sauvegarder et charger les données depuis des fichiers. Solution : Implémentation d'un système de sérialisation/désérialisation avec gestion d'erreurs robuste.
Ce que j'ai appris
Ce projet m'a permis de maîtriser les concepts essentiels du C : pointeurs, allocation dynamique, structures, et gestion des fichiers.
J'ai appris à concevoir et implémenter des structures de données adaptées aux besoins réels d'une application, en pensant à l'efficacité et à la maintenabilité.
Avant de coder, j'ai dû analyser les besoins du département, identifier les points de friction, et proposer une solution adaptée. Une compétence essentielle en développement.
J'ai développé mes compétences en debugging, notamment pour détecter les erreurs de pointeurs et les fuites mémoire, en utilisant Valgrind et GDB.
Conclusion
Ce projet m'a permis d'apprendre les bases du C et de manipuler différentes structures de données dans un contexte professionnel. Il m'a également enseigné l'importance de l'analyse de besoins avant le développement.