Retour aux outils
AutreIntermédiaireOpen sourceAuto-hébergeablev1.5.14

Vanilla Cookbook

Gestionnaire de recettes **minimaliste et simple** en PHP, sans framework lourd ni base de données c

MAJ 2026-06-14
Vanilla Cookbook
Code source★ 150

Vanilla Cookbook est un gestionnaire de recettes minimaliste écrit en PHP, pensé pour les utilisateurs qui veulent un outil simple et fonctionnel sans la complexité des gros projets comme Mealie ou Tandoor. Pas de framework JS moderne, pas de base PostgreSQL à administrer : juste du PHP, un peu de J

Vanilla Cookbook 🍰

Gestionnaire de recettes minimaliste et simple en PHP, sans framework lourd ni base de données complexe.

MétadonnéeValeur
Site webhttps://github.com/jt196/vanilla-cookbook
GitHubhttps://github.com/jt196/vanilla-cookbook
LicenseMIT
LangagePHP (sans framework lourd)
Étoiles150
Dernière MAJ2026-05-25
Catégorie[[cat-recipes]]

Description

Vanilla Cookbook est un gestionnaire de recettes minimaliste écrit en PHP, pensé pour les utilisateurs qui veulent un outil simple et fonctionnel sans la complexité des gros projets comme Mealie ou Tandoor. Pas de framework JS moderne, pas de base PostgreSQL à administrer : juste du PHP, un peu de JavaScript vanilla, et SQLite pour le stockage.

L'application couvre l'essentiel : création de recettes avec ingrédients, étapes, photos, tags ; organisation par catégories ; recherche full-text basique ; import/export JSON ; planification de repas ; liste de courses. L'interface est volontairement dépouillée, légère et rapide à charger même sur un Raspberry Pi.

C'est l'outil idéal pour un petit homelab ou un serveur familial qui veut héberger un livre de recettes commun sans déployer une stack Docker de 500 Mo. Vanilla Cookbook consomme moins de 30 Mo de RAM et fonctionne avec PHP 8.0+ et SQLite. Son auteur, jt196, le maintient activement avec des releases régulières.

Installation

Docker Compose

services:
  cookbook:
    image: jt196/vanilla-cookbook:latest
    container_name: vanilla-cookbook
    environment:
      - APP_URL=https://cookbook.example.com
      - DB_TYPE=sqlite
      - PHP_TIMEZONE=Europe/Paris
    volumes:
      - ./data:/var/www/html/data
      - ./uploads:/var/www/html/uploads
    ports:
      - "8085:80"
    labels:
      - traefik.enable=true
      - traefik.http.routers.cookbook.rule=Host(`cookbook.example.com`)
      - traefik.http.routers.cookbook.entrypoints=websecure
      - traefik.http.routers.cookbook.tls.certresolver=letsencrypt
      - traefik.http.services.cookbook.loadbalancer.server.port=80
    restart: unless-stopped

Installation PHP classique

git clone https://github.com/jt196/vanilla-cookbook.git
cd vanilla-cookbook && composer install
php -S 0.0.0.0:8085

Configuration

  1. Cloner le repo et ajuster les permissions sur ./data et ./uploads (chown www-data).
  2. Configurer APP_URL et la timezone PHP dans .env.
  3. Créer le compte admin depuis l'UI au premier lancement.
  4. (Optionnel) Configurer un reverse proxy (Caddy, Nginx, Traefik) pour HTTPS.
  5. Importer vos recettes existantes via le fichier JSON (export depuis Paprika, Mealie, etc.).

Alternatives

  • Open source : [[app-mealie]] (référence, plus complet), [[app-tamari]] (Python), [[app-norish]] (multi-users), [[app-bar-assistant]] (cocktails), Tandoor Recipes, Grocy, RecipeSage, Forkful, RecipeMD (Markdown), Cooklang, Foodsoft (coop).
  • Propriétaire : Paprika Recipe Manager, CopyMeThat, Plan to Eat, Yummly, BigOven, Cookpad, Samsung Food.

Sécurité

  • Permissions strictes sur le dossier ./data (SQLite) : chmod 700 recommandé.
  • HTTPS obligatoire via reverse proxy (Let's Encrypt, Caddy).
  • Désactiver l'inscription ouverte après création du premier compte admin.
  • Backups réguliers de ./data (SQLite) et ./uploads (photos).
  • PHP-FPM plutôt que mod_php pour réduire la surface d'attaque sur Apache/Nginx.

Ressources

  • Code : https://github.com/jt196/vanilla-cookbook
  • Releases : https://github.com/jt196/vanilla-cookbook/releases
  • Issues : https://github.com/jt196/vanilla-cookbook/issues