6.7 KiB
6.7 KiB
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-composepour 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.