Brancher sa bdd à Replit

Une fois notre base de données créée et notre projet replit débuté, il faut connecter notre bdd à ce dernier.

Dans cette page tu trouveras :

Installation de dnspython

Le package dnspython permet à python d’interroger les IP. 
Comme tu l’as remarqué lors de ta configuration de bdd, nous en avons besoin. Bien que replit peut fonctionner sans, installer ce package peut te permettre d’éviter quelques erreurs pendant ta programmation.

Dans ton projet replit :

Pour installer ce package, va dans les outils.

Clique sur Packages

  • Recherche « dnspython »
  • Tu vas en trouver plusieurs, choisis dnspython3 et installe le.

 

Execute ton code replit pour qu’il prenne en compte ton installation et l’insère dans ton programme.

Note : 

Depuis la maj de dnspython 2.3.0 en 2.4.2, il se peut que ce soit ce package qui fonctionne sur ton projet. 
Si tu as une erreur avec le package dnspython3, désinstalle le, et prends celui-ci

L’installation des packages doit être minimale et contrôlée. N’installe pas les packages portant le nom de pymongo, mongodb etc, tu n’en n’auras pas besooib, et tu risques au contraire de créer des interactions entre eux et empêcher ton code de fonctionner.

Configurer la connexion à la bdd

La toute première chose à faire, est de créer une clé secrète dans ton projet replit. Dans cet exemple on l’appellera MONGO_KEY

Sur mongoDB, tu vas aller chercher la connexion de ton cluster.

Clique à droite sur le menu Database.

Puis choisis le bouton Connect.

Choisis Connect to your application 

En cliquant sur Drivers

Configure ton driver sur Python, et choisis la dernière version proposée.
(Replit à l’avantage de toujours utiliser la dernière version de python)

 

Ensuite copie bien le lien de branchement de la bdd que tu vas mettre dans ta clé secrète sur ton projet replit. 

Retourne sur replit !

Dans ta clé secrète (que l’on a appelé ici MONGO_KEY), colle ton lien de connexion dans « Value »

 

Change le <password> par ton vrai mot de passe d’utilisateur

(Si tu l’as oublié, va dans la section « j’ai oublié mes identifiants mongoDB »)

Enfin, dans ton fichier main.py :

Importe en haut de ton code pymongo pour utiliser ta bdd dans replit, et os qui permet de récupérer ta clé secrète.

Et appelle ta clé d’environnement secrète.

Tu peux suivre cet exemple pour voir où ton appel doit être programmé :

  • Après la création de ton appli flask
  • Et avant ta première route pour que ta bdd soit bien prise en compte sur toutes tes pages

Tester la connexion à sa bdd

La connexion de sa bdd à son projet replit n’est pas l’étape la plus simple. On peut très facilement avoir fait une erreur (coquille de syntaxe, oubli d’une étape, ou encore se tromper en copiant notre mot de passe…)

Avant de continuer notre programmation, il est primordial de tester sa connexion et s’assurer qu’elle fonctionne. 

Cela te permettra pendant les phases de debug futur au cours de ta programmation, de ne plus te demander si cela peut venir de la base de données, et t’enlever des vérifications multiples entre probleme de code ou de connexion de base de données.

Pour faire ce test, on va créer le premier appel de bdd par une phase de test. Son avantage est de se concentrer uniquement sur la bonne connexion de la bdd ! Il y a très peu de code, si ca ne fonctionne pas, ca vient du branchement de la bdd à replit.

On va créer une collection “test” dans notre database.

Pour cela va dans Database, puis Browse Collections

Clique sur le bouton « Create Database » et remplit le nom de ta database (ici db) et le nom de ta première collection (ici test)

Puis on va mettre 3 documents, pour qu’elle contiennent 3 phrases.

Clique sur « insert document » et remplit un champs phrase comme sur cet exemple



Dans ton fichier main.py :

  • Tu vas créer la route « test » qui permettra de voir nos phrases inscrites en bdd sur cette url.
  • Dans la fonction test(), tu vas interroger ta table db.test
  • Dans une variable test, tu vas stocker la requête bdd permettant de trouver tous les documents de ta table.
  • Et tu vas retourner ton template test.html, ainsi que sa variable test pour l’affichage des phrases.

Créer ton template test.html 

Tu vas boucler de façon dynamique, l’affichage de toutes les phrases.

Dans l’aperçu de ton site :

Tu dois voir sur ta route /test, les 3 phrases que tu as créés dans ta base de données.

Retour en haut