Grocy : l'ERP auto-hébergé qui gère votre réfrigérateur
ERP au-delà de votre réfrigérateur - Grocy est une solution Web auto-hébergée de gestion des courses et des ménages pour votre maison.
En bref
- De quoi s’agit-il ?
- Application web auto-hébergée de gestion des courses et du ménage, Grocy est un projet personnel en PHP sous licence MIT, avec API REST complète, lecture de codes-barres hors ligne et localisation via Transifex.
- À qui s’adresse-t-il ?
- Grocy concerne les foyers capables d'héberger une petite application PHP ou son conteneur Docker, et qui veulent gérer stocks, courses et tâches avec des flux codes-barres et l'automatisation par API. Il ne convient ni à ceux qui cherchent un service hébergé clé en main, ni aux langues de droite à gauche, non prises en charge.
- Puis-je l’utiliser commercialement ?
- Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 11 jours.
- En quel langage est-il écrit ?
- Principalement JavaScript, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Un ERP de réfrigérateur né d'un besoin personnel
Grocy se présente en une formule : « ERP beyond your fridge », un ERP au-delà du réfrigérateur. Derrière le clin d'œil se trouve une application web auto-hébergée de gestion des courses et du ménage, que son auteur Bernd Bestel décrit comme un projet de loisir. Sa motivation, racontée dans le README, tient en une décennie de gestion du foyer avec un logiciel C# fait maison et des feuilles Excel, aucun outil trouvé ne convenant totalement.
Le projet, sous licence MIT, affiche 9 430 étoiles et 803 forks. Deux démos publiques permettent de juger sans rien installer : demo.grocy.info sert la dernière version stable, demo-prerelease.grocy.info la version de développement. La communauté se retrouve sur r/grocy pour les questions d'usage, et sur le traqueur d'issues pour les bugs et les demandes, que l'auteur consulte quasiment chaque jour.
Installer l'application PHP ou passer par Docker
Techniquement, Grocy reste une application PHP simple, selon l'expression du README. La marche à suivre : décompresser la dernière release, copier config-dist.php vers data/config.php puis l'éditer, rendre le répertoire data inscriptible, et pointer la racine du serveur web vers le répertoire public. Sous nginx, il faut inclure try_files $uri /index.php$is_args$query_string; dans le bloc location, ou désactiver la réécriture d'URL avec l'option DISABLE_URL_REWRITING du fichier de configuration.
Côté plateforme : PHP 8.5 avec SQLite 3.40 ou plus récent, et les extensions fileinfo, pdo_sqlite, gd, ctype, intl, zlib et mbstring. Le premier accès se fait avec l'utilisateur admin et le mot de passe admin, à changer immédiatement depuis le menu utilisateur. Trois voies alternatives existent : l'image Docker linuxserver/grocy de Docker Hub, Grocy Desktop pour Windows, qui évite de gérer un serveur web, et le clonage du dépôt avec installation manuelle des dépendances Composer et Yarn.
Mettre à jour sans perdre ses données
La mise à jour suit une recette explicite : écraser l'installation avec la dernière release en conservant le répertoire data, puis comparer config-dist.php pour repérer les nouvelles options de configuration et les ajouter à data/config.php si besoin ; les réglages non définis retombent sur les valeurs par défaut du fichier de référence.
Sur Linux, le script update.sh intégré automatise tout cela, avec deux précautions à prendre : le rendre exécutable via chmod +x update.sh et vérifier la présence d'unzip. Le script crée aussi une sauvegarde .tgz de l'installation courante dans data/backups, les archives de plus de 60 jours étant supprimées à la mise à jour suivante. Le rythme de versions reste irrégulier mais vivant : v4.5.0 en mars 2025, v4.6.0 en mars 2026, puis v4.7.0 le 28 août 2026, jour du dernier push du dépôt.
L'API REST comme colonne vertébrale
Le README livre un détail qui change la donne pour l'automatisation : le frontend web utilise exactement l'API REST pour quasiment tout, donc tout ce que l'interface fait est possible via l'API. Une instance Swagger UI intégrée documente les points d'accès sur la route /api, visible en démonstration sur demo.grocy.info/api. Ajouter un produit depuis un script maison devient un appel HTTP documenté.
Cette ouverture se prolonge dans les plugins de recherche de produits par code-barres. Le workflow External barcode lookup interroge des services externes quand un code inconnu est saisi, et un plugin Open Food Facts est inclus et activé par défaut via l'option STOCK_BARCODE_LOOKUP_PLUGIN de data/config.php. Pour brancher un autre service, le fichier plugins/DemoBarcodeLookupPlugin.php sert d'exemple commenté.
Codes-barres : lecteur USB ou caméra du téléphone
Les champs marqués d'une icône de code-barres acceptent la saisie par scan. Le README explique la configuration idéale d'un lecteur matériel : qu'il préfixe chaque code par une lettre absente des noms de produits, l'auteur utilise le signe dollar, et qu'il envoie un TAB après chaque scan, ce qui valide le champ immédiatement.
La caméra du périphérique fonctionne aussi, via ZXing, avec un traitement du flux vidéo entièrement côté client et hors ligne. La restriction vient du navigateur : le scan caméra n'opère que si Grocy est servi en HTTPS. L'auteur donne sa préférence sans détour au lecteur laser USB, qu'il juge meilleur, plus rapide, et utilisable sous n'importe quel éclairage et angle. Pour un foyer qui scanne ses courses au retour du magasin, c'est un équipement à quelques dizaines d'euros qui transforme l'usage quotidien.
Localisation et support : les règles du projet
Grocy se localise entièrement : l'anglais est intégré au code, et l'allemand, langue de l'auteur, est toujours maintenu par lui. Les autres langues passent par Transifex, avec une règle claire : une traduction ayant atteint 70 % de la ressource strings entre dans les releases. La démo de pré-release tire les traductions de Transifex dix minutes passées chaque heure pour toute langue complète à 70 % au moins, ce qui offre un aperçu quasi instantané des contributions. La langue par défaut se règle dans data/config.php avec Setting('DEFAULT_LOCALE', 'de'); et chaque utilisateur peut choisir la sienne. Les langues de droite à gauche ne sont pas prises en charge.
Le support suit des règles affichées : r/grocy pour l'aide générale, le traqueur d'issues pour les bugs, et aucun support par message privé ni par téléphone. La liste des add-ons communautaires vit sur grocy.info/addons. Ce cadre, assumé par un auteur qui vérifie les canaux quasiment chaque jour, définit ce qu'un utilisateur peut attendre du projet : une application vivante et suivie, mais sans engagement de service.
Conclusion éditoriale
Grocy concerne les foyers capables d'héberger une petite application PHP ou son conteneur Docker, et qui veulent gérer stocks, courses et tâches avec des flux codes-barres et l'automatisation par API. Il ne convient ni à ceux qui cherchent un service hébergé clé en main, ni aux langues de droite à gauche, non prises en charge. Avant d'installer, testez la démo demo.grocy.info, puis déployez l'archive de la dernière release, éditez data/config.php et changez immédiatement le mot de passe admin par défaut.
Notes de la communauté