HostOS est un CMS d'hébergement open source moderne pour les hébergeurs. Profitez de la puissance d'un front-end React entièrement self-hosted et personnalisable.
👉 Discord communautaire & support
HostOS est un CMS moderne entièrement self-hosted et open source :
- Front-end React : Interface moderne, fluide et ultra-rapide déployée sur votre infrastructure.
- Back-end Python Flask : API REST complète incluse dans le projet, également open source.
- Base de données : Template de schéma de base de données inclus pour faciliter la configuration.
- 100% Open Source : Tout le code source (front-end, back-end, base de données) est librement accessible et modifiable selon vos besoins.
- Personnalisable : Contrôle total sur le design, les fonctionnalités et l'expérience utilisateur.
- Dashboard Intuitif : Vue d'ensemble des services actifs et des dernières activités.
- Historique des Commandes : Affichage complet des achats avec synchronisation en temps réel (Patch v1.1.7).
- Sécurité Panier : Message de confirmation lors de la commande pour éviter les achats involontaires (v1.1.6).
- Authentification Fluide : Système de connexion sécurisé avec gestion des erreurs de redirection (Hotfix v1.1.7.1).
- Édition de Profil : Page de gestion de compte utilisateur (Work In Progress).
- Panel Admin Puissant : Interface dédiée pour piloter l'ensemble de l'activité.
- Gestion du Staff : Outils de création et d'administration des comptes membres d'équipe (v1.1.3).
- Commandes Manuelles : Possibilité pour le staff de créer des services directement pour les clients (v1.1.4).
- Gestion des Clients : Création manuelle et suivi des comptes clients.
- Centre d'Updates : Page dédiée listant l'historique complet des versions et correctifs (v1.1.5).
- Smart Update Alert : Icône et notification automatique si votre interface n'est pas à jour (v2.0.1). Les requêtes de mise à jour sont effectuées vers l'API publique pour vous tenir informé des dernières versions disponibles.
- Architecture React : Interface compilée pour une fluidité maximale et des temps de chargement réduits (v2.2.0).
- Personnalisation Totale : Contrôle des textes (Hero, Features, CTA) via une base de données sécurisée (Work In Progress).
- Mode maintenance : Page qui indique que le site est en maintenance, rendant toutes les autres pages inaccessibles (v2.2.1).
Ce projet est sous licence GPL v3 (GNU General Public License version 3).
La licence GPL v3 vous accorde les libertés suivantes :
- ✅ Liberté d'utilisation : Vous pouvez utiliser HostOS pour n'importe quel usage, commercial ou non.
- ✅ Liberté d'étude : Vous avez accès au code source complet pour comprendre comment fonctionne le CMS.
- ✅ Liberté de modification : Vous pouvez modifier le code selon vos besoins.
- ✅ Liberté de distribution : Vous pouvez partager le code original ou modifié.
En contrepartie, la GPL v3 vous impose certaines obligations :
- 📄 Conservation de la licence : Si vous distribuez HostOS (original ou modifié), vous devez conserver la licence GPL v3.
- 📄 Publication du code source : Si vous distribuez une version modifiée, vous devez rendre le code source disponible sous la même licence GPL v3.
- 📄 Mention de la licence : Vous devez inclure une copie de la licence GPL v3 avec toute distribution.
Bien que la GPL v3 ne l'exige pas, je vous demande respectueusement de conserver le lien vers l'auteur dans le footer par respect pour le travail fourni. C'est la meilleure façon de soutenir le projet et de montrer votre appréciation.
Le footer par défaut contient :
© 2026 HostOS — Développé par Clément Buchweiller — Open Source sur GitHub
Vous pouvez personnaliser ce footer, mais je vous serais reconnaissant de conserver au minimum une mention de l'auteur original.
Pour plus d'informations sur la licence GPL v3, consultez :
-
Récupérer le projet
- Téléchargez ou clonez le repository complet.
- Le projet contient :
- Le front-end React (dossier
public/etsrc/) - L'API Python Flask (dossier
backend/) - Le template de base de données (dossier
backend/)
- Le front-end React (dossier
-
Configurer la base de données
- Importez le template de base de données fourni dans votre système de gestion de base de données (MySQL, PostgreSQL, etc.).
- Configurez les identifiants de connexion dans votre API Flask.
-
Configurer l'API Flask
- Installez les dépendances Python nécessaires :
pip install -r requirements.txt
- Configurez les variables d'environnement (connexion à la base de données, clés secrètes, etc.).
- Démarrez l'API Flask :
python app.py
- Assurez-vous que l'API est accessible et fonctionne correctement.
- Installez les dépendances Python nécessaires :
-
Configurer le front-end
- Ouvrez
public/config.jsonà la racine du projet pour personnaliser votre installation.
Le fichier
config.jsonpermet de personnaliser votre instance HostOS sans recompiler le code. Voici les paramètres disponibles :Paramètre Description Exemple appNameNom de l'application affiché dans l'interface "Mon HostOS"appDescriptionDescription de l'application (métadonnées) "HostOS Application - An Open Source CMS for Hosts"apiUrlURL de votre API backend "https://api.votre-domaine.com"allowAdminRegisterAutoriser l'inscription admin ( 1= activé,0= désactivé)0Maintenance_modeMode maintenance ( 1= activé,0= désactivé)0faviconUrlURL du favicon "https://votre-domaine.com/favicon.ico"discordUrlLien Discord pour le support "https://discord.gg/..."versionVersion de l'application (ne pas modifier) "V3.0.0"⚠️ Important :- Les requêtes de mise à jour vers l'API publique (
https://api.ionagroup.fr/hostos/updates) permettent au panel d'administration de vous informer des dernières versions disponibles. Il est recommandé de laisser ces requêtes actives pour rester informé des mises à jour. - Pour sécuriser votre installation, mettez
allowAdminRegisterà0après avoir créé votre premier compte administrateur.
Exemple de
config.jsonconfiguré :{ "appName": "Mon HostOS", "appDescription": "HostOS Application - An Open Source CMS for Hosts", "apiUrl": "https://api.votre-domaine.com", "allowAdminRegister": 0, "Maintenance_mode": 0, "faviconUrl": "https://votre-domaine.com/favicon.ico", "discordUrl": "https://discord.gg/694D9FAE99", "version": "V3.0.0" } - Ouvrez
-
Lancer l'application
- Assurez-vous que votre API Flask est démarrée et accessible.
- Ouvrez simplement
index.htmlavec un serveur web. - Pour un test rapide en local, vous pouvez utiliser (pour la version compilée npm run preview):
npm install vite npm run dev
- L'application sera accessible sur
http://localhost:3000(ou le port indiqué) ⚠️ Important : Vérifiez que l'apiUrldansconfig.jsonpointe vers votre API Flask.
-
Déployer en production
- Base de données : Déployez votre base de données sur votre serveur de production.
- API Flask : Déployez votre API Flask (avec Gunicorn, uWSGI, ou autre serveur WSGI).
- Front-end : Déployez tous les fichiers du front-end sur votre serveur web (Apache, Nginx, etc.)
- Assurez-vous que
config.jsoncontient vos vraies valeurs (apiUrlpointant vers votre API en production, etc.) - Configurez votre serveur web pour servir
index.htmlpour toutes les routes (SPA) - Configurez CORS dans votre API Flask pour autoriser les requêtes depuis votre domaine front-end.
6.1 Déployer sur Netlify (Recommandé pour le front-end)
- Le projet contient un dossier Netlify avec la version compilée du front-end, prête à être déployée.
- Cette version compilée est plus simple à déployer car elle ne nécessite pas de compilation.
- Importez simplement le contenu du dossier Netlify sur Netlify.
- Assurez-vous que votre API Flask est déployée et accessible publiquement.
- Assurez-vous que
config.jsondans le dossier Netlify contient l'URL de votre API en production. - Netlify configurera automatiquement le déploiement.
- C'est prêt !
- L'application chargera automatiquement les paramètres depuis
config.json. - Toute modification de ce fichier sera prise en compte sans recompiler.
- Rafraîchissez simplement la page dans votre navigateur pour voir les changements.
- Vérifiez que toutes les connexions fonctionnent : front-end → API → base de données.
- L'application chargera automatiquement les paramètres depuis