- Il faut initialiser la base de donnée MySQL/MariaDB en utilisant
les deux script sql fournis (database.sql
etcontent.sql
). - Le premier script à éxecuter est
database.sql
qui va créer la base de données
et l'utilisateur, et qui va nous placer dans la base de données. - Ensuite, il faut éxecuter le script
content.sql
qui va créer les différentes tables et les remplir. - Ci-dessous sont fournis un fichier de configuration VHost et un .htaccess.
Pour que l'URL Mapping fonctionne, il faut activer le module Rewrite. - 2021-CIR2-prj-BL-MVA.conf
<VirtualHost *:80>
ServerName 2021-CIR2-prj-BL-MVA
ErrorLog /var/log/apache2/2021-CIR2-prj-BL-MVA
DocumentRoot /var/www/html/2021-CIR2-prj-BL-MVA
<Directory /var/www/html/2021-CIR2-prj-BL-MVA>
AllowOverride All
DirectoryIndex index.html
Require all granted
</Directory>
</VirtualHost>
- .htaccess
RewriteEngine On
Options +FollowSymLinks
Options All -Indexes
RewriteRule ^api/v1(.*) php/requests.php/%{REQUEST_URI} [QSA]
<FilesMatch "(constants.php|database.php)$">
Order allow,deny
Deny from all
</FilesMatch>
- php/contants.php
<?php
// Constantes permettant de se connecter à la base de données
define("DB_HOST", "");
define("DB_PORT", "");
define("DB_NAME", "");
define("DB_USERNAME", "");
define("DB_PASSWORD", "");
?>
Il y a deux façons de tester notre API :
- En passant par le front (normalement, le site est host sur
http://php.lorcy.info
). - En rentrant directement les liens pour éxecuter les requêtes API :
- Liste de l'ensemble des utilisateurs
GET /api/v1/utilisateurs
- Informations détaillées d'un utilisateur
GET /api/v1/utilisateur/<mail>
- Liste de l'ensemble des matériel
GET /api/v1/materiels
- Informations détaillées d'un matériel
GET /api/v1/materiels/<nom>
- Liste des matériels associés à un utilisateur
GET /api/v1/utilisateurs/<mail>/materiels
- Recherche d'un matériel à partir d'un numéro de série
GET /api/v1/materiels?search=num_serie&num=<num_serie>
- Si, pour n'importe quelle raison, l'URL mapping ne marche pas, on peut accéder
à ces ressources en préfixant les URL par/php/requests.php
. Example :
GET /php/requests.php/api/v1/utilisateurs
- Liste de l'ensemble des utilisateurs