Skip to content

Objectifs du projet

Ce projet servira de fil conducteur tout au long de l’apprentissage du langage PHP.

L’objectif est de concevoir, étape par étape, une application web complète de type To-Do List. Ce projet simple permet d’aborder les concepts fondamentaux de PHP tout en gardant une finalité concrète et visuelle.

Objectifs pédagogiques

  • Comprendre le rôle de PHP dans une application web côté serveur.
  • Apprendre à manipuler les bases du langage :
    • Variables, tableaux, structures de contrôle
    • Fonctions, inclusion de fichiers
    • Superglobales $_GET / $_POST
  • Lire et écrire des données dans un fichier JSON pour simuler une base de données.
  • Gérer les interactions utilisateur : ajout, suppression, affichage conditionnel.
  • Organiser le code de façon modulaire, progressive et maintenable.
  • Mettre en place un environnement de développement moderne (via Docker ou conteneurs).

Objectifs fonctionnels

L'application devra permettre à un utilisateur de :

  • Visualiser la liste des tâches,
  • Ajouter une nouvelle tâche,
  • Supprimer une tâche existante,
  • Persister les données dans un fichier local (todos.json).

Le tout, en utilisant exclusivement du PHP, sans JavaScript, sans base de données, ni framework.

Déroulé pédagogique

Le projet sera découpé en plusieurs étapes progressives :

  1. Afficher une liste statique avec HTML + PHP
  2. Gérer les cas d'affichage conditionnel (liste vide, etc.)
  3. Ajouter une tâche via un formulaire HTML
  4. Persister les tâches en les sauvegardant dans un fichier JSON
  5. Supprimer une tâche via un lien
  6. Refactoriser le code avec des fonctions et des inclusions
  7. Améliorer l'application (statuts, dates, champs supplémentaires)
  8. Étendre le projet avec Tailwind CSS et une approche orientée objet