Exercice PHP – Cours 4 (2026)

Exercice 1

Créer une classe “Etudiant”. Cette dernière possède les attributs privés suivants:

  • Nom
  • Prénom
  • Code permanent
  • Credits Complétés

Créer les fonctions suivantes:

  • Constructeur (Prend prénom et nom en paramètre. Le code permanent est vide initialement et le nombre de crédit complété est toujours de 0 initialement)
  • CreerCodePermanent: (initialise la valeur de l’attribut “Code permanent”. Le code permanent est composé des 3 premières lettres du nom suivi des 3 premières lettres du prénom, tout en majuscule)
  • AjouterCoursComplete (ajoute 3 crédits complétés)
  • ChangerNom (permet de changer le nom avec un nouveau nom passé en paramètre)
  • ChangerPrenom (permet de changer le prénom avec un nouveau prénom passé en paramètre)
  • AfficherProfile (affiche le nom suivi du prénom, séparé par une virgule ainsi que le nombres de crédits et le code permanent de l’étudiant)

Exercice 2

En utilisant les concepts appropriés, représentez la situation suivante:

  • Un répertoire possède un nom
  • Un fichier possède un nom et une taille (valeur numérique qui représente le nombre d’octets).
  • Un répertoire possède une liste de fichier et une liste de répertoire.
  • Chaque répertoire et chaque fichier doit connaitre son répertoire parent (S’il en a un) ainsi que ses répertoires et fichiers enfants.
  • Un fichier doit offrir une méthode “obtenirCheminAcces” qui retournera la séquence des répertoires parents séparées par des barres obliques et qui termine par le nom fichier (Ex. Document/Devoir/ProjetDeSession.zip)

Représentez l’arborescence suivante:

  • Document
    • Devoir
      • ProjetDeSession.zip
    • Voyage
      • Caraibe
        • Itinéraire.pdf
        • BilletAvion.png
    • Maison
      • CertificatDeLocalisation.pdf

Exemple

Résultat:

Exercice 3

Créez une classe “Mathematiques” qui offre les fonctions suivantes:

  • ValeurAbsolue: Retourne la valeur positive d’un nombre passé en paramètre
  • Factoriel : Retourne le produit de tous les nombres de 1 jusqu’à un nombre passé en paramètre (Ex. Factoriel(5) = 5 * 4 * 3 * 2 * 1)
  • RacineCarre: Retourne la racine carrée d’un nombre passé en paramètre
  • MaxTableau: Retourne le plus grand nombre se trouvant dans un tableau passé en paramètre
  • Division: Retourne la division de A par B qui sont passés en paramètre
  • Facteur: Affiche tous les facteurs entiers d’un nombre passé en paramètre (Ex. 20 = 1, 2, 4, 5, 10, 20)

Créer les exceptions suivantes:

  • Factoriel: Lance une exception de type “ValeurNegativeException” si on lui fournit une valeur inférieure à 0
  • RacineCarre: Retourne une exception de type “ValeurNegativeException” si on lui fournit une valeur inférieure à 0
  • Division: Lance une exception de type “ValeurNegativeException” si on lui fournit un diviseur inférieure à 0
  • Facteur: Lance une exception de type “ValeurIncorrecteException” si on lui fournit une valeur inférieure à 2

Exercice 4

Représentez la situation suivante en créant des objets différents pour tous les concepts soulignés:

  • Un robot à 2 bras, 2 jambes, 1 tete
  • Un bras a un certain nombre de doigts, et une tete peut avoir une expression parmi la liste suivante: sourire, neutre, rire (Si on donne autre chose, lancer une exception)

Le robot offre une fonction “meDecrire()” qui affiche le message suivant en insérant les valeurs appropriées:

  • Je suis un robot et j’ai __ doigts sur ma main droite et __ doigts sur ma main gauche. Mon expression faciale est _______.

L’utilisation des classes peut ressembler à ceci: