Skip to content

About

Concevoir et analyser une base de données NoSQL dans la perspective d'un rapport qui doit étayer l’effet “Jeux Olympiques 2024” sur l’offre de logements à Paris

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

AirbnbNoSQL

Ce dépôt contient la mise en place d'une base NoSQL MongoDB pour des données Airbnb (Paris/Lyon), avec des scripts PowerShell pour replica set, cluster shardé et vérification.

Dépôt GitHub : https://github.com/PascalDuval/AirbnbNoSQL

1) Périmètre du projet

Cette étude vise à analyser l'offre de logements Airbnb à Paris dans la perspective d'un rapport sur l'effet des Jeux Olympiques 2024 sur le marché du logement.

Le périmètre fonctionnel couvre :

  1. La restauration d'une base NoSQL MongoDB à partir de données Airbnb (CSV/JSON), puis l'inspection des documents.
  2. L'analyse de la structure des données (schéma flexible, types hétérogènes, qualité des champs).
  3. La production de requêtes analytiques métier pour mesurer :
  • la disponibilité et les types de logements,
  • la part de locations entières,
  • les hôtes multi-annonces et super-hôtes,
  • la distribution géographique des annonces.
  1. La justification du choix MongoDB/NoSQL pour des données semi-structurées et évolutives issues de scraping.
  2. Les aspects d'exploitation: sauvegarde/restauration, supervision, et contrôle d'accès.

Référence du périmètre :

  • documentation/Duval_Pascal_presentation2_projet7-NoSQL_26122025.pdf

2) Structure du dépôt

data/
  raw/            # données sources CSV/JSON
  exports/        # exports depuis MongoDB
  schemas/        # schéma JSON et pipeline diagnostic
notebooks/        # notebooks d'analyse
scripts/
  powershell/     # scripts PS1 d'infra MongoDB (numérotés)
  mongo/          # scripts JS exécutés dans mongosh
  tests/          # documentation de tests séquentiels
documentation/    # documentation officielle (dont périmètre PDF)
docus/            # archives / fichiers non essentiels

Le document de périmètre est dans :

  • documentation/Duval_Pascal_presentation2_projet7-NoSQL_26122025.pdf

3) Cloner le dépôt

git clone https://github.com/PascalDuval/AirbnbNoSQL.git
Set-Location .\AirbnbNoSQL

Vérifier l'état :

git status -sb

4) Prérequis techniques

  1. Windows 10/11
  2. MongoDB Community Server (Desktop Windows) installé
  3. MongoDB Compass (Desktop) installé
  4. mongosh installé
  5. PowerShell autorisé à exécuter les scripts

Voir le guide détaillé :

  • documentation/MONGODB_WINDOWS_INSTALLATION.md

5) Configurer Jupyter / noyau Python

Interpréteur recommandé :

  • C:/chemin/vers/envs/projet-python/python.exe

Dans VS Code:

  1. Ouvrir un notebook dans notebooks/.
  2. Sélectionner le kernel projet-python (ou l'interpréteur ci-dessus).
  3. Installer les paquets avec %pip dans le notebook (éviter !pip).

Exemple dans une cellule notebook :

%pip install pandas pymongo polars matplotlib

Guide pas à pas :

  • documentation/JUPYTER_KERNEL_SETUP.md

6) Scripts PowerShell (ordre conseillé)

Les scripts sont numérotés pour un enchaînement séquentiel clair.

Scénario A - Replica Set géographique

  1. scripts/powershell/01_start-mongo-replica.ps1
  2. scripts/powershell/02_test-replication-manuel.ps1

Scénario B - Cluster shardé

  1. scripts/powershell/03_start-sharded-cluster.ps1
  2. scripts/powershell/04_init-sharded-cluster.ps1
  3. scripts/mongo/05_shard-move-chunks.js

Guide complet d'exécution et rôle de chaque script :

  • documentation/SCRIPTS_PS1_GUIDE.md

7) Commandes d'exécution

Depuis la racine du dépôt :

Set-Location .\scripts\powershell
PowerShell -ExecutionPolicy Bypass -File .\01_start-mongo-replica.ps1
PowerShell -ExecutionPolicy Bypass -File .\02_test-replication-manuel.ps1

Pour cluster shardé :

Set-Location .\scripts\powershell
PowerShell -ExecutionPolicy Bypass -File .\03_start-sharded-cluster.ps1
PowerShell -ExecutionPolicy Bypass -File .\04_init-sharded-cluster.ps1

Puis dans mongosh (connecté sur port 27000) :

load("./scripts/mongo/05_shard-move-chunks.js")

8) Données

  • Sources: data/raw
  • Exports MongoDB: data/exports
  • Schéma/pipeline : data/schemas
  • Archives/inutiles non versionnées : docus/

9) Notes importantes

  1. Les scripts utilisent des chemins absolus locaux (ex : C:\Program Files\MongoDB\Server\8.0\bin). Adapter ces chemins si nécessaire.
  2. Les ports utilisés sont principalement 27000, 27017, 27018, 27019, 26001, 26002, 26003.

10) GitHub

Push standard (déjà configuré localement) :

git add .
git commit -m "Message explicite"
git push -u origin main

Important : les gros fichiers de data/ passent par Git LFS.

About

Concevoir et analyser une base de données NoSQL dans la perspective d'un rapport qui doit étayer l’effet “Jeux Olympiques 2024” sur l’offre de logements à Paris

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages