Fichier généré par IA à partir des sources et de la liste des commits
TP Ouvertures - Cheminement pédagogique
Ce projet illustre la construction progressive d'un système de gestion de bâtiments avec leurs salles et ouvertures. L'historique Git permet de retrouver chaque étape du développement.
Parcours des étapes
Étape 00 - Démarrage du projet
Tag: etape00
- Classes importées initialement
- Pas de méthode main
- Définition du package non faite
Concepts abordés: Structure initiale d'un projet Java
Étape 01 - Première classe exécutable
Tag: etape01
- Ajout de la classe
ZeMain
avec une méthodestatic void main
Concepts abordés: Point d'entrée d'une application Java
Étape 02 - Développement de la classe Salle
Tag: etape02
- Implémentation complète de la classe
Salle
- Ajout des propriétés (numéro, liste des ouvertures)
- Création des constructeurs (par défaut et paramétré)
- Méthodes d'accès (getters/setters)
- Méthode
afficherInfos()
Concepts abordés:
- Encapsulation
- Constructeurs
- Collections (ArrayList)
- Association entre classes
Étape 03 - Spécialisation avec la classe Amphi
Tag: etape03
- Implémentation de la classe
Amphi
qui hérite deSalle
- Ajout de propriétés spécifiques (hauteurSousPlafond, sallesVoisines)
- Redéfinition de la méthode
afficherInfos()
Concepts abordés:
- Héritage
- Spécialisation
- Redéfinition de méthodes (override)
- Utilisation de
super
Étape 04 - Tests et validation
Tag: etape04
- Tests dans le main pour
Ouverture
,Salle
etAmphi
- Création d'instances
- Tests des méthodes d'affichage
Concepts abordés:
- Tests manuels
- Instanciation d'objets
- Manipulation des collections
Étape 05 - Gestion des bâtiments
Tag: etape05
- Implémentation de la classe
Batiment
- Gestion d'une liste de salles
- Ajout de tests dans le main
Concepts abordés:
- Composition
- Navigation dans les associations
- Agrégation d'objets
Étape 06 - Gestion des exceptions
Tag: etape06
(HEAD)
- Ajout d'une levée d'exception dans
Batiment::ajouterSalle(Salle s)
- Exemple de traitement d'exception dans le main avec try/catch
- Validation des paramètres (vérification de null)
Concepts abordés:
- Gestion des exceptions en Java
throw
etIllegalArgumentException
- Blocs try/catch
- Validation des entrées
- Différence entre exception traitée et non traitée
Navigation dans l'historique
Pour revenir à une étape spécifique :
git checkout etape00 # Remplacer par le numéro d'étape souhaité
Pour revenir à la version finale :
git checkout master
Pour voir les différences entre deux étapes :
git diff etape02 etape03
Structure du projet
src/travaux/
├── ZeMain.java # Point d'entrée avec tests
├── Ouverture.java # Classe de base pour fenêtres/portes
├── Salle.java # Classe représentant une salle
├── Amphi.java # Spécialisation de Salle
├── Batiment.java # Agrégation de salles
├── Responsable.java # (non utilisé dans ce TP)
└── autres classes...
Concepts Java couverts
- POO de base: Classes, objets, encapsulation
- Constructeurs: Par défaut et paramétrés
- Collections: ArrayList et manipulation
- Héritage: Extension de classes, super
- Polymorphisme: Redéfinition de méthodes
- Exceptions: Levée et traitement
- Associations: Composition et agrégation