VoituresApi-API/CHANGELOG.md

38 lines
2.3 KiB
Markdown
Raw Normal View History

# 📝 Changelog
Toutes les modifications notables apportées à ce projet sont documentées dans ce fichier.
Le format est basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.0.0/) et ce projet adhère au [Semantic Versioning](https://semver.org/lang/fr/).
---
## [1.1.0] - 2026-09-20
### 🔒 Sécurité
- **Privatisation de l'endpoint `GET /cars`** :
- L'accès à la liste complète des véhicules du parc automobile est désormais strictement restreint aux utilisateurs ayant le rôle `admin`.
- Une requête non authentifiée reçoit une réponse HTTP `401 Unauthorized`.
- Une requête authentifiée avec un compte utilisateur standard (`user`) reçoit une réponse HTTP `403 Forbidden`.
- **Privatisation de l'endpoint `GET /cars/immatriculation/{immatriculation}`** :
- La recherche et l'identification de véhicule par plaque d'immatriculation sont désormais réservées exclusivement aux utilisateurs ayant le rôle `admin`.
- Contrôle d'accès identique : code `401` si aucun jeton n'est fourni, code `403` si l'utilisateur n'a pas les privilèges `admin`.
- **Sécurisation des points d'accès annexes liés à l'immatriculation** :
- Sécurisation de l'alias direct `GET /immatriculation/{immatriculation}` (exige le rôle `admin` pour prévenir tout contournement de sécurité).
- Sécurisation du filtre `GET /cars?immatriculation=...` désormais protégé au même titre que `GET /cars`.
### 🔄 Modifié
- **Séparation des droits de consultation** :
- Les utilisateurs standards (`role: user`) doivent dorénavant utiliser le point d'accès dédié `GET /cars/mes-voitures` (ou `GET /cars?mine=true` réservé admin) pour consulter la liste de leurs propres véhicules.
- La documentation interactive exposée à la racine (`GET /`) a été mise à jour avec les nouveaux tags de droits `[ADMIN]`.
- Le fichier [`README.md`](./README.md) a été actualisé (tableaux d'accès, permissions et exemples cURL intégrant le jeton `admin`).
---
## [1.0.0] - 2026-09-16
### ✨ Initialisation
- Création de l'API REST Voitures en PHP / MySQL.
- Authentification par jeton Bearer (`users`, login, register, me, logout).
- Liaison des véhicules avec leurs propriétaires (`user_id`).
- Gestion des relevés kilométriques, historiques d'entretien et notes confidentielles avec contrôle des droits propriétaires.