Ce projet est une API RESTful pour gérer des contacts, construite avec Laravel. Il permet de créer, lire, mettre à jour et supprimer des contacts.
Avant de commencer, assurez-vous d'avoir les éléments suivants installés sur votre machine :
- PHP (version 8.0 ou supérieure)
- Composer (gestionnaire de dépendances PHP)
- MySQL (ou un autre SGBD compatible avec Laravel)
- Laravel (installé via Composer, version 11 ou supérieur)
-
Clonez le dépôt :
git clone https://github.com/JnT-9/ContactsAPIv2.git cd ContactsAPIv2 -
Installez les dépendances :
composer install
-
Créez un fichier
.envbasé sur le fichier.env.example:cp .env.example .env
-
Générez une clé d'application Laravel :
php artisan key:generate
-
Configurez votre base de données dans le fichier
.env:Modifiez les variables suivantes dans le fichier
.envavec les informations de votre base de données :DB_CONNECTION=sqlite DB_DATABASE=*:\***\ContactsAPIv2\contactsAPI.db DB_USERNAME=root DB_PASSWORD=saabre
Modifier le chemain complet DB_DATABASE
La base est déjà existante à la racine du projet pour faciliter l'instalation.
-
Démarrez le serveur de développement :
php artisan serve
Le serveur sera accessible à l'adresse
http://localhost:8000. -
Endpoints disponibles :
- GET /contacts : Récupère la liste de tous les contacts.
- POST /contacts : Crée un nouveau contact. Les données doivent être envoyées dans le corps de la requête en JSON.
- GET /contacts/{id} : Récupère les détails d'un contact spécifique par ID.
- PUT /contacts/{id} : Met à jour un contact spécifique par ID. Les données doivent être envoyées dans le corps de la requête en JSON.
- DELETE /contacts/{id} : Supprime un contact spécifique par ID.
URL : POST /contacts
Corps de la requête :
{
"prenom": "Jean",
"nom": "DUPONT",
"email": "jean.dupont@example.com",
"telephone": "0123456789",
"ville": "Paris"
}URL : GET /contacts
URL : PUT /contacts/{id}
Corps de la requête :
{
"prenom": "Jean",
"nom": "DUPONT",
"email": "jean.dupont@example.com",
"telephone": "0123456789",
"ville": "Marseille"
}URL : DELETE /contacts/{id}