Début du projet

This commit is contained in:
LAINEY Grégory committed 2026-09-25 11:02:14 +02:00
commit 43b1f166d7
28 files changed
+4284

No files matched your search

+191
View File
@@ -0,0 +1,191 @@
# Cahier des charges — Mon Poulailler
## 1. Contexte
Le projet **Mon Poulailler** vise à créer une application web de gestion d’un poulailler.
Dans la gestion quotidienne d’un poulailler, il est important de connaître :
* le nombre de poules et de coqs ;
* l’identité et les caractéristiques de chaque animal ;
* l’état de santé ;
* les périodes de ponte (début, durée, fin) ;
* les périodes de couvage ;
* l’historique des animaux décédés.
L’application doit permettre de suivre ces informations de façon centralisée et à jour.
## 2. Objectif
Disposer d’une vue claire et à jour de l’état du poulailler : effectifs, animaux actifs, périodes de ponte et de couvage, et archives.
## 3. Périmètre
### 3.1 Inclus
* Authentification (création de comptes, connexion) ;
* gestion des poules et des coqs ;
* suivi des périodes de ponte et de couvage ;
* statistiques d’effectifs en temps réel ;
* archivage des animaux décédés ;
* déploiement local via Docker.
### 3.2 Hors périmètre (version initiale)
* Application mobile native ;
* notifications push / alertes automatiques ;
* suivi vétérinaire détaillé (ordonnances, traitements) ;
* gestion multi-poulaillers ;
* synchronisation cloud / multi-appareils hors réseau local ;
* inventaire des œufs au quotidien (sauf si lié explicitement à une période de ponte).
## 4. Utilisateurs
| Profil | Description | Droits principaux |
| --- | --- | --- |
| Administrateur | Responsable du poulailler / de l’application | Créer des comptes, gérer tous les animaux |
| Utilisateur | Personne qui s’occupe des poules | Gérer les poules et les coqs (sans création de comptes) |
## 5. Fonctionnalités
### 5.1 Authentification et comptes
* Création de comptes (réservée à l’administrateur) ;
* connexion par identifiant et mot de passe ;
* déconnexion ;
* deux profils : **Admin** et **Utilisateur**.
| Action | Admin | Utilisateur |
| --- | --- | --- |
| Se connecter / se déconnecter | Oui | Oui |
| Créer un compte | Oui | Non |
| Gérer poules et coqs | Oui | Oui |
| Consulter les statistiques | Oui | Oui |
| Consulter les archives | Oui | Oui |
### 5.2 Gestion des animaux (poules et coqs)
Pour chaque animal, l’application permet de renseigner et consulter :
| Donnée | Description |
| --- | --- |
| Identifiant unique | Identifiant technique unique dans l’application |
| Photo | Image de l’animal |
| Couleur de bague | Couleur de la bague d’identification |
| Numéro de bague | Numéro associé à la bague |
| Date de naissance | Date de naissance (ou date d’arrivée si inconnue) |
| Type | Poule ou coq |
| État de santé | Indication simple de l’état de santé |
| Date de fin de vie | Renseignée lorsque l’animal décède |
Actions attendues :
* créer un animal ;
* modifier ses informations ;
* consulter sa fiche détaillée ;
* marquer un animal comme décédé (passe en archive) ;
* lister les animaux actifs ;
* lister les animaux archivés (décédés).
### 5.3 Périodes de ponte (poules uniquement)
* Enregistrer une ou plusieurs périodes de ponte ;
* pour chaque période : date de début, date de fin (optionnelle si en cours), éventuellement une remarque ;
* indiquer si la poule pond actuellement.
### 5.4 Périodes de couvage (poules uniquement)
* Enregistrer une ou plusieurs périodes de couvage ;
* pour chaque période : date de début, date de fin (optionnelle si en cours), éventuellement une remarque ;
* indiquer si la poule est actuellement en couvage.
### 5.5 Statistiques
Affichage en temps réel (après chaque action ou au chargement) :
* nombre de poules actives ;
* nombre de coqs actifs ;
* nombre total d’animaux actifs ;
* nombre de poules actuellement en couvage ;
* nombre de poules actuellement en ponte (souhaitable).
### 5.6 Archives
* Vue dédiée aux animaux décédés ;
* conservation des informations (identité, bagues, dates, historique de ponte / couvage) ;
* pas de suppression définitive obligatoire en v1 (possibilité de la prévoir plus tard).
## 6. Exigences non fonctionnelles
| Exigence | Attendu |
| --- | --- |
| Accessibilité | Interface utilisable sur ordinateur et tablette (responsive de base) |
| Performance | Réponses rapides sur un usage local (peu d’utilisateurs simultanés) |
| Sécurité | Mots de passe stockés de façon sécurisée (hachage) ; accès réservé aux utilisateurs authentifiés |
| Disponibilité | Application disponible en local via Docker |
| Ergonomie | Navigation simple : liste, fiche animal, statistiques, archives |
| Données | Persistance via fichiers JSON ; sauvegarde manuelle possible en copiant les fichiers |
## 7. Spécifications techniques
| Élément | Choix |
| --- | --- |
| Type d’application | Application web |
| Hébergement | Local, via Docker |
| Front-end | HTML, CSS, JavaScript |
| Back-end | JavaScript (Node.js recommandé) |
| Base de données | Fichiers JSON (stockage documentaire) |
### 7.1 Architecture cible (indicatif)
* Interface web servie par le back-end ;
* API métier pour authentification et CRUD animaux / périodes ;
* persistance dans un ou plusieurs fichiers JSON montés en volume Docker.
### 7.2 Contraintes techniques
* Fonctionnement hors cloud, en environnement local ;
* pas de dépendance à une base relationnelle en v1 ;
* les données doivent survivre à un redémarrage du conteneur (volume Docker).
## 8. Modèle de données (indicatif)
### Utilisateur
* `id`, `login`, `motDePasseHash`, `profil` (`admin` | `utilisateur`)
### Animal
* `id`, `type` (`poule` | `coq`), `photo`, `couleurBague`, `numeroBague`, `dateNaissance`, `etatSante`, `dateFinDeVie` (nullable), `actif` (booléen)
### PeriodePonte
* `id`, `idAnimal`, `dateDebut`, `dateFin` (nullable), `remarque`
### PeriodeCouvage
* `id`, `idAnimal`, `dateDebut`, `dateFin` (nullable), `remarque`
## 9. Critères d’acceptation (v1)
* Un administrateur peut créer un compte utilisateur et se connecter.
* Un utilisateur connecté peut ajouter une poule avec photo, bague, date de naissance.
* Un utilisateur peut enregistrer une période de ponte et une période de couvage.
* Les statistiques affichent correctement le nombre de poules, de coqs et de poules en couvage.
* Marquer une poule comme décédée la retire de la liste active et l’ajoute aux archives.
* L’application démarre via Docker et conserve les données après redémarrage.
## 10. Livrables
* Code source de l’application ;
* `Dockerfile` / `docker-compose` pour le lancement local ;
* documentation courte de démarrage (installation, comptes, sauvegarde des JSON) ;
* le présent cahier des charges à jour.
## 11. Evolutions possibles (hors v1)
* Suivi quotidien des œufs collectés ;
* alertes (fin de ponte, couvage prolongé) ;
* export CSV / PDF ;
* multi-poulaillers ;
* application mobile.
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.