# Application de Logistique

## Description
Cette application web de logistique permet de gérer des produits et des commandes. Les utilisateurs peuvent consulter la liste des produits, voir les détails d'un produit et passer des commandes. Les administrateurs peuvent gérer les produits et consulter les commandes.

## Fonctionnalités

### Partie publique
- Affichage de la liste des produits
- Affichage des détails d'un produit
- Commande d'un produit (en vérifiant la disponibilité du stock)

### Partie administrative
- Connexion/déconnexion des administrateurs
- Ajout, modification et suppression de produits
- Consultation des commandes

## Structure de l'application

### Côté client
- Séparation HTML/CSS/JavaScript
- Bean Produit avec des getters/setters
- Services HTTP pour communiquer avec le serveur
- Contrôleurs pour les vues

### Côté serveur
- Architecture orientée objet (POO)
- Séparation des couches (API, contrôleur, worker, beans)
- Sécurisation des requêtes et des données
- Gestion des sessions

## Installation

1. Importez la base de données `logistique_db.sql` dans votre système MySQL/MariaDB
2. Ajustez les paramètres de connexion dans `serveur/wrk/DbConfig.php` si nécessaire
3. Placez les fichiers sur votre serveur web compatible PHP

## Utilisation

### Interface utilisateur
- Accéder à `index.html` pour voir la liste des produits
- Cliquer sur un produit pour voir ses détails et pouvoir le commander

### Interface administrateur
- Se connecter via `login.html` avec les identifiants admin/admin123
- Accéder à l'interface d'administration pour gérer les produits et voir les commandes

## Sécurité
- Protection contre les injections SQL (requêtes préparées)
- Validation des entrées utilisateur
- Hachage des mots de passe
- Gestion des sessions

## Technologies utilisées
- PHP 7+ côté serveur
- HTML5, CSS3, JavaScript côté client
- MySQL/MariaDB pour la base de données
- Architecture MVC simplifiée
- Communication client-serveur en JSON

## Auteur
Développé dans le cadre d'un projet de formation d'informaticien. 