Nom du projet : Système de gestion du bétail pour les habitants des douars (villages ruraux)
Objectif : Application web moderne permettant l'enregistrement, le suivi et la gestion du cheptel des résidents des douars marocains par un administrateur central.
- Types d'animaux : Mouton, Chèvre, Vache, Chameau
- Attributs : Sexe (Mâle/Femelle), Date de naissance, Statut laitier (vaches)
- Classification par tranches d'âge selon le type d'animal
- Suivi des événements : Vaccination, vente, maladie, reproduction
- Enregistrement des propriétaires de bétail
- Liaison avec leur cheptel respectif
- Informations de contact et localisation
- Tableaux de bord dynamiques
- Filtrage par type, sexe, âge
- Rapports de production laitière
- Historique des événements
| Technologie | Usage | Version recommandée |
|---|---|---|
| Frontend | HTML5, CSS3, Bootstrap 5 | Bootstrap 5.3+ |
| JavaScript | Interactions client, validation | ES6+ |
| Backend | PHP | 8.1+ |
| Base de données | MySQL | 8.0+ |
| Serveur web | Apache/Nginx | - |
livestock-management/
├── � iundex.php # Page d'accueil
│
├── 📁 public/ # Pages principales
│ ├── dashboard.php # Tableau de bord
│ ├── events.php # Gestion des événements
│ ├── livestock.php # Gestion du bétail
│ ├── login.php # Authentification
│ ├── logout.php # Déconnexion
│ ├── residents.php # Gestion des résidents
│ └── statistics.php # Statistiques
│
├── 📁 src/ # Code source principal
│ ├── 📁 config/ # Configuration
│ │ ├── constants.php # Constantes système
│ │ ├── database.php # Configuration BDD
│ │ └── session.php # Gestion des sessions
│ │
│ ├── 📁 models/ # Modèles de données
│ │ ├── Admin.php # Modèle administrateur
│ │ ├── Livestock.php # Modèle bétail
│ │ ├── LivestockEvent.php # Modèle événements
│ │ └── Resident.php # Modèle résidents
│ │
│ └── 📁 views/ # Templates/Vues
│ └── 📁 layouts/
│ ├── footer.php # Pied de page
│ └── header.php # En-tête
│
├── 📁 assets/ # Ressources statiques
│ ├── 📁 css/ # Feuilles de style
│ │ ├── dashboard.css
│ │ ├── events.css
│ │ ├── livestock.css
│ │ ├── login.css
│ │ ├── main.css
│ │ ├── residents.css
│ │ └── statistics.css
│ │
│ ├── 📁 js/ # Scripts JavaScript
│ │ ├── login.js
│ │ └── main.js
│ │
│ ├── 📁 images/ # Images
│ └── 📁 svg/ # Icônes SVG
│
└── 📁 database/ # Scripts SQL
├── schema.sql # Structure de la BDD
└── seeds.sql # Données de test
CREATE TABLE admin (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL DEFAULT 'admin',
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);CREATE TABLE residents (
id INT AUTO_INCREMENT PRIMARY KEY,
full_name VARCHAR(100) NOT NULL,
cin VARCHAR(20) UNIQUE,
douar VARCHAR(100) NOT NULL,
phone VARCHAR(20),
address TEXT,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX idx_douar (douar),
INDEX idx_cin (cin)
);CREATE TABLE livestock (
id INT AUTO_INCREMENT PRIMARY KEY,
resident_id INT NOT NULL,
animal_type ENUM('Mouton', 'Chèvre', 'Vache', 'Chameau') NOT NULL,
gender ENUM('Mâle', 'Femelle') NOT NULL,
birth_date DATE NOT NULL,
identification_number VARCHAR(50),
is_milk_producing BOOLEAN DEFAULT FALSE,
health_status ENUM('Sain', 'Malade', 'En_traitement') DEFAULT 'Sain',
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (resident_id) REFERENCES residents(id) ON DELETE CASCADE,
INDEX idx_animal_type (animal_type),
INDEX idx_birth_date (birth_date),
INDEX idx_resident (resident_id)
);CREATE TABLE livestock_events (
id INT AUTO_INCREMENT PRIMARY KEY,
livestock_id INT NOT NULL,
event_type ENUM('Vaccination', 'Vente', 'Achat', 'Maladie', 'Traitement', 'Reproduction', 'Décès') NOT NULL,
event_date DATE NOT NULL,
description TEXT,
cost DECIMAL(10,2) DEFAULT 0.00,
veterinarian VARCHAR(100),
notes TEXT,
created_by INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (livestock_id) REFERENCES livestock(id) ON DELETE CASCADE,
FOREIGN KEY (created_by) REFERENCES admin(id) ON DELETE SET NULL,
INDEX idx_event_date (event_date),
INDEX idx_event_type (event_type)
);- Admin : Accès complet au système, gestion de tous les résidents et du bétail, statistiques globales
- Hachage des mots de passe avec
password_hash()PHP - Sessions sécurisées avec gestion d'état
- Validation et sanitisation des données d'entrée
- Protection contre les injections SQL (requêtes préparées PDO)
- Jeunes : < 6 mois
- Adolescents : 6 mois - 1 an
- Adultes : > 1 an
- Génisses : < 14 mois
- Vaches adultes : ≥ 14 mois
- Vaches laitières : ≥ 14 mois +
is_milk_producing = TRUE
- Jeunes : < 3 ans
- Adultes : ≥ 3 ans
- ✅ Connexion administrateur avec nom d'utilisateur et mot de passe
- ✅ Déconnexion sécurisée avec destruction de session
- ✅ Ajout de nouveaux résidents avec informations complètes
- ✅ Liste des résidents avec recherche et filtres
- ✅ Modification des informations des résidents
- ✅ Activation/désactivation des résidents
- ✅ Enregistrement d'animaux pour chaque résident
- ✅ Liste du bétail avec filtres avancés (type, sexe, âge)
- ✅ Modification des informations des animaux
- ✅ Gestion du statut de santé et production laitière
- ✅ Enregistrement d'événements (vaccination, vente, maladie, etc.)
- ✅ Historique complet des événements par animal
- ✅ Suivi des coûts et informations vétérinaires
- ✅ Tableau de bord avec statistiques globales
- ✅ Graphiques interactifs par type d'animal
- ✅ Filtrage par période et critères multiples
- ✅ Rapports de production laitière
- Cloner le projet
- Importer la base de données (
database/schema.sqletdatabase/seeds.sql) - Configurer la connexion dans
src/config/database.php - Accéder à
index.phpdans votre navigateur - Se connecter avec le compte admin configuré
- PHP 8.1+
- MySQL 8.0+
- Serveur web (Apache/Nginx) ou serveur de développement PHP
# Cloner le projet
git clone [repository-url]
cd livestock-management
# Configurer la base de données
mysql -u root -p < database/schema.sql
mysql -u root -p < database/seeds.sql
# Configurer la connexion dans src/config/database.php
# Modifier les paramètres de connexion selon votre environnement
# Démarrer le serveur web
php -S localhost:8000- PSR-12 : Standard de codage PHP
- Commentaires : En français pour la documentation métier
- Nommage : Variables et fonctions en anglais, commentaires en français
- Validation : Côté client (JavaScript) et serveur (PHP)
- Framework CSS : Bootstrap 5.3
- Icônes : Font Awesome 6
- Responsive : Mobile-first approach
- Thème : Couleurs inspirées de l'agriculture (verts, bruns)
- ✅ Authentification administrateur
- ✅ CRUD complet résidents et bétail
- ✅ Interface utilisateur moderne
- ✅ Système d'événements complet
- ✅ Statistiques et graphiques
- ✅ Filtres et recherche avancés
- ✅ Interface responsive Bootstrap 5
- ✅ Validation côté client et serveur
- ✅ Tableaux de bord interactifs
Pour toute question technique ou assistance :
- Email : support@gestion-betail.ma
- Téléphone : +212 6XX XXX XXX
- Région : Province de Safi, Maroc
Modifiez le fichier src/config/database.php avec vos paramètres :
private $host = 'localhost';
private $db_name = 'livestock_management';
private $username = 'root';
private $password = '';- Nom d'utilisateur : admin
- Mot de passe : Défini lors de l'insertion en base (voir
database/seeds.sql)
- Page d'accueil :
index.php- Présentation du système - Connexion :
public/login.php- Authentification administrateur - Tableau de bord :
public/dashboard.php- Vue d'ensemble après connexion
- Dashboard (
public/dashboard.php) - Statistiques et vue d'ensemble - Résidents (
public/residents.php) - Gestion des propriétaires - Bétail (
public/livestock.php) - Inventaire des animaux - Événements (
public/events.php) - Historique et nouveaux événements - Statistiques (
public/statistics.php) - Rapports détaillés
Dernière mise à jour : Juillet 2025 Version : 1.0 Statut : ✅ Développement terminé - Système opérationnel