| Version | Objectif | Domaine | Cadre | Démo |
|---|---|---|---|---|
| 2.1 | Andragogie | Programmation | Laboratoire | - |
Reupload et correction du support 'PHP & API' daté de janvier 2020.
N/B : La retouche et la correction sont toujours en cours. Certaines parties sont susceptibles d'être manquantes.
Ce projet est une ressource pédagogique qui sert d'exemple de développement d'API REST en PHP tout en respectant, le principe des opérations CRUD, l'architecture Model-View-Controller et le paradigme Orienté Objet.
Ce support était fourni aux stagiaires ayant accompli le cours "Laboratoire PHP".
- Résoudre un système de routage en PHP
- Respecter l'architecture Model-View-Controller et l'abstraction Orientée Objets
- Traiter les opérations CRUD
- Manipuler des données transitoires au format JSon
- Adopter les bonnes pratiques de conception d'une API ReST et tendre vers le modèle de maturité de Richardson
- Se préprarer à l'apprentissage d'un Framework professionnel comme Symfony.
Cours :
- "Informatique"
- "Algorithmique"
- "Programmation PHP"
- "Modélisation de base de données"
- "Orienté Objet en PHP"
- "SQL / MySQL"
- "Conception d'API REST"
Ce projet peut être utilisé dans un cadre d'apprentissage individuel et privé. Il ne convient pas pour une utilisation publique ou professionnelle.
Le projet illustre les opéartions CRUD via 2 endpoints principaux.
Path :
/api/compositors
Méthodes :
GETPOSTUPDATEDELETE
Fonctionnalités :
- Trier
- Filtrer
- Rechercher
Path :
/api/periods
Méthodes :
GETUPDATE
Fonctionnalités :
- Obtenir les compositeurs pour une période
(en cours de rédaction)
Clônez ce repository dans un répertoire local sur votre machine.
Fichier httpd-vhosts.conf
<VirtualHost *:80>
ServerName php-api.local
DocumentRoot "YOUR-DIRECTORY-PATH-HERE"
<Directory "YOUR-DIRECTORY-PATH-HERE">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
Fichier host
127.0.0.1 php-api.local
::1 php-api.local
Le dossier _database/ contient les fichiers SQL nécessaires à l'implémentation de la base de données.
1_schema.sqldéfinit la structure (DDL). Il doit être exécuté en premier.2_data_periods.sqlimplémente la tableperiodet ses sous-entités languistiques (DML). C'est l'entité forte, donc il doit être exécuté en deuxième.3_data_compositor.sqlimplémente la tablecompositor(DML). C'est l'entité faible, donc il doit être exécuté après le DML précédent.
Dupliquez le fichier env.template.php et renommez-le en env.local.php. Adaptez les constantes avec des propriétés adéquantes pour votre utilisation locale – en particulier les valeurs de connexion la base de données.
Si vous déployez ce projet en ligne, dupliquez une nouvelle fois le fichier env.template.php et renommez-le en env.php. Adaptez cette fois les constantes avec des propriétés adaptées pour l'environnement de production. C'est cette version en.php doit être déployée sur votre serveur distant.

