Comment faire un site de cuisine maison… qui reste à la maison ?
Pourquoi faire un site web local ?
Une de mes activités est de nourrir ma famille. Je ne suis pas cuisinier, mais depuis 1992, je prépare les repas du quotidien. D’abord pour moi puis pour les miens. J’ai eu envie de les rendre accessible sur un support informatique (smartphone, tablette, PC) sans le rendre accessible à la terre entière.
J’ai remarqué que je n’allais plus dans mes livres de cuisine, fiches de recette et que je faisais les recettes que j’avais déjà mis en fiches sur mon PC. Faire ce site local est une façon de me réapproprier ce que j’ai déjà et que je n’utilisais plus.
Quelques mots sur Spip
SPIP est un système de publication pour l’Internet. Il existe depuis 2001. Il est publié sous licence GPL.
Je l’ai utilisé de 2003 à 2007 puis de 2016 à 2019.
Il reste une trace sur le site Internet Archive :
C’est un logiciel Français qui a fait ses preuves (25 ans d’existence en 2026). Le site web de Spip est à jour, documenté, multilingues : tous les liens vers des articles en français sont consultables aussi en anglais et dans plusieurs autres langues.
Spip offre un moteur de recherche par défaut, c’est très utile pour un site de recettes. Pas besoin d’installer des plugins supplémentaires.
L’image en tête d’article est la version vanilla du site généré par Spip. L’outil est rapidement fonctionnel et on peut tout de suite s’investir dans le contenu et sa publication.
Pourquoi utiliser une base de données sqlite ?
Pourquoi une base de données Sqlite plutôt que Mysql ou MariaDB voir même Postgresql ? Comme c’est un site local avec peu de contenu et peu d’utilisateurs : c’est amplement suffisant, pas besoin d’un serveur de base de données gourmand en ressources, Sqlite3 tient la charge sans problème et n’est pas actif en permanence car ce n’est pas un serveur de base de données.
Installer un serveur LAMP
L’installation se fait sur mon Linux Mint (donc Ubuntu). Pour savoir ce qu’est un serveur LAMP : https://fr.wikipedia.org/wiki/LAMP
Installer les paquets nécessaires
À l’aide d’un terminal, installer les paquets suivant sudo apt install apache2 php sqlite3 php-sqlite3 php-zip php-gd php-xml cela installera également les paquets complémentaires. À noter que les paquets php-zip, php-gd et php-xml sont utiles à Spip, php-sqlite3 est utile à php pour travailler avec sqlite3. Ces paquets ne s’installent pas par défaut.
Pour vérifier que le serveur web apache2 fonctionne, taper localhost dans un navigateur : une page de test s’affiche, c’est bon.
Le dossier racine des publications web se trouve ici : /var/www/html/
Créer le site local cooking
C’est juste un exemple.
Créer le répertoire cooking
Dans un terminal, taper : sudo mkdir -p /var/www/html/cooking pour créer le répertoire qui contiendra le site.
Quelques problèmes de droits à régler
Pour pouvoir publier dans le dossier racines, il faut modifier l’utilisateur et les droits sur le dossier contenant le site :
olivier@olivier-mint:~$ sudo chown – R olivier: www-data /var/www/html/cooking/
olivier@olivier-mint:~$ sudo chmod – R 775 /var/www/html/cooking/
Pour en savoir plus sur les droits, consulter les droits sous linux.
Script spip_loader.php
Télécharger ce script depuis le site de Spip : https://www.spip.net/fr_download
Déposer ce fichier dans le dossier /var/www/html/cooking/ et mettre à jour l’utilisateur et les droits si nécessaires (cf. paragraphe « Quelques problèmes de droits à régler »).
Dans le navigateur : taper l’adresse localhost/cooking/spip_loader.php et suivre les instructions qui s’affichent à l’écran. Spip s’installera automatiquement.
Nota bene : j’ai nommé la base de données cooking.
Activer le fichier htaccess
En fin d’installation, le message suivant apparaît : "htaccess inopérant…". Il suffit de renommer le fichier htaccess.txt en .htaccess pour résoudre ce problème.
Fin d’installation et utilisation
La connexion à l’espace privé apparaît. Mettre son identifiant et son mot de passe. Il reste à configurer le site et publier un premier article.
Pour apprendre tout cela : https://www.spip.net/fr_rubrique169.html
Voir le site depuis un smartphone
Il suffit de réunir quelques conditions :
- Le PC hébergeant le site doit être allumé et avoir une adresse IP locale (192.168.x.y) stable
- Dans la partie administration, espace privé, du site, aller dans Configuration->Identité du site et modifier le contenu du champ Adresse (URL) du site public : remplacer localhost par l’IP locale 192.168.x.y et Enregistrer. Cela permettra de naviguer dans les différentes pages du site depuis un autre appareil que le PC
- Aller dans le menu Maintenance et vider le cache
Le site est désormais accessible et fonctionnel sur un autre appareil en Wifi, dans un navigateur du smartphone taper : http://192.168.x.y/cooking
Réinitialiser le mot de passe admin
J’ai eu ce problème sur mon site de cuisine et j’ai bien galéré pour trouver la solution. Le symptôme : la consultation du site fonctionne parfaitement mais impossible de me connecter à la partie privée (administration).
Évidemment, c’est pour un site local pour lequel il n’y a qu’un seul admin et que l’envoi d’un mail de réinitialisation de mot de passe ne fonctionne pas.
Les opérations se font depuis le PC où le serveur LAMP est installé. Dans un terminal, aller dans le dossier /var/www/html/cooking/config/
- Renommer le fichier connect.php en connect.bak (
sudo mv connect.php connect.bak) - Dans le navigateur, taper l’URL du site avec le dossier ecrire :
http://localhost/cooking/ecrire/ - Remplir le formulaire en mettant un nouveau mot de passe : cela génère un nouveau fichier connect.php
- Reboot de la machine pour réinitialiser (j’imagine qu’il y a plus doux… Genre, arrêt-relance du service apache2)
Le site est de nouveau accessible, y compris la partie privée.
Sources
Quelques liens utiles vers les sites officiels :