Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. PHP et JavaScript
  3. Mise en pratique
Extrait - PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés)
Extraits du livre
PHP et JavaScript Dynamisez vos sites et applications web (avec exercices et corrigés) Revenir à la page d'achat du livre

Mise en pratique

Exercice 1 - Manipulation des tableaux

1. Énoncé

Voici un petit exercice pour vous entraîner à coder, pour chaque partie de l’exercice sera précisé s’il faut écrire du code PHP ou JavaScript, bien entendu HTML et CSS sont autorisés, à vous de concevoir votre code comme vous le souhaitez, il n’y a pas une seule réponse.

Le but de cet exercice est de réaliser une petite application de gestion des notes pour les étudiants en utilisant les tableaux.

1/ En PHP, initialisez le tableau associatif "etudiants".

2/ En PHP, insérez les notes de 4 étudiants - Pierre (12), Paul (8), Jacques (17) et Carole (5) - et affichez le tableau, ainsi que le nombre d’éléments du tableau.

3/ En PHP, supprimez la note de Carole et affichez le tableau, ainsi que le nombre d’éléments du tableau.

4/ En PHP, insérez un nouvel étudiant Marie (15), affichez le tableau, et le nombre d’éléments.

5/ Ajoutez un bouton en PHP, puis une fonction JavaScript qui affichera en vert les notes supérieures ou égales à 10 et en rouge les notes strictement inférieures à 10 quand on clique sur le bouton.

6/ En JavaScript, ajoutez un bouton qui permettra de calculer la moyenne des notes affichées à l’écran.

2. Réponses

a. Question 1

1. En PHP, initialisez le tableau associatif "etudiants".

Pour déclarer un tableau en PHP, vous avez deux possibilités :


<?php  
  $etudiants = array(); 
  $etudiants = []; 
?>
 

b. Question 2

2. En PHP, insérez les notes de 4 étudiants - Pierre (12), Paul (8), Jacques (17) et Carole (5) - et affichez le tableau, ainsi que le nombre d’éléments du tableau.

Voici comment procéder pour insérer des éléments dans le tableau. Là encore, vous avez plusieurs possibilités. À la déclaration comme ceci, n’oubliez pas qu’il s’agit d’un tableau associatif, de la forme clé/valeur :


<?php  
  $etudiants = array( 
    "Pierre" => 12, 
    "Paul" => 8, 
    "Jacques" => 17, 
    "Carole" => 5, 
  ); 
?>
 

La deuxième...

Exercice 2 - Manipulation des classes

1. Énoncé

Vous trouverez ci-dessous un exercice simple sur la manipulation des classes en PHP.

1. Définissez une classe gestionChaine contenant un attribut privé strChaine qui contiendra la valeur "Bonjour !" par défaut.

2. Définissez une méthode publique affiche() qui affichera le contenu de l’attribut strChaine.

3. À l’instanciation de cette classe, vous devez pouvoir modifier la valeur de l’attribut strChaine.

4. Définissez une méthode publique maj() qui retournera le contenu de strChaine en majuscules.

5. Utilisez les méthodes que vous avez définies pour instancier la chaîne "Bonjour, ceci est un exemple simple de manipulation des classes en PHP", puis affichez cette chaîne en majuscules.

2. Réponses

Vous pouvez vous reporter au chapitre Les objets pour pouvoir réaliser cet exercice.

a. Question 1

1. Définissez une classe gestionChaine contenant un attribut privé strChaine qui contiendra la valeur "Bonjour !" par défaut.

On utilise le mot-clé class pour définir une nouvelle classe, il suffit de mentionner son nom comme ceci :


<?php 
  class gestionChaine { 
 
  } 
?>
 

Vous devez maintenant définir un attribut privé, qui contient une valeur par défaut. Vous devez procéder ainsi :


<?php ...

Exercice 3 - Manipulation des classes (complet)

1. Énoncé

1. Créez une classe Personne contenant quatre attributs privés, nom, prenom, age, poids, ainsi que deux méthodes publiques, manger() et se_deplacer(). Pour le moment, créez simplement le squelette des méthodes (laissez les vides). Puis, créez tous les accesseurs (getters et setters) de tous les attributs et enfin, définissez le constructeur de la classe qui prendra quatre arguments en paramètres.

2. Créez deux nouvelles classes, Professeur et Etudiant, qui héritent de la classe Personne, ayant chacune un attribut, taille et couleur_cheveux, et une méthode chacune, marcher() et courir(). Là aussi, les attributs seront privés et les méthodes publiques (et vides). Puis, créez les accesseurs de leurs attributs.

3. Créez deux classes, Mathématicien et Professeur_Langue, qui héritent de la classe Professeur contenant chacune un attribut, nombre_heures_cours et langue_enseignée, ainsi qu’une méthode chacune donner_cours() et ajouter_langue(). Puis, créez les accesseurs de leurs attributs.

4. Créez deux personnes, Porito Georges, 35 ans, 80 kg et Bally Estelle, 19 ans, 45 kg.

Modifiez la méthode manger() pour indiquer la personne qui mange avec le message "X est en train de manger", où X est le Prénom Nom de la personne, et faites augmenter le poids de 150 grammes chaque fois qu’une personne mange. Faites manger les deux personnes et affichez leurs poids.

5. Ajoutez une méthode afficher_poids() dans la classe Personne qui affichera le poids tel qu’on l’a affiché à l’écran sur la question 4, et faites appel à cette méthode dans la méthode manger().

Implémentez les méhodes marcher() et courir(), qui font respectivement perdre 50 grammes et 100 grammes aux personnes, par heure de marche ou de course, qui affichent le nouveau poids des personnes après avoir marché ou couru. Créez un nouveau professeur (Jean Fontis, 44 ans et 72 kg), ainsi qu’une étudiante (Rachel Zimerman, 21 ans, 50 kg). Faites marcher le professeur pendant une heure et courir l’étudiante pendant deux heures.

6. Modifiez votre classe Personne pour la rendre abstraite et redéfinissez...

Exercice 4 - Manipulation de JavaScript

1. Énoncé

1. Prenez l’exemple de code ci-dessous, puis écrivez une fonction JavaScript qui va être appelée lorsque l’utilisateur va cliquer sur le bouton. Au clic, affichez une boîte de dialogue qui demande l’année de naissance à l’utilisateur, puis vérifiez qu’il s’agit bien d’un numérique, et enfin, affichez l’âge calculé dans le document, à l’emplacement du paragraphe dont l’identifiant est idAge.

On va simplement s’attarder sur le calcul d’une date de naissance uniquement en fonction de l’année, ne vous préoccupez pas du mois et du jour.


<html> 
 
<head> 
  <title>Exercice Javascript</title> 
  <meta http-equiv="Content-Type" content="text/html;  
charset=ISO-8859-1"> 
 
</head> 
<body> 
 
<h1>Chapitre 27 - Exercice Javascript</h1> 
 
<p>Cet exercice va permettre de calculer votre age<br>  
en fonction de l'annee de naissance 
</p> 
<button>Saisissez votre annee de naissance</button> 
<p id="idAge"></p> 
 
</body> 
</html>
 

2. Prenez l’exemple de code ci-dessous, puis, au survol de la souris sur le texte du paragraphe, modifiez la police pour qu’elle ait une taille de 30 pixels, que le texte s’affiche en italique et en rouge :


<html> 
 
<head> 
  <title>Exercice Javascript</title> 
  <meta http-equiv="Content-Type" content="text/html;  
charset=ISO-8859-1"> 
</head> 
<body> 
 
<h1>Chapitre 27 - Exercice Javascript</h1> 
 
<p>Cet exercice va modifier l'affichage de ce paragraphe, <br>  
police, style et couleur vont changer au survol de la souris! 
</p> 
 
</body> 
</html>
 

3. Prenez l’exemple de code ci-dessous, puis complétez la fonction ajouterInvite() qui est appelée lorsque l’utilisateur clique sur le bouton Ok, le but est de pouvoir ajouter un élément à liste déjà existante. Dans un second temps, on va ajouter...

Exercice 5 - PHP, MySql et Ajax

1. Énoncé

Le but de cet exercice est d’utiliser plusieurs technologies à la fois. On va utiliser une base de données MySQL en reprenant la table vehicules que l’on a créée au chapitre Les bases de données SQL et dont voici un aperçu du contenu :

images/27RI09.png

Voici de quoi la constituer si vous ne l’avez pas en votre possession :

Ci-dessous, la commande à exécuter dans votre logiciel de gestion de bases de données (par exemple phpMyAdmin dans l’onglet SQL). Attention, les deux requêtes ci-dessous sont spécifiques à MySQL, adaptez-les si vous utilisez un autre moteur de base de données.


CREATE TABLE IF NOT EXISTS `vehicules` ( 
  `immatriculation` varchar(10) NOT NULL, 
  `marque` varchar(30) NOT NULL, 
  `modele` varchar(30) NOT NULL, 
  `couleur` varchar(20) NOT NULL, 
  `id_proprietaire` int(11) NOT NULL, 
  PRIMARY KEY (`immatriculation`), 
  KEY `marque` (`marque`,`modele`,`couleur`,`id_proprietaire`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 

Puis, exécutez la requête ci-dessous pour insérer quelques enregistrements :


INSERT INTO `vehicules` (`immatriculation`, `marque`, `modele`, 
`couleur`, `id_proprietaire`) VALUES 
('FG-444-GF', 'Audi', 'A1', 'Noire', 5), 
('ER-666-RE', 'Audi', 'Q5', 'Noire', 9), 
('GH-123-GF', 'BMW', '325', 'Grise', 6), 
('DE-333-ED', 'Peugeot', '207', 'Grise', 3), 
('AB-111-BA', 'Peugeot', '308', 'rouge', 1), 
('BC-222-CB', 'Renault', 'Clio', 'verte', 2), 
('IJ-555-IJ', 'Toyota', 'Celica', 'Blanche', 7);
 

1. Affichez un formulaire avec une liste déroulante de l’ensemble des immatriculations proposées dans la table vehicules, en utilisant une requête SQL.

2. À l’aide d’Ajax et de PHP, affichez à l’écran les informations relatives à l’immatriculation sélectionnée dans la liste déroulante (vous pouvez utiliser des fichiers annexes si vous le souhaitez).

2. Réponses

a. Question...