Partie 3. Bibliothèque PHP

Cette troisième partie est dédiée à l'écriture d'une bibliothèque PHP que nous compléterons au fur et à mesure de l'avancée du projet. Pour l'instant, cette bibliothèque contiendra trois fonctions :

À la racine du site, créez un nouveau dossier lib dans lequel vous allez créer un fichier lib.php.

Création d'une clé

Dans le cadre de ce projet, nous n'allons pas développer un système d'authentification avec un identifiant et un mot de passe. Chaque liste de course sera accessible publiquement, mais sera protégé par une clé pour empécher des visiteurs indélicats d'accéder à des listes qui ne leur appartiennent pas. Plus tard (dans la section Création d'une nouvelle liste), la clé sera passée en paramètre dans l'URL de la page et servira de système de vérification. Même si ce principe n'est pas totalement fiable, il présente l'avantage de pouvoir être mis en oeuvre rapidement.

Pour l'instant, nous allons juste écrire la fonction de génération de la clé.

Ecrire une fonction generateKey($length = 32) qui retourne une clé aléatoire de longueur $length composée de :

La syntaxe suivante vous permet d'inclure la bibliothèque dans les scripts où vous souhaitez l'utiliser :

require_once('/chemin_a_modifier/lib.php');

Testez votre fonction avant de poursuivre.

Gestion des erreurs

Il est important, pour des raisons de sécurité et d'ergonomie, de traiter correctement les erreurs qui pourraient survenir. Pour permettre la flexibilité de notre architecture, nous allons rediriger tous les messages d'erreur vers la fonction errorManager($message, $url = NULL) que nous allons écrire dans la bibliothèque lib.php.

La fonction errorManager($message, $url = NULL) :

Écrire et tester la fonction.

Connexion à la base de données

Ecire une fonction dbConnect() qui va se connecter à la base de données :

Testez votre fonction avant de poursuivre.

Création d'une nouvelle liste

Écrire une fonction dbNewList($db, $name, $ukey = NULL) qui crée une nouvelle liste de courses dans la table lists. Les paramètres de la fonction sont :

Testez votre fonction avant de poursuivre.

Mise en oeuvre

Complétez le script new.php afin que ce dernier

Si une erreur survient pendant l'exécution du script, afficher un message approprié et arrêtez le script.

Si tout s'est bien déroulé, le script redirige l'utilisateur vers la page générique /list/ avec des paramètres que nous utiliserons plus tard. Pour l'instant, créez un dossier list à la racine du site. Créez dans ce dossier un fichier index.php qui contient le code provisoire suivant :

<?php
var_dump ($_GET);

Testez la création d'une nouvelle liste. Pensez à nettoyer la base de données lorsque vous aurez terminé.

Voir aussi


Dernière mise à jour : 24/11/2021