# Se connecter localement
mongosh
# Se connecter à une base distante
mongosh "mongodb+srv://<user>:<password>@cluster0.mongodb.net/test"
MongoDB Compass (GUI) : Application graphique pour explorer visuellement vos bases et collections, faire des requêtes, importer/exporter des données, etc.
Astuce
Pour des tests rapides, MongoDB Atlas propose une instance cloud gratuite, sans installation locale.
Quiz
Quel est le port par défaut utilisé par MongoDB?
Réponse : 27017
QCM
Découverte de MongoDB Atlas
Présentation générale
MongoDB Atlas est la plateforme cloud officielle de MongoDB, qui permet de déployer, gérer et faire évoluer des bases de données MongoDB dans le cloud (AWS, Azure, GCP).
graph TD
A[Atlas UI] --> B[API Gateway]
B --> C[Authentication Service]
B --> D[Cluster Manager]
B --> E[Monitoring Service]
C --> F[User DB]
D --> G[Cluster 1]
D --> H[Cluster 2]
D --> I[Cluster 3]
G[PRIMARY] --> J[SECONDARY]
G --> K[SECONDARY]
J --> K
J --> G
K --> G
K --> J
H[PRIMARY] --> L[SECONDARY]
H --> M[SECONDARY]
L --> M
L --> H
M --> H
M --> L
I[PRIMARY] --> N[SECONDARY]
I --> O[SECONDARY]
N --> O
N --> I
O --> I
O --> N
style A fill:#f0f8ff,stroke:#4a90e2
style B fill:#f0f8ff,stroke:#4a90e2
style C fill:#f0f8ff,stroke:#4a90e2
style D fill:#f0f8ff,stroke:#4a90e2
style E fill:#f0f8ff,stroke:#4a90e2
style F fill:#f0f8ff,stroke:#4a90e2
style G fill:#f0f8ff,stroke:#4a90e2
style H fill:#f0f8ff,stroke:#4a90e2
style I fill:#f0f8ff,stroke:#4a90e2
style J fill:#f0f8ff,stroke:#4a90e2
style K fill:#f0f8ff,stroke:#4a90e2
style L fill:#f0f8ff,stroke:#4a90e2
style M fill:#f0f8ff,stroke:#4a90e2
style N fill:#f0f8ff,stroke:#4a90e2
style O fill:#f0f8ff,stroke:#4a90e2
style A::after fill:#f0f8ff,stroke:#4a90e2
style B::after fill:#f0f8ff,stroke:#4a90e2
style C::after fill:#f0f8ff,stroke:#4a90e2
style D::after fill:#f0f8ff,stroke:#4a90e2
style E::after fill:#f0f8ff,stroke:#4a90e2
style F::after fill:#f0f8ff,stroke:#4a90e2
style G::after fill:#f0f8ff,stroke:#4a90e2
style H::after fill:#f0f8ff,stroke:#4a90e2
style I::after fill:#f0f8ff,stroke:#4a90e2
style J::after fill:#f0f8ff,stroke:#4a90e2
style K::after fill:#f0f8ff,stroke:#4a90e2
style L::after fill:#f0f8ff,stroke:#4a90e2
style M::after fill:#f0f8ff,stroke:#4a90e2
style N::after fill:#f0f8ff,stroke:#4a90e2
style O::after fill:#f0f8ff,stroke:#4a90e2
Chaque node est une copie complète de la base de données
Cluster Configuration
Comparaison des providers
graph TD
A[Cloud Providers] --> B[AWS]
A --> C[Azure]
A --> D[GCP]
B -->|★★★★★| E[Global Reach]
B -->|★★★★| F[Support]
B -->|★★★| G[Coût]
B -->|★★★★★| H[Intégration]
C -->|★★★★| E
C -->|★★★★★| F
C -->|★★★★| G
C -->|★★★★| H
D -->|★★★★| E
D -->|★★★★| F
D -->|★★★★★| G
D -->|★★★★★| H
style A fill:#f9f9f9,stroke:#666
style B fill:#FF9900,stroke:#FF9900
style C fill:#0089D6,stroke:#0078D4
style D fill:#4285F4,stroke:#34A853
style E fill:#FF9900,stroke:#FF9900
style F fill:#0089D6,stroke:#0078D4
style G fill:#4285F4,stroke:#34A853
style H fill:#f9f9f9,stroke:#666
style B::after fill:#FF9900,stroke:#FF9900
style C::after fill:#0089D6,stroke:#0078D4
style D::after fill:#4285F4,stroke:#34A853
style E::after fill:#FF9900,stroke:#FF9900
style F::after fill:#0089D6,stroke:#0078D4
style G::after fill:#4285F4,stroke:#34A853
style H::after fill:#f9f9f9,stroke:#666
Low carbon emissions
Choose the region closest to your users to:
Reduce latency
Comply with local regulations
Optimize costs
Define an IP access list for your cluster.
Configure database users and their permissions.
Choose how to connect to your database.
Security Settings
Principe de la liste IP
La liste IP permet de sécuriser l'accès à votre cluster en ne permettant les connexions que depuis les adresses IP autorisées.
flowchart TD
A[Client] --> B{IP Whitelist}
B -->|Autorisé| C[Accès MongoDB]
B -->|Refusé| D[Connexion Refusée]
style A fill:#f9f9f9,stroke:#666
style B fill:#4a90e2,stroke:#357abd
style C fill:#4caf50,stroke:#45a049
style D fill:#f44336,stroke:#d32f2f
style A::after fill:#f9f9f9,stroke:#666
style B::after fill:#4a90e2,stroke:#357abd
style C::after fill:#4caf50,stroke:#45a049
style D::after fill:#f44336,stroke:#d32f2f
Les connexions sont bloquées par défaut, seul les IP autorisées peuvent se connecter
Bonnes pratiques
Ne pas utiliser 0.0.0.0/0 (toutes les IP)
Utiliser des plages IP spécifiques
Mettre à jour régulièrement la liste
Documenter les IP autorisées
Interface de démonstration - L'interface réelle peut varier
Configuration d'un cluster
Configuration d'un Cluster
Cloud Provider
Cluster Tier
Interface de démonstration - L'interface réelle peut varier
Paramètres principaux lors de la création d'un cluster :
Cloud Provider : AWS, Azure ou GCP
Region : Choisir la région la plus proche
Cluster Tier : M0 (gratuit), M2, M5, etc.
Replication : Configuration des réplicas
Connexion à la base de données
Configuration de sécurité
1. Gestion des utilisateurs
Création d'un utilisateur avec les droits nécessaires
import com.mongodb.client.MongoClients
import org.mongodb.scala.MongoClient
// Connexion avec le driver Scala
val uri = "mongodb+srv://username:password@cluster0.mongodb.net"
val mongoClient = MongoClient(uri)
// Utilisation avec le driver Java
val javaClient = MongoClients.create(uri)
// Exemple de requête
val database = mongoClient.getDatabase("mydb")
val collection = database.getCollection("mycollection")
// Insertion d'un document
val document = Document("name" -> "John", "age" -> 30)
collection.insertOne(document).subscribe(
(result: InsertOneResult) => println(s"Document inserted: ${result.getInsertedId}")
)
Conseils pour la connexion
Assurez-vous que votre IP est autorisée dans Network Access
Utilisez des mots de passe sécurisés
Activez TLS/SSL pour la sécurité
Utilisez des connexions MongoDB+SRV pour la haute disponibilité
Exemple de configuration de sécurité
Configuration minimale recommandée :
Créer un utilisateur avec les droits nécessaires
Restreindre les IP autorisées
Utiliser une authentification forte
Activer l'encryption en transit
Exercices, examens et projets
Exercice
Atelier MongoDB
Concevoir un schéma documentaire et manipuler une collection.
Nous utilisons des cookies pour améliorer votre expérience. Certains sont essentiels au fonctionnement du site, d'autres nous aident à analyser l'utilisation et à personnaliser le contenu.