Le compte rendu du projet est situé dans l'espace des fichiers à télécharger de la page dédiée à l'application C# qui consomme cette API.
Langages et technologies utilisés
API PHP
- PHP 7.x+
- vlucas/phpdotenv
- PDO MySQL
Infrastructure et outils
- MySQL 8.x
- Apache / .htaccess
- Composer
- Git, GitHub
- Postman
- cron-job.org (sauvegardes automatisées)
Contexte du projet
Mediatek86 est un réseau de médiathèques de la Vienne (Poitiers). La direction souhaitait une API REST pour servir l'application de bureau de gestion documentaire. Aucune application n'existait auparavant. En tant que développeur au sein de la société InfoTech Services 86 (maîtrise d'œuvre), j'ai pris en charge l'extension de l'API existante : ajout des endpoints CRUD pour les documents, commandes, abonnements, exemplaires et authentification, puis déploiement en production et mise en place de sauvegardes automatisées.
Endpoints ajoutés
CRUD documents - 9 routes (POST/PUT/DELETE pour livre, dvd, revue) avec transactions PDO garantissant la cohérence des tables liées par héritage.
Commandes - GET, POST, PUT, DELETE sur /commandedocument et GET sur /suivi.
Abonnements - GET sur /abonnement/{idRevue}, GET sur /abonnementexpiration (abonnements expirant dans 30 jours), POST et DELETE sur /abonnement.
Exemplaires - GET enrichi avec libelleEtat (jointure etat), PUT pour modifier l'état, DELETE.
Authentification - GET sur /utilisateur/{login, pwd} avec jointure sur service pour retourner le libellé du service.
Sécurité - Rejet HTTP 400 sur accès direct à la racine sans route. En-têtes X-Auth-User / X-Auth-Pass lus en alternative à PHP_AUTH_USER pour compatibilité hébergeurs mutualisés.
Dépôt GitHub
https://github.com/rabarijoy/rest_mediatekdocuments
Points notables dans ce dépôt :
- Script de création de la base de données (
mediatek86.sql) à la racine - Documentation PHP générée par phpDocumentor dans le dossier
docs/ - Collection Postman (
MediaTekDocuments_API_Tests.postman_collection.json) à la racine
API en ligne
L'API est déployée et accessible (mode opératoire complet dans le README du dépôt) : https://apirestmediatekdocuments.medianewsonline.com/rest_mediatekdocuments/
Authentification requise : Basic Auth - login admin, mot de passe adminpwd.
Documentation technique
Documentation PHP (phpDocumentor 3) Générée depuis les commentaires phpDoc du dossier src/. Disponible dans le dépôt : dossier docs/ Couvre les classes : MyAccessBDD, AccessBDD, Controle, Url, Connexion