BUT Informatique study plan
BUT Informatique · Give each week a clear focus.
8 weeks · About 7 hours per week
Réaliser un développement d'application & Optimiser des applications informatiques
Implémenter en Java ou Python trois structures de données classiques (liste chaînée, pile, file) sans utiliser les collections du langage, et les tester avec des cas limites
Écrire des tests unitaires couvrant au moins 80 % des branches du code produit à l'aide de JUnit ou pytest
Calculer la complexité temporelle en notation grand O de chaque méthode implémentée et documenter le résultat en commentaire
Configurer un dépôt Git local avec un historique de commits atomiques et un fichier .gitignore adapté au langage choisi
Your checkpoint
Un dépôt Git contenant les trois structures de données, la suite de tests exécutable et un fichier README indiquant la complexité de chaque opération
Optimiser des applications informatiques
Profiler une application existante avec un outil de mesure (cProfile, JProfiler ou VisualVM) et identifier les trois goulots d'étranglement principaux
Réécrire un algorithme de recherche naïf en version optimisée et mesurer le gain de temps sur un jeu de données de 10 000 éléments
Mettre en place un cache mémoire simple avec une politique d'expiration et comparer les performances avec et sans cache
Rédiger une note technique de 300 mots expliquant les compromis temps/mémoire des optimisations retenues
Your checkpoint
Un rapport de profilage avant/après avec tableau de mesures comparatives et graphique des temps d'exécution
Administrer des systèmes informatiques communicants
Installer et configurer une machine virtuelle Linux avec un serveur SSH durci (authentification par clé, désactivation du login root)
Écrire un script Bash idempotent qui déploie une application web simple derrière Nginx en tant que reverse proxy
Configurer un pare-feu avec nftables ou ufw en n'autorisant que les ports 22, 80 et 443
Automatiser la sauvegarde quotidienne d'un répertoire applicatif avec rotation des archives via cron et tar
Your checkpoint
Un script de déploiement reproductible et un journal de bord documentant la configuration réseau, les règles de pare-feu et la restauration testée d'une sauvegarde
Gérer des données de l'information & Réaliser un développement d'application
Concevoir un schéma relationnel normalisé en troisième forme normale pour un domaine métier choisi, avec contraintes d'intégrité référentielle
Écrire dix requêtes SQL couvrant jointures, agrégations, sous-requêtes et fenêtrage, et les valider contre un jeu de données de test
Implémenter dans le code applicatif une couche d'accès aux données paramétrée protégeant contre l'injection SQL
Indexer les colonnes filtrées et mesurer l'impact sur le plan d'exécution avec EXPLAIN
Your checkpoint
Un script SQL de création du schéma avec données de test, les dix requêtes commentées et une capture du plan d'exécution avant/après indexation
Conduire un projet
Découper un projet fictif en lots de travail estimés en jours-homme et les ordonner dans un diagramme de Gantt
Rédiger un cahier des charges fonctionnel de deux pages incluant périmètre, exclusions et critères d'acceptation
Identifier cinq risques projet et proposer pour chacun une mesure de mitigation chiffrée
Mettre en place un tableau de suivi Kanban avec colonnes, limites de travail en cours et définition de terminé
Your checkpoint
Un dossier projet comprenant cahier des charges, diagramme de Gantt, registre des risques et tableau Kanban exporté
Travailler dans une équipe informatique & Conduire un projet
Simuler une revue de code sur une contribution externe en produisant au moins cinq commentaires constructifs et priorisés
Rédiger des messages de commit et une description de pull request respectant une convention d'équipe documentée
Animer une rétrospective fictive en produisant un compte rendu structuré avec actions décidées et responsables
Documenter dans un wiki d'équipe les conventions de nommage, de branches et de formatage retenues
Your checkpoint
Un guide de contribution d'équipe versionné et un compte rendu de revue de code avec les corrections appliquées
Optimiser des applications informatiques & Administrer des systèmes informatiques communicants
Conteneuriser l'application des semaines précédentes avec Docker et un fichier compose incluant base de données et reverse proxy
Analyser les journaux d'un conteneur pour diagnostiquer une panne simulée et documenter la démarche de résolution
Réduire la taille de l'image Docker d'au moins 40 % via un build multi-étapes
Mettre en place une supervision minimale exposant l'état de santé des services et une alerte en cas d'indisponibilité
Your checkpoint
Un fichier compose fonctionnel, une image optimisée et un journal d'incident décrivant le diagnostic et la correction
Réaliser un développement d'application & Gérer des données de l'information
Réaliser un projet fil rouge intégrant API REST, persistance en base de données et tests automatisés
Rédiger la documentation technique et le guide d'installation du projet en respectant un format reproductible
Passer en revue l'ensemble des domaines du référentiel et cocher les compétences démontrées par une preuve concrète
Simuler un entretien technique de trente minutes en expliquant à voix haute trois choix d'architecture du projet
Your checkpoint
Un projet fil rouge livré avec documentation, suite de tests verte et grille d'auto-évaluation des six domaines remplie
Milestones
Week 2: Les tests unitaires de la semaine 1 passent tous et le rapport de profilage montre un gain mesurable sur au moins un algorithme
Week 4: Le script de déploiement recrée un environnement fonctionnel depuis zéro sur une machine vierge, et le schéma relationnel est validé par les dix requêtes
Week 6: Le dossier projet est complet et une personne extérieure peut suivre le guide de contribution pour soumettre une modification
Week 8: Le projet fil rouge démarre via Docker, tous les tests passent et chaque domaine du référentiel est associé à une preuve vérifiable