Name
Last commit
Last update
..
classes moved TPs
config moved TPs
controller prettier fix
libs/php-jwt moved TPs
model moved TPs
sql moved TPs
README.md moved TPs
api.php moved TPs

Documentation de l'API

Auteur

Quentin VREL (FISE 2021)

Description

Le contenu de ce sous-dossier est mon rendu pour le TP 3 de l'UV CDAW. Il contient les fichiers source de l'API RESTFUL accessible à l'adresse https://eden.imt-lille-douai.fr/~quentin.vrel/projet-cdaw/BackEnd/tp4/api.php.

Installation

Cette API est utilisable dès lors que le fichier createDB.sql a été executé dans la base de donnée à laquelle celle-ci doit être ratachée. Il conviendra ensuite de modifier les identifiants de connection à celle-ci dans le fichier /config/config.php comme suit

define('DB_HOST', <adresse hôte>);
define('DB_PORT', <port>);
define('DB_DATABASE', <nom de la table>);
define('DB_USERNAME', <identifiant>);
define('DB_PASSWORD', <mot de passe>);

Fonctionnalités disponibles

Cette API permet de manipuler les informations d'une base de donnée d'utilisateurs telle que chaque utilisateur est modélisé comme suit

{
    "USER_ID",
    "USER_LOGIN",
    "USER_EMAIL",
    "USER_ROLE",
    "USER_PWD",
    "USER_NAME",
    "USER_SURNAME"
}

L'API permet de consulter la liste et les informations de tous les utilisateurs, les informations d'un utilisateur dont l'identifiant en base de données est connu, et de mettre à jour l'email d'un utilisateur dont l'identifiant est connu. Chaque requète à l'API doit être adressée à l'adresse https://eden.imt-lille-douai.fr/~quentin.vrel/projet-cdaw/BackEnd/tp4/api.php<cible>. Lorsque des paramètres sont nécessaires au traitement de la requête, ceux-ci doivent être écris dans le corps de la requête HTTP au format JSON. Certaines requêtes sont protégées par un token d'authentification afin de protégé la lecture et l'écriture de données sensibles.

Fonctionnalité Methode Cible Paramètres Protégé par token
Obtention d'un token POST /login 'login', 'pwd'(mot de passe haché) non
Liste et informations des utilisateurs GET /user non
Informations d'un utilisateur GET /user/<id> non
Modification de l'email d'un utilisateur PUT /user/<id> 'mail' oui