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 :
- Créez une classe
Voitureavec les attributs :marque,modèle,couleur,vitesse. - Ajoutez des méthodes :
démarrer(),accélérer($valeur),freiner($valeur),afficherDetails(). - Instanciez 3 objets de type
Voitureavec des valeurs différentes. - 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 :
- Reprenez la classe
Voitureet rendez tous les attributsprivate. - Implémentez des getters et setters avec validation :
setCouleur(): n’accepte que des chaînes non vides.setVitesse(): doit être un entier positif.
- Testez avec des valeurs valides et invalides (utilisez
try/catchsi 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 :
- Créez une classe
Vehiculeavec des attributs généraux (marque,année) et une méthodedescription(). - Créez deux classes filles :
VoitureElectrique(avecautonomie) etMoto(aveccylindree). - Redéfinissez la méthode
description()dans chaque classe enfant pour inclure leurs spécificités. - 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 :
- Créez une base
gestion_vehiculeset une tablevehicules(id, marque, modèle, année, couleur). - Écrivez un script
connexion.phppour établir la connexion avec gestion d’erreurs. - Créez un formulaire HTML pour ajouter un véhicule et un script
ajouter_vehicule.phppour l’insertion. - 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 :
- Créez une table
proprietaires(id, nom, email) et liez-la àvehiculesvia une clé étrangère. - Affichez la liste des véhicules avec le nom de leur propriétaire (jointure
INNER JOIN). - Comptez le nombre de véhicules par propriétaire (
GROUP BY+COUNT). - Créez une vue
vehicules_avec_proprietairespour 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.