Cours de Génie Logiciel
Thème :
Junior
1 vues ·7/13 leçons

TP IGL 244 - POO et Bases de Données Avancées

TP adaptés pour le cours IGL 244 - POO et Bases de Données Avancées, couvrant à la fois la programmation orientée objet (PHP) et l’administration MySQL :


TP 1 : Concepts de base de la POO et manipulation de classes

Objectif : Maîtriser la création de classes, l’instanciation d’objets, et l’utilisation des méthodes et attributs.
Tâches :

  1. Créez une classe Voiture avec les attributs : marque, modèle, couleur, vitesse.
  2. Ajoutez des méthodes : démarrer(), accélérer($valeur), freiner($valeur), afficherDetails().
  3. Instanciez 3 objets de type Voiture avec des valeurs différentes.
  4. Testez les méthodes sur chaque objet et affichez les résultats.
    Livrable : Script PHP fonctionnel avec sortie console ou HTML.

TP 2 : Encapsulation, getters/setters et validation

Objectif : Appliquer les principes d’encapsulation et de contrôle d’accès aux données.
Tâches :

  1. Reprenez la classe Voiture et rendez tous les attributs private.
  2. Implémentez des getters et setters avec validation :
    • setCouleur() : n’accepte que des chaînes non vides.
    • setVitesse() : doit être un entier positif.
  3. Testez avec des valeurs valides et invalides (utilisez try/catch si nécessaire).
    Livrable : Code source avec tests de validation et messages d’erreur explicites.

TP 3 : Héritage et polymorphisme

Objectif : Utiliser l’héritage pour spécialiser des classes et redéfinir des méthodes.
Tâches :

  1. Créez une classe Vehicule avec des attributs généraux (marque, année) et une méthode description().
  2. Créez deux classes filles : VoitureElectrique (avec autonomie) et Moto (avec cylindree).
  3. Redéfinissez la méthode description() dans chaque classe enfant pour inclure leurs spécificités.
  4. Instanciez chaque type et affichez leurs descriptions.
    Livrable : Script PHP avec hiérarchie de classes et sortie démontrant le polymorphisme.

TP 4 : Connexion MySQL et gestion basique d’une table

Objectif : Se connecter à MySQL et exécuter des opérations CRUD simples.
Tâches :

  1. Créez une base gestion_vehicules et une table vehicules (id, marque, modèle, année, couleur).
  2. Écrivez un script connexion.php pour établir la connexion avec gestion d’erreurs.
  3. Créez un formulaire HTML pour ajouter un véhicule et un script ajouter_vehicule.php pour l’insertion.
  4. Affichez tous les véhicules dans un tableau HTML.
    Livrable : Application web fonctionnelle avec formulaire et affichage des données.

TP 5 : Requêtes avancées et jointures

Objectif : Utiliser des requêtes complexes avec jointures et agrégats.
Tâches :

  1. Créez une table proprietaires (id, nom, email) et liez-la à vehicules via une clé étrangère.
  2. Affichez la liste des véhicules avec le nom de leur propriétaire (jointure INNER JOIN).
  3. Comptez le nombre de véhicules par propriétaire (GROUP BY + COUNT).
  4. Créez une vue vehicules_avec_proprietaires pour simplifier l’accès à ces données.
    Livrable : Scripts SQL et PHP avec requêtes, jointures, et utilisation d’une vue.

Critères d’évaluation communs :

  • Qualité et propreté du code (PHP/MySQL).
  • Respect des principes POO (encapsulation, héritage, etc.).
  • Gestion des erreurs et validation des données.
  • Documentation concise dans le code (commentaires).

Ces TP permettront aux étudiants de pratiquer les concepts clés du cours tout en développant des compétences applicables en contexte réel.

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur TP IGL 244 - POO et Bases de Données Avancées. Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.