CRUD : Gestion de données PHP/MySQL

Licence Informatique 2ème année

Youssef Chahir - Alexandre Niveau - Jean-Marc Lecarpentier

 

CRUD : Gestion de données PHP/MySQL

Notes de cours

Travail personnel

Objectifs

  • Application CRUD avec PHP et MySQL .
  • Se confronter à l'écriture de scripts pour un site de plusieurs pages.

Exercice 1 — Interface PHP/MySQL (Suite) #

Travail à faire

Le but du TP est de terminer votre architecture SCRUD commencée au TP précédent avec les fonctionnalités de base : Recherche, sélection, insertion, suppression, mise à jour des données en utilisant la classe Personne.

Partie I

Dans ce TP, nous allons reprendre les travaux des TP précédents :
  • Complétez le TP9 que vous avez précédemment réalisé.
  • Créez ensuite un nouveau répertoire nommé TP10 et reprenez le travail du TP9 en l'adaptant cette fois avec l'utilisation des requêtes préparées.
  1. Dans le ficher donnees.php, nous alons reprendre la classe Personne créée précédemment :
    • Attributs :
      • string $nom et string $dateN : Nom et date de naissance de la personne. // Fait
      • int $idP : idP de la personne
    • Méthodes :
      • Un constructeur __construct() pour initialiser les attributs.
      • Une méthode __toString() pour afficher les détails d'une personne.
      • Une méthode enregistrer() pour enregistrer dans le base de données, les informations saisies via le formulaire. Elle renvoie true si les données sont enregistrées dans la base et false sinon.
      • Une méthode modifier(string $nom, string $dateN): bool pour modifier les données de la personne dans la base de données
      • Une méthode supprimer(): bool pour supprimer la personne. Elle renvoie true si les données sont supprimées de la base et false sinon.
  2. Intégrer cette classe dans votre index.php :
    • Utiliser la méthode enregistrer() pour l'insertion des données d'une personne.
    • Afficher la personne, avec ses attributs, après insertion.
    • Utiliser la méthode modifier($nouveau_nom, $nouvelle_date_naissance) pour la modification.
    • Utiliser la méthode supprimer() pour la suppression de la personne.
    • Afficher la personne, avec ses attributs, après insertion.
    • Lors de la modification ou de la suppression d'une personne, vous pouvez transmettre des instances d'objets. Vous pouvez utiliser les fonctions serialize() et unserialize().
      Remarque : Les fonctions serialize() et unserialize() sont principalement utilisées pour sérialiser des objets en chaînes de caractères, ce qui permet de les transmettre plus facilement et de les stocker dans une base de données (ou un fichier).
    Optionnel :

    Moteur de recherche: Ajouter un formulaire de recherche, écrire la requête de recherche correspondante sur un ou plusieurs attributs (séparés par +).

Partie II — Choix du sujet pour le projet (Pour les plus rapides)

L’énoncé du TP tilise le prétexte d'un site sur une Personne, mais pour votre devoir il faut choisir quelque chose d'autre, qu'on appellera un OBJET, qui soit différent pour chaque étudiant·e. Cela pourra être par exemple un évenement culturel, historique, un produit …

Le projet à faire consiste à développer un site web interactif permettant aux utilisateurs de consulter, d'ajouter, de mettre à jour et de supprimer des données, conformément au paradigme SCRUD (Search, Create, Read, Update, Delete) en PHP en utilisant la base de données.

La contrainte est que vos OBJETS doivent avoir au moins trois attributs de type : chaîne de caractères, numérique et autres.

Préférez un sujet original (en particulier, autre chose que votre page perso, et autre chose que les Pokémon); mais vous ne serez pas jugé·e sur le choix du sujet. Cependant, ne reprenez pas tels quels les OBJETS «Personne»,«poème», ... manipulés en cours et en TP.

Les pages de votre site doivent contenir des contenus en adéquation avec le sujet choisi, en respectant les règles de propriété intellectuelle (citer vos sources) que ce soit pour les textes ou pour les images, etc.

Travail à rendre individuellement.

Le site complet est à mettre en ligne sur votre serveur personnel, avec la page d'accueil à l’URL : https://dev-NUMETU.users.info.unicaen.fr/TW3-2025/devoir/index.php

Un fichier zip nommé NUMETU-nom-prenom.zip (sans espaces, accents ou caractères spéciaux) contenant l’ensemble du dossier devoir/ sera déposé sur ecampus.

Date limite : Vendredi 2 mai 18h. Tout retard sera pénalisé.