Application web professionnelle de gestion d'établissement d'hébergement (maison d'hôte) avec design system MOA.
Système complet de gestion pour maisons d'hôtes permettant de :
- Gérer les séjours et les clients
- Calculer automatiquement les tarifs, taxes et charges
- Suivre les statistiques et le tableau de bord
- Configurer les paramètres de l'établissement
- Base de données clients complète
Cette application utilise le MOA Design System développé par MOA Digital Agency LLC :
- Bordures pointillées (3px dotted) signature MOA
- Sections colorées avec codes couleur sémantiques
- Boutons avec bordures solides (2px)
- Typographie compacte et professionnelle
- Badges avec bordures pill-shaped
- Design responsive mobile-first
- Python 3.11+
- PostgreSQL
- uv (gestionnaire de paquets Python)
- Cloner le projet
git clone <votre-repo>
cd workspace- Installer les dépendances
uv sync- Configurer la base de données
Créer une base de données PostgreSQL et définir la variable d'environnement :
export DATABASE_URL="postgresql://user:password@host:port/database"- Initialiser la base de données
uv run python -c "from backend.config.database import init_db; init_db()"- Lancer l'application
gunicorn --bind 0.0.0.0:5000 --reload backend.app:appL'application sera accessible sur : http://localhost:5000
- Nom d'utilisateur :
admin - Mot de passe :
admin123
workspace/
├── backend/
│ ├── config/
│ │ ├── __init__.py
│ │ └── database.py # Configuration base de données
│ ├── models/
│ │ ├── __init__.py
│ │ ├── user.py # Modèle utilisateur
│ │ ├── client.py # Modèle client
│ │ ├── personne.py # Modèle personne
│ │ └── sejour.py # Modèle séjour
│ ├── routes/
│ │ ├── __init__.py
│ │ ├── auth.py # Routes authentification
│ │ ├── clients.py # Routes clients
│ │ ├── reservations.py # Routes réservations
│ │ ├── parametres.py # Routes paramètres
│ │ ├── countries.py # Routes pays
│ │ └── cities.py # Routes villes
│ ├── __init__.py
│ ├── app.py # Application Flask principale
│ └── utils.py # Utilitaires
├── frontend/
│ ├── static/
│ │ ├── css/
│ │ │ └── styles.css # Styles MOA Design System
│ │ └── data/
│ │ └── countries.json # Données pays
│ └── templates/
│ ├── base.html
│ ├── base_dashboard.html
│ ├── login.html
│ ├── dashboard.html
│ ├── nouvelle_sejour.html
│ ├── reservations.html
│ ├── clients_list.html
│ └── parametres.html
├── pyproject.toml # Configuration du projet
├── requirements.txt # Dépendances Python
└── README.md # Ce fichier
- Backend : Flask 3.1.2, Flask-Login, Flask-CORS, Flask-SQLAlchemy
- Base de données : PostgreSQL (avec psycopg2-binary)
- Serveur web : Gunicorn 23.0.0
- Frontend : HTML5, CSS3 (MOA Design System), JavaScript vanilla
- Validation : email-validator
- Import/Export : openpyxl
- Système de connexion sécurisé avec Flask-Login
- Gestion des sessions utilisateur
- Hashage des mots de passe avec Werkzeug
- Suivi automatique de toutes les activités utilisateur
- Middleware de logging des actions
- Support de plusieurs établissements simultanément
- Configuration individuelle par établissement (devise, taxes, etc.)
- Logo personnalisé par établissement
- Activation/désactivation des établissements
- Numérotation automatique des séjours par établissement
- Création et modification de séjours
- Numérotation automatique et personnalisable (format: RES-{YYYY}{MM}{DD}-{NUM})
- Attribution de chambres multiples
- Gestion multi-clients par séjour
- Calcul automatique des taxes, TVA et charges plateforme
- Suivi des statuts (actif, fermé)
- Page de détail complète avec résumé financier
- Clôture de séjours avec tracking de date
- CRUD complet des chambres
- Association aux établissements
- Définition de la capacité et du prix par nuit
- Gestion des statuts (disponible, occupée, maintenance, hors service)
- Description détaillée
- Base de données complète des clients
- Informations personnelles (nom, prénom, email, téléphone)
- Gestion des pièces d'identité (type et numéro)
- Date de naissance et informations de contact
- Association aux séjours
- Export Excel des listes clients
- Définition du contact principal par séjour
- CRUD complet du personnel
- Informations professionnelles (poste, salaire, date d'embauche)
- Gestion granulaire des accès par section:
- Accès dashboard
- Accès séjours
- Accès clients
- Accès extras
- Accès statistiques
- Accès paramètres
- Activation/désactivation des comptes
- Association aux établissements
- Création d'extras personnalisés (services additionnels)
- Définition du prix unitaire et de l'unité
- Association aux séjours
- Calcul automatique des montants totaux
- Suivi des quantités
- Facturation intégrée aux séjours
- Gestion par établissement
- Vue d'ensemble des séjours (total, actifs, fermés)
- Métriques clients (total, clients uniques)
- Performance par établissement
- Taux d'occupation des chambres
- Graphiques et visualisations en temps réel
- Tableaux de bord colorés avec design MOA
- Suivi automatique de toutes les actions utilisateur
- Filtres avancés (type d'action, date, utilisateur)
- Affichage détaillé (route, méthode HTTP, IP, user agent)
- Export CSV des logs
- Pagination performante
- Détails JSON pour chaque action
- Interface moderne avec filtres organisés
- Support Airbnb, Booking.com et autres plateformes
- Synchronisation automatique des séjours externes
- Gestion multi-calendriers par établissement
- Affichage double vue:
- Vue Liste: Tableau détaillé des séjours
- Vue Calendrier: Calendrier visuel mensuel avec séjours
- Bouton de basculement entre les vues
- Statut de synchronisation en temps réel
- Import automatique des séjours externes
- Configuration de comptes email (SMTP/POP)
- Envoi et réception d'emails
- Gestion des dossiers (inbox, envoyé, etc.)
- Marquage des messages (lu/non-lu, favoris)
- Recherche par email client
- Support des pièces jointes
- Informations Établissement:
- Nom, adresse, contact
- Numéro d'identification
- Logo personnalisé
- Devise (MAD, EUR, USD, etc.)
- Configuration Financière:
- Taux de taxe de séjour
- Taux de TVA
- Taux de charge plateforme
- Gestion des Chambres:
- Nombre de chambres
- Prix par chambre
- Gestion des Utilisateurs:
- Création et modification de comptes
- Gestion des rôles
- Utilitaires:
- Export de données
- Importation de données
- Réinitialisation
- Export Excel des listes clients
- Export CSV des logs d'activité
- Export des statistiques
- Gestion des sauvegardes
- Import de données depuis Excel
- Bleu (
#3b82f6) : Actions primaires - Vert (
#22c55e) : Succès, validations - Violet (
#8b5cf6) : Sections spéciales - Orange (
#f97316) : Avertissements - Rouge (
#ef4444) : Erreurs, suppressions
Les sections utilisent des bordures pointillées (3px dotted) avec des couleurs correspondant à leur fonction :
.section-blue { border: 3px dotted #3b82f6; }
.section-green { border: 3px dotted #22c55e; }
.section-purple { border: 3px dotted #a855f7; }Tous les boutons utilisent des bordures solides (2px) :
.btn-primary {
background: #eff6ff;
color: #1d4ed8;
border: 2px solid #3b82f6;
}DATABASE_URL: URL de connexion PostgreSQLSECRET_KEY: Clé secrète Flask (optionnel, défaut en développement)PGHOST,PGPORT,PGUSER,PGPASSWORD,PGDATABASE: Configuration PostgreSQL
Le système crée automatiquement les tables suivantes :
users: Utilisateurs du systèmesejours: Séjourspersonnes: Clients et contactsparametres_systeme: Configuration de l'établissement
flask run --debuguv run python -c "from backend.config.database import init_db; init_db()"Développé par MOA Digital Agency LLC
MOA Digital Agency LLC
- Créé par : Aisance KALONJI
- Email : [email protected]
- Website : www.myoneart.com
Pour toute question ou problème, veuillez contacter l'équipe de support MOA.
Version : 1.0.0
Dernière mise à jour : Novembre 2025