2026-03-09 18:19:38 +01:00
2026-03-01 07:21:46 +01:00
2026-03-09 18:19:38 +01:00
2026-03-09 18:19:38 +01:00
2026-03-09 18:19:38 +01:00
2026-03-09 18:19:38 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 22:18:32 +01:00
2026-02-22 22:18:32 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 18:34:50 +01:00
2026-02-22 15:05:40 +01:00
2026-03-09 18:19:38 +01:00
2026-02-22 22:18:32 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 22:18:32 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 22:18:32 +01:00
2026-02-22 15:05:40 +01:00
2026-02-22 18:34:50 +01:00

Jardin — Application de gestion de jardins

Interface web mobile-first pour gérer vos jardins, cultures, tâches et calendrier lunaire.
Thème : Gruvbox Dark Seventies.


Prérequis

  • Docker + Docker Compose

Lancement rapide

cp .env.example .env
docker compose up --build

Développement local

Backend

cd backend
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
DATABASE_URL=sqlite:///./data/jardin.db UPLOAD_DIR=./data/uploads uvicorn app.main:app --reload

Frontend

cd frontend
npm install
npm run dev   # → http://localhost:5173

Tests backend

cd backend
source .venv/bin/activate
pytest tests/ -v

Structure du projet

jardin/
├── backend/              # API FastAPI + SQLite
│   ├── app/
│   │   ├── main.py       # App FastAPI, lifespan, CORS
│   │   ├── database.py   # Engine SQLite, session
│   │   ├── config.py     # Variables d'environnement
│   │   ├── seed.py       # Données de démo
│   │   ├── models/       # Tables SQLModel (11 tables)
│   │   └── routers/      # Endpoints API
│   └── tests/            # Tests pytest (18 tests)
├── frontend/             # SPA Vue 3 + Vite + Tailwind
│   └── src/
│       ├── api/          # Clients Axios
│       ├── stores/       # Stores Pinia
│       ├── components/   # Header, Drawer
│       ├── router/       # Vue Router (9 routes)
│       └── views/        # 9 pages
├── data/                 # Volume persistant (SQLite + uploads)
├── docker-compose.yml
└── .env.example

Données de démo

Au premier démarrage, l'application crée automatiquement :

  • 1 jardin "Mon potager" (grille 6×4, plein sud)
  • 3 variétés : Tomate Andine Cornue, Courgette Verte, Laitue Batavia
  • 2 plantations en cours
  • 3 tâches (arrosage, traitement pucerons, compost)

Sauvegarde

La base SQLite se trouve dans data/jardin.db. Copiez ce fichier pour sauvegarder :

cp data/jardin.db data/jardin_backup_$(date +%Y%m%d).db

API

Documentation interactive disponible sur http://localhost:8060/docs (Swagger UI).

Guide reseau local / VM / OpenClaw:

  • docs/api_utilisation_reseau_local_openclaw.md

Endpoints principaux :

Méthode Endpoint Description
GET /api/health Santé de l'API
GET/POST /api/gardens Jardins
GET/PUT/DELETE /api/gardens/{id} Jardin par ID
GET/POST /api/gardens/{id}/cells Cases de la grille
GET/POST /api/gardens/{id}/measurements Mesures temp/humidité
GET/POST /api/varieties Variétés
GET/POST /api/plantings Plantations
GET/POST /api/plantings/{id}/events Historique d'une plantation
GET/POST /api/tasks Tâches
GET /api/settings Paramètres utilisateur
PUT /api/settings Mettre à jour les paramètres
GET /api/lunar?month=YYYY-MM Calendrier lunaire
POST /api/upload Upload d'une image
Description
No description provided
Readme 340 MiB
Languages
JavaScript 60.2%
Vue 19.6%
Python 17.7%
TypeScript 2.3%
CSS 0.1%