Hotel IQ est une plateforme full-stack d'analyse de données qui combine la visualisation Power BI, le développement web moderne et l'analyse de sentiment par IA pour transformer les avis clients en insights stratégiques.
- Vue d'ensemble
- Fonctionnalités principales
- Architecture
- Technologies utilisées
- Installation
- Utilisation
- API
- Analyse IA
- Améliorations futures
- Auteur
Hotel IQ centralise et analyse les avis clients provenant de TripAdvisor pour offrir une vision complète de la satisfaction client. La plateforme propose :
- Tableaux de bord Power BI interactifs pour visualiser les KPIs métier
- Analyse de sentiment alimentée par l'IA (OpenAI) pour comprendre les retours clients
- Interface web moderne 100% en français pour une expérience utilisateur optimale
- Architecture full-stack démontrant des compétences en data engineering, développement web et IA
- Trois tableaux de bord Power BI intégrés (Colt, Webhelp, Réservations)
- Consultation des KPIs en temps réel
- Interface responsive et intuitive
- Analyse automatique du sentiment des 5 derniers avis
- Détection des thèmes clés et tendances
- Synthèse des points forts et axes d'amélioration
- Liste complète des hôtels
- Consultation détaillée des avis clients
- Données synchronisées depuis TripAdvisor
Hotel_IQ/
│
├── Data_Analysis_and_AI-Reviews_frontend/ # Application Angular
│ ├── src/
│ │ ├── app/
│ │ │ ├── components/ # Composants UI
│ │ │ ├── services/ # Services API
│ │ │ └── models/ # Modèles TypeScript
│ │ └── assets/ # Ressources statiques
│ └── package.json
│
├── Data_Analysis_and_AI-Reviews_backend/ # API FastAPI
│ ├── src/
│ │ ├── main.py # Point d'entrée
│ │ ├── models/ # Modèles SQLAlchemy
│ │ ├── routes/ # Endpoints API
│ │ └── services/ # Logique métier
│ ├── database/ # SQLite
│ ├── requirements.txt
│ └── .env.example
│
└── README.md
- Angular 19 – Framework web moderne
- TypeScript – Typage statique
- Power BI Embedded – Intégration des dashboards
- Iconify – Bibliothèque d'icônes (Solar Icons)
- FastAPI – Framework Python haute performance
- SQLAlchemy – ORM pour la gestion de base de données
- SQLite – Base de données légère
- OpenAI API – Analyse de sentiment par IA
- TripAdvisor API – Source des données hôtelières
Assurez-vous d'avoir installé :
- Node.js 18+ et npm
- Angular CLI 19
- Python 3.8+
- pip (gestionnaire de paquets Python)
Vous aurez également besoin de :
- Clé API TripAdvisor
- Clé API OpenAI
- Accès Power BI Embed
-
Naviguez vers le dossier backend
cd Data_Analysis_and_AI-Reviews_backend -
Créez un environnement virtuel (recommandé)
python -m venv venv source venv/bin/activate # Sur Windows : venv\Scripts\activate
-
Installez les dépendances
pip install -r requirements.txt
-
Configurez les variables d'environnement
Créez un fichier
.envà la racine du dossier backend :API_KEY=votre_clé_tripadvisor OPENAI_API_KEY=votre_clé_openai
-
Lancez le serveur
uvicorn src.main:app --host 0.0.0.0 --port 8000 --reload
-
Vérifiez l'installation
Accédez à la documentation Swagger : http://localhost:8000/docs
-
Naviguez vers le dossier frontend
cd Data_Analysis_and_AI-Reviews_frontend -
Installez les dépendances
npm install
-
Lancez l'application
npm start
-
Accédez à l'application
Ouvrez votre navigateur : http://localhost:4200
L'interface propose les sections suivantes :
| Page | Description |
|---|---|
| Accueil | Page d'accueil et présentation |
| KPI Overflow | Vue d'ensemble des indicateurs clés |
| Tableau de Bord Colt | Dashboard Power BI Colt |
| Tableau de Bord Webhelp | Dashboard Power BI Webhelp |
| Tableau de Bord Réservations | Dashboard Power BI Réservations |
| Avis sur les Hôtels | Consultation des hôtels et analyse IA |
- Accédez à la section Avis sur les Hôtels
- Sélectionnez un hôtel dans la liste
- Cliquez sur Analyser avec l'IA
- Consultez le rapport de sentiment généré
Le backend expose une API RESTful accessible à http://localhost:8000
| Méthode | Endpoint | Description |
|---|---|---|
GET |
/hotels/ |
Liste tous les hôtels |
GET |
/hotels/{location_id} |
Détails d'un hôtel spécifique |
GET |
/hotels/{location_id}/reviews |
Avis d'un hôtel |
GET |
/hotels/{location_id}/analysis |
Analyse IA des derniers avis |
curl http://localhost:8000/hotels/123456/analysis{
"sentiment": "positif",
"themes": ["propreté", "emplacement", "personnel accueillant"],
"summary": "Les clients apprécient particulièrement...",
"reviews_analyzed": 5
}L'analyse de sentiment utilise une approche RAG légère :
- Retrieval : Récupération des 5 derniers avis depuis la base SQLite
- Augmentation : Structuration des données pour le contexte
- Generation : Envoi à l'API OpenAI pour analyse
- ✅ Sentiment global (positif/négatif/neutre)
- 🔑 Thèmes récurrents identifiés
- 📈 Tendances de satisfaction
- 💬 Résumé synthétique des retours clients
Note : Cette implémentation n'utilise pas de base vectorielle mais reste efficace pour des analyses ponctuelles sur de petits volumes de données.
- Graphiques de tendances temporelles
- Export des analyses en PDF
- Filtres avancés sur les avis
- Système d'authentification et rôles utilisateurs
- Migration vers PostgreSQL
- Cache Redis pour optimiser les performances
- Conteneurisation Docker
- Pipeline CI/CD (GitHub Actions)
- Base vectorielle pour RAG avancé
- Support multilingue de l'interface
Malek Harbaoui
Data Science & Software Engineering
🔗 Compétences : Full-stack | Intelligence Artificielle | Analyse de Données
Merci d'avoir consulté Hotel IQ ! N'hésitez pas à contribuer ou à signaler des problèmes via les issues GitHub.
⭐ Si ce projet vous plaît, n'hésitez pas à lui donner une étoile ! ⭐