Atelier Professionnel 2

API RESTful
Gestion de Stock

Conception et developpement d'une API backend complete pour gerer les produits, categories et mouvements de stock d'une entreprise.

GET POST PUT DELETE
// Exemple d'endpoint GET /api/v1/products // Response 200 OK { "status": "success", "data": [ { "id": 1, "name": "Laptop HP", "stock": 45 } ] }

Le Defi : Creer une API professionnelle

Dans le cadre de ma formation BTS SIO, j'ai concu une API RESTful complete permettant de gerer le stock d'une entreprise fictive.

L'objectif etait de maitriser les principes de l'architecture REST, la conception d'endpoints clairs et documentes, ainsi que les bonnes pratiques de securite backend.

Analyse des besoins

Identification des entites (produits, categories, mouvements) et des operations necessaires.

Conception de l'API

Definition des routes, methodes HTTP et structure des reponses JSON.

Developpement & Tests

Implementation en PHP avec PDO et tests via Postman.

Architecture de l'API

Client

Frontend / App

API REST

PHP / Router

MySQL

Base de donnees

Fonctionnalites de l'API

Une API complete avec toutes les operations CRUD

Endpoints REST

Routes claires et semantiques suivant les conventions REST pour chaque ressource.

Documentation

Documentation complete des endpoints avec exemples de requetes et reponses.

Securite

Validation des donnees, requetes preparees et gestion des erreurs HTTP.

Tests Postman

Collection Postman pour tester tous les endpoints de l'API.

Endpoints disponibles

GET /api/products

Recupere la liste de tous les produits avec pagination

GET /api/products/{id}

Recupere les details d'un produit specifique

POST /api/products

Cree un nouveau produit dans l'inventaire

PUT /api/products/{id}

Met a jour les informations d'un produit

DELETE /api/products/{id}

Supprime un produit de l'inventaire

Exemple de reponse JSON
200 OK application/json
{
  "status": "success",
  "data": {
    "id": 1,
    "name": "Clavier Mecanique",
    "category": "Peripheriques",
    "price": 89.99,
    "stock": 150,
    "created_at": "2024-03-15"
  },
  "message": "Produit recupere"
}
201 Created application/json
{
  "status": "success",
  "data": {
    "id": 25
  },
  "message": "Produit cree"
}

Technologies utilisees

PHP

PHP 8

MySQL

MySQL

JavaScript

JavaScript

Postman

Postman

VS Code

VS Code

Informations du Projet

  • Categorie : Atelier Professionnel
  • Type : API Backend RESTful
  • Date : 2024
  • Contexte : Formation BTS SIO
  • Competences : PHP, MySQL, REST, JSON, Tests
Retour au Portfolio