Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐄 Système de Gestion du Bétail - Douars

📋 Vue d'ensemble du projet

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.

🎯 Fonctionnalités principales

Gestion des animaux

  • 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

Gestion des résidents

  • Enregistrement des propriétaires de bétail
  • Liaison avec leur cheptel respectif
  • Informations de contact et localisation

Statistiques et rapports

  • Tableaux de bord dynamiques
  • Filtrage par type, sexe, âge
  • Rapports de production laitière
  • Historique des événements

🛠️ Stack technique

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 -

📁 Architecture du projet

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

🗄️ Schéma de base de données

1. Table admin - Administrateurs du système

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
);

2. Table residents - Résidents des douars

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)
);

3. Table livestock - Cheptel

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)
);

4. Table livestock_events - Événements du bétail

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)
);

🔐 Système d'authentification

Rôle utilisateur

  • Admin : Accès complet au système, gestion de tous les résidents et du bétail, statistiques globales

Sécurité

  • 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)

📊 Calcul des tranches d'âge

Moutons et Chèvres

  • Jeunes : < 6 mois
  • Adolescents : 6 mois - 1 an
  • Adultes : > 1 an

Vaches

  • Génisses : < 14 mois
  • Vaches adultes : ≥ 14 mois
  • Vaches laitières : ≥ 14 mois + is_milk_producing = TRUE

Chameaux

  • Jeunes : < 3 ans
  • Adultes : ≥ 3 ans

✅ Fonctionnalités implémentées

Authentification

  • Connexion administrateur avec nom d'utilisateur et mot de passe
  • Déconnexion sécurisée avec destruction de session

Gestion des résidents

  • 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

Gestion du bétail

  • 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

Événements

  • Enregistrement d'événements (vaccination, vente, maladie, etc.)
  • Historique complet des événements par animal
  • Suivi des coûts et informations vétérinaires

Statistiques et rapports

  • 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

⚡ Démarrage rapide

  1. Cloner le projet
  2. Importer la base de données (database/schema.sql et database/seeds.sql)
  3. Configurer la connexion dans src/config/database.php
  4. Accéder à index.php dans votre navigateur
  5. Se connecter avec le compte admin configuré

🚀 Instructions de développement

Prérequis

  • PHP 8.1+
  • MySQL 8.0+
  • Serveur web (Apache/Nginx) ou serveur de développement PHP

Installation

# 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

Standards de code

  • 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)

📱 Interface utilisateur

Design moderne

  • Framework CSS : Bootstrap 5.3
  • Icônes : Font Awesome 6
  • Responsive : Mobile-first approach
  • Thème : Couleurs inspirées de l'agriculture (verts, bruns)

🚀 État du développement

✅ Phase 1 - MVP (Terminée)

  • ✅ Authentification administrateur
  • ✅ CRUD complet résidents et bétail
  • ✅ Interface utilisateur moderne

✅ Phase 2 - Fonctionnalités avancées (Terminée)

  • ✅ Système d'événements complet
  • ✅ Statistiques et graphiques
  • ✅ Filtres et recherche avancés

✅ Phase 3 - Optimisation (Terminée)

  • ✅ Interface responsive Bootstrap 5
  • ✅ Validation côté client et serveur
  • ✅ Tableaux de bord interactifs

📞 Support et contact

Pour toute question technique ou assistance :


🔧 Configuration

Paramètres de base de données

Modifiez le fichier src/config/database.php avec vos paramètres :

private $host = 'localhost';
private $db_name = 'livestock_management';
private $username = 'root';
private $password = '';

Compte administrateur par défaut

  • Nom d'utilisateur : admin
  • Mot de passe : Défini lors de l'insertion en base (voir database/seeds.sql)

🌐 Accès au système

  1. Page d'accueil : index.php - Présentation du système
  2. Connexion : public/login.php - Authentification administrateur
  3. Tableau de bord : public/dashboard.php - Vue d'ensemble après connexion

📱 Pages disponibles

  • 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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages