main
Mon Poulailler
Application web simple pour gérer un poulailler : animaux, ponte, couvage, archives.
Conçue pour être lisible par un débutant : peu de fichiers, JavaScript classique, données en JSON.
Prérequis
Démarrage rapide (sans Docker)
npm install
npm start
Ouvre ensuite : http://localhost:3000
Démarrage avec Docker
docker compose up --build
Puis : http://localhost:3000
Pour arrêter :
docker compose down
Compte par défaut
| Login | Mot de passe | Profil |
|---|---|---|
admin |
admin123 |
administrateur |
Change ce mot de passe en créant un nouveau compte admin, puis en n'utilisant plus celui-ci (ou en modifiant le fichier JSON).
Utilisation
- Se connecter avec le compte admin
- Créer des comptes utilisateurs (menu Comptes, réservé à l'admin)
- Ajouter des poules / coqs depuis la page d'accueil
- Ouvrir une fiche animal pour modifier, enregistrer ponte / couvage, ou archiver
- Consulter les Archives pour les animaux décédés
Structure du projet
poupoule/
├── server.js # Serveur Node.js (routes API)
├── lib/donnees.js # Lecture / écriture des fichiers JSON
├── data/ # Données persistantes (JSON)
│ ├── utilisateurs.json
│ ├── animaux.json
│ ├── periodesPonte.json
│ └── periodesCouvage.json
├── uploads/ # Photos des animaux
├── public/ # Interface (HTML, CSS, JS)
│ ├── index.html # Liste + statistiques
│ ├── animal.html # Fiche détaillée
│ ├── archives.html
│ ├── comptes.html
│ ├── connexion.html
│ ├── css/style.css
│ └── js/ # Scripts par page
├── Dockerfile
├── docker-compose.yml
└── cahierDesCharges.md
Sauvegarde des données
Les informations sont stockées dans le dossier data/ (fichiers JSON) et les photos dans uploads/.
Pour sauvegarder : copie ces deux dossiers.
Avec Docker, ils sont montés en volumes : ils restent sur ta machine même si le conteneur est reconstruit.
Technologies
| Couche | Choix |
|---|---|
| Front | HTML, CSS, JavaScript (sans framework) |
| Back | Node.js + Express |
| Données | Fichiers JSON |
| Auth | Sessions + mots de passe hachés (bcrypt) |
Documentation métier
Voir cahierDesCharges.md.
Languages
JavaScript
66%
HTML
21.9%
CSS
11.8%
Dockerfile
0.3%