fantasticode.fr
Image default

10 exercices de PHP pour progresser (avec corrections)

En bref

Voici 10 exercices de PHP progressifs avec leur piste de correction, pensés pour la spécialité du langage : fabriquer des pages dynamiques et traiter des formulaires. Au programme : la page qui affiche la date du jour (echo et fonctions natives), le bonjour qui change selon l’heure (conditions), la table de multiplication générée (boucle qui écrit du HTML), la liste de courses depuis un tableau (foreach), le carnet de contacts en tableaux associatifs, le formulaire de salutation (ta première boucle complète GET/POST), la calculatrice à deux champs (validation de saisie), le compteur de mots d’un texte soumis, le mini quiz noté, et le livre d’or en session — la synthèse qui fait persister les données le temps d’une visite. Prérequis : un serveur local qui tourne. Règle d’or inchangée : 15 à 20 minutes de recherche sérieuse avant chaque piste, et var_dump comme lampe torche.

Le PHP s’apprend en fabriquant des pages qui bougent — des pages dont le contenu dépend de l’heure, d’un calcul, d’une saisie. Ces 10 exercices de PHP suivent la progression de nos bases du PHP et montent jusqu’au traitement de formulaires, le cœur du métier présenté dans apprendre le PHP. Lance ton serveur local : chaque exercice se vit dans le navigateur, à l’adresse localhost.

Exercices 1 à 5 : des pages qui se fabriquent toutes seules

  1. La page datée. Une page qui affiche « Nous sommes le [date du jour] » — fraîche à chaque rechargement. Piste : echo et la fonction native date() avec son format (« d/m/Y ») ; ta première preuve qu’une page PHP est fabriquée à la demande, pas figée dans un fichier.
  2. Le bonjour horaire. « Bonjour », « Bon après-midi » ou « Bonsoir » selon l’heure du serveur. Piste : date(« H ») renvoie l’heure, une cascade de conditions if/elseif/else choisit le message — compare le résultat avec l’horloge de ta machine.
  3. La table de multiplication. La table de 7 affichée en liste HTML, générée par le code. Piste : une boucle for de 1 à 10 dont chaque tour echo une ligne de liste — ta première boucle qui écrit du HTML, le geste fondateur du langage.
  4. La liste de courses. Un tableau $courses affiché en vraie liste à puces. Piste : foreach parcourt le tableau et echo chaque élément entre balises li — modifie le tableau, recharge, la page suit : c’est la séparation données/affichage en miniature.
  5. Le carnet de contacts. Trois contacts (nom, ville, email) affichés en fiches structurées. Piste : un tableau de tableaux associatifs, un foreach qui pioche $contact[« nom »] et consorts — la combinaison qui fait tourner la moitié du web dynamique, en version miniature.

Exercices 6 à 10 : formulaires, saisie et première persistance

  1. Le formulaire de salutation. Un champ prénom, un bouton, et la page qui répond « Bonjour Sami ! » après envoi. Piste : un form en méthode post, puis $_POST[« prenom »] lu côté PHP — avec le double réflexe : vérifier l’existence de la donnée (isset) et l’échapper à l’affichage (htmlspecialchars). Ta première boucle complète utilisateur → serveur → page.
  2. La calculatrice. Deux champs numériques, un choix d’opération, le résultat affiché. Piste : valide que les saisies sont bien numériques (is_numeric) avant de calculer, et gère la division par zéro avec un message propre — la validation est la vraie leçon de l’exercice, pas le calcul.
  3. Le compteur de mots. Une zone de texte, et au retour : nombre de mots et de caractères du texte soumis. Piste : str_word_count et strlen font le travail — puis affiche le texte original échappé, pour prendre l’habitude de ne jamais réafficher une saisie brute.
  4. Le mini quiz. Trois questions à choix (boutons radio), une note sur 3 au retour, avec la correction affichée. Piste : compare chaque $_POST à la bonne réponse, incrémente un score — et découvre le cas du bouton non coché, ton premier vrai débogage de formulaire (isset, encore lui).
  5. Le livre d’or. Un champ message, et la liste de tous les messages laissés depuis le début de ta visite. Piste : session_start en tête de page, un tableau stocké dans $_SESSION qui accumule les messages à chaque envoi — ta première persistance. Elle s’efface avec la session : la version définitive attend le SQL, prochaine étape naturelle du parcours.

La méthode : var_dump, validation, et le réflexe sécurité

Trois habitudes de travail décuplent la valeur de la série. var_dump est ta lampe torche : cette fonction affiche le contenu exact et le type de n’importe quelle variable — un var_dump($_POST) en haut de page te montre précisément ce que le formulaire a envoyé, et dissout la moitié des mystères en une seconde. Valide tout, toujours : chaque exercice à formulaire doit survivre au champ vide, à la lettre là où tu attends un chiffre, au bouton non coché — teste toi-même ces cas tordus, c’est l’entraînement qui te distingue. Échappe chaque sortie : htmlspecialchars sur toute donnée utilisateur réaffichée, sans exception, dès le premier exercice — la sécurité n’est pas un chapitre avancé, c’est une hygiène de départ, et les bonnes pratiques officielles de la documentation PHP la martèlent à raison.

Un exercice par jour, chaque réussite prolongée d’une variante (la calculatrice avec une quatrième opération, le quiz avec compteur de tentatives, le livre d’or avec l’heure de chaque message), et en dix jours le PHP dynamique devient un réflexe. La suite logique du chemin : brancher une vraie base de données pour que le livre d’or survive à la fermeture du navigateur — c’est exactement le programme de nos exercices de SQL — puis assembler le tout en formulaire de contact complet. Et pour un flux d’entraînement continu au-delà de cette page, les sites d’exercices gratuits et les défis quotidiens gardent la flamme allumée.

Questions fréquentes

Quels exercices PHP pour un débutant complet ?

Commence par les pages générées sans saisie : afficher la date, un message selon l’heure, une table de multiplication en boucle, une liste depuis un tableau. Puis passe aux formulaires — salutation, calculatrice, quiz — qui font travailler $_POST, la validation et l’échappement, le vrai quotidien du PHP.

Comment déboguer un exercice PHP qui ne marche pas ?

Trois gestes : active l’affichage des erreurs sur ton environnement local, pose des var_dump sur tes variables clés (dont $_POST entier pour les formulaires), et lis le message d’erreur PHP — il donne le fichier et la ligne. Une page blanche cache presque toujours une erreur de syntaxe à retrouver ainsi.

Pourquoi utiliser htmlspecialchars dans des exercices de débutant ?

Parce que réafficher une saisie utilisateur sans l’échapper est la faille la plus classique du web (l’injection de code dans la page), et que les réflexes de sécurité s’installent par la répétition dès le premier formulaire — pas en les reportant à un hypothétique chapitre avancé.

Que faire après ces 10 exercices PHP ?

Ajoute la persistance réelle : apprends les bases du SQL et transforme le livre d’or ou le carnet de contacts en application qui garde ses données pour de bon. C’est la jonction PHP + base de données qui ouvre les vrais projets — blog, espace membre, petite boutique.

Sources

Cet article a une vocation informative et pédagogique. Les plateformes, outils et formations éventuellement cités le sont à titre d’exemple ; compare plusieurs options avant de t’engager ou de payer.