• 10 heures
  • Difficile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 20/12/2021

Mettez en place votre environnement de développement

En tant que développeur, vous en avez l’habitude, avant de commencer à coder, il faut préparer nos outils ! 🙂

En l'occurrence, nous devons mettre en place notre environnement de développement, et je vous propose 3 étapes :

  • Installer MongoDB.

  • Créer la structure du projet.

  • Configurer le projet.

Installez votre BDD MongoDB

Premièrement, nous devons télécharger et installer la base de données MongoDB. Sans cela, nous n’irons pas bien loin.

Rendez-vous sur la page de téléchargement de MongoDB Community Server !

Au moment où ce cours est écrit, MongoDB est en version 5.0.3, comme le montre la copie d’écran ci-dessous :

La page de téléchargement de MongoDB Community Server propose de télécharger MongoDB en version 5.0.3 pour la plateforme Windows.
Page de téléchargement de MongoDB Community Server

Dans mon cas, je vais installer MongoDB sur un poste Windows, mais il est aussi disponible pour diverses distributions Linux et pour Mac OS.

Pour ce qui est des étapes d’installation, je préfère vous rediriger vers la documentation officielle qui est très bien faite à ce sujet. Cette documentation est plus précise que moi, et sera maintenue à jour.  Notez que vous y trouverez également les liens pour une installation sur Windows, Linux ou Mac OS.

C’est bon ? MongoDB est prêt ? Alors continuons !

Créez la structure minimale de votre projet

Notre base de données est désormais opérationnelle ! Passons à la seconde étape : créer la structure minimale.

Comme nous l’avons vu dans le chapitre précédent, l’utilisation de Spring Data MongoDB est facilitée par l’utilisation de Spring Boot. Nous allons donc nous en servir pour initialiser notre projet et créer sa structure minimale. Une fois que cela sera fait, nous pourrons importer le projet dans notre IDE. Personnellement, j'utilise Spring Tool Suite. Mais vous êtes libre d’utiliser l’IDE de votre choix.

Pour générer la structure minimale, utilisons Spring Initializr. Remplissons les informations du formulaire :

Le formulaire a été complété avec les diverses informations requises, comme la version de Java, de Spring Boot, le nom du projet et les dépendances.
Formulaire Spring Initializr de génération de l’application

Les valeurs par défaut pour Project, Language, Spring Boot, Packaging et Java nous conviennent très bien.

Pour les Project Metadata, je vous propose :

  • Group : com.openclassrooms ;

  • Artifact : blogDataLayer ;

  • Name : blogDataLayer ;

  • Description : Data Layer for the blog ;

  • Package name : com.openclassrooms.blogdatalayer.

Pour ce qui est des dependencies, une seule est nécessaire : Spring Data MongoDB. Il s’agit d’un starter de dépendances pour accéder à toutes les classes nécessaires à l’utilisation du framework Spring Data MongoDB.

Grâce à cette dépendance, notre application Java sera en capacité de communiquer avec la BDD.

Il ne vous reste plus qu’à appuyer sur le bouton ‘Generate’ pour obtenir un fichier ZIP qui contient la structure du projet.

En dézippant le fichier, vous obtenez donc le code de base, et vous pouvez l’ajouter à votre IDE grâce à la fonctionnalité d’importation d’un projet Maven. Avec Spring Tool Suite (pour Eclipse), l’import se fait via les actions suivantes : File > Import... > Existing Maven Projects.

Et voici le résultat en image au sein de mon IDE :

L’arborescence du projet est affichée, à savoir les répertoires, les fichiers, les packages.
Arborescence du projet via la vue Package Explorer

Passons à la troisième et dernière étape, configurer le projet.

Configurez et testez votre projet

À ce stade de la mise en place de notre environnement de développement, nous avons :

  1. Une base de données MongoDB disponible.

  2. Un projet Spring Boot initialisé dans notre IDE.

Est-ce à dire que les 2 peuvent interagir ensemble ?

Pas tout à fait encore !  Mais rassurez-vous, il manque peu de choses.

Ce n’est pas parce que MongoDB et l’application Java sont sur le même ordinateur qu’ils peuvent se “rencontrer”. Nous devons fournir à l’un les informations de l’autre. En l'occurrence, nous devons indiquer à l’application Java les informations de la base de données MongoDB.

Mais quelles informations ?

L’hôte qui héberge la base, le port sur lequel MongoDB écoute, ou bien encore le nom de la base.

Et comment les renseigner dans notre application ?

Bonne question ! Grâce au fichier application.properties qui est déjà présent dans notre projet.

Laissez-moi vous montrer tout cela dans la démonstration qui suit :

Voici le fichier que nous avons obtenu lors de cette démonstration :

spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=blog

Assez simple, n’est-ce pas ?

Reprenons chaque propriété une à une :

  • spring.data.mongodb.host : permet d’indiquer l’hôte où la base de données est installée ;

  • spring.data.mongodb.port : permet d’indiquer le port utilisé par la base de données ;

  • spring.data.mongodb.database : permet d’indiquer le nom de la base de données. 

Dans cette situation, la base de données MongoDB peut être jointe sans fournir un compte utilisateur autorisé. Si cela s’avère nécessaire, vous pouvez utiliser les 2 propriétés spring.data.mongodb.username et spring.data.mongodb.password.

Nous sommes prêts à tester la connexion à la base de données. Rien de plus simple, nous allons démarrer notre projet et observer son comportement. Ce dernier nous révèlera si la connexion à la base de données est opérationnelle ou non.

Si vous utilisez Spring Tool Suite, vous pouvez lancer l’application via le Boot Dashboard, comme le montre l’image ci-dessous :

Le Boot Dashboard liste les projets disponibles au sein de l’IDE, et permet d’exécuter une série d’actions comme “Start or restart” ou bien “Stop”.
Boot Dashboard de Spring Tool Suite

Vous pouvez également démarrer l’application via la commande mvn spring-boot:run, depuis une invite de commande ou depuis votre IDE.

Si le résultat est valide, vous devriez avoir une trace (log) qui ressemble à la suivante :

L’application a démarré, et plusieurs informations sont écrites dans la console. Ce visuel contient une dizaine de lignes d’informations.
Résultat dans la console du démarrage de l’application

Nous observons une trace qui indique “Opened connection”.

La présence de cette trace confirme que notre configuration est valide. Son absence serait signe d’une erreur de configuration.

Pour faciliter les opérations dans les prochains chapitres, je vous fournis des données à importer dans votre base MongoDB. Il s’agit de 2 collections posts et tutorials exportées dans 2 fichiers au format JSON : posts.json et tutorials.json.

Les fichiers sont téléchargeables grâce au repository GitHub du cours.

Pour importer ces données en quelques clics, la documentation de MongoDB Compass indique les étapes à suivre.

En résumé

  • MongoDB Community Server est une version gratuite pour utiliser une base de données MongoDB.

  • L’utilisation de Spring Boot facilite la connexion de l’application Java à la base de données MongoDB.

  • Les informations de connexion peuvent être saisies dans le fichier application.properties.

  • Le host, le port et le nom de la base de données peuvent suffire pour établir une connexion. Si nécessaire, le username et le password peuvent également être fournis.

C’est ainsi que nous terminons ce chapitre et la première partie du cours. Rendez-vous dans la deuxième partie du cours pour réaliser les opérations CRUD sur notre application avec Spring Data MongoDB. Mais avant, je vous propose de tester vos connaissances grâce au quiz !

Exemple de certificat de réussite
Exemple de certificat de réussite