Files
2026-09-25 11:02:14 +02:00

2.6 KiB

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

  1. Se connecter avec le compte admin
  2. Créer des comptes utilisateurs (menu Comptes, réservé à l'admin)
  3. Ajouter des poules / coqs depuis la page d'accueil
  4. Ouvrir une fiche animal pour modifier, enregistrer ponte / couvage, ou archiver
  5. 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.