Bienvenue à Jour 2 de 12 Jours de DigitalOcean ! Hier, nous avons commencé à construire notre Service de Rappel d’Anniversaire—une application simple qui envoie des notifications SMS pour les anniversaires à venir. 🎉 Nous avons configuré une base de données PostgreSQL sur DigitalOcean pour stocker les détails de contact.
Aujourd’hui, nous allons nous connecter à cette base de données en utilisant Python et configurer notre projet pour garder les informations sensibles en sécurité.
À la fin de cet article, vous aurez un script Python qui récupère de manière sécurisée des données de votre base de données et qui est prêt à évoluer lorsque nous l’hébergerons sur DigitalOcean.
✨ Pourquoi cette étape ?
Configurer la base de données n’était que le début. Pour créer une application significative, nous avons besoin d’un moyen d’interagir avec ces données de manière programmatique. Python facilite la connexion aux bases de données PostgreSQL, et avec l’aide d’une bibliothèque comme pg8000, nous pouvons travailler avec des bases de données PostgreSQL en seulement quelques lignes de code.
Pour garder les choses sécurisées, nous allons stocker nos identifiants de base de données dans un fichier .env
et les charger dans notre script en utilisant python-dotenv. Cela garantit que vos identifiants ne sont pas codés en dur dans le script, ce qui rend le partage et le déploiement de votre application plus sûrs.
🚀 Ce que vous allez apprendre
Voici le plan pour aujourd’hui :
- Stocker des identifiants sensibles dans un fichier
.env
. - Utiliser
python-dotenv
pour charger ces identifiants dans votre script. - Écrire un script Python pour se connecter en toute sécurité à votre base de données PostgreSQL en utilisant
pg8000
- Récupérer et afficher des données de la table
contacts
À la fin de cela, vous aurez une base solide pour construire la logique de l’application.
🛠 Ce dont vous aurez besoin
Avant de plonger, voici ce dont vous aurez besoin :
- La base de données que nous avons configurée le Jour 1. TODO : Lien vers l’URL du jour 1
- Python installé sur votre machine locale (nous recommandons Python 3.8+).
🧑🍳 Recette pour le Jour 2 : Connexion à PostgreSQL avec Python
Étape 1 : Installer les bibliothèques requises 📦
Pour connecter Python à PostgreSQL et garder nos identifiants sécurisés, nous allons utiliser deux bibliothèques clés :
- pg8000 : Une bibliothèque Python pure qui vous permet de vous connecter et d’interagir avec des bases de données PostgreSQL.
- python-dotenv : Un utilitaire pour charger des identifiants sensibles (comme les noms d’utilisateur et mots de passe de la base de données) à partir d’un fichier
.env
, afin de ne pas avoir à les coder en dur dans votre script.
Installons-les maintenant. Exécutez cette commande dans votre terminal :
Astuce Pro : Si vous utilisez un environnement virtuel (toujours une bonne idée !), assurez-vous de l’activer avant d’exécuter la commande ci-dessus pour garder vos dépendances organisées.
Étape 2 : Créez un fichier .env 📂
Dans le répertoire de votre projet, créez un fichier nommé .env. C’est là que nous stockerons nos identifiants de base de données. Ajoutez ce qui suit :
Remplacez les valeurs de substitution par les identifiants du Jour 1.
Astuce : Ajoutez .env
à votre fichier .gitignore
pour vous assurer que vos identifiants ne sont pas accidentellement envoyés au contrôle de version.
Étape 3 : Créez un script Python 🐍
Créez un nouveau fichier appelé connect_to_db.py
, et configurez le script pour charger les identifiants à partir de .env
en utilisant python-dotenv
, et se connecter à notre base de données.
Voici le code pour commencer :
Ce script effectue quelques opérations importantes :
- Charge en toute sécurité les identifiants de votre fichier
.env
. - Établit une connexion à votre base de données en utilisant
pg8000.connect()
. - Affiche un message de succès ou d’erreur selon le résultat.
Étape 4 : Tester la connexion ✅
Maintenant, assurons-nous que tout fonctionne. Exécutez votre script :
Si tout est configuré correctement, vous devriez voir :
Si une erreur se produit :
- Vérifiez à nouveau les valeurs dans votre fichier .env.
- Assurez-vous que votre adresse IP est ajoutée aux sources de confiance de la base de données (voir Étape 6 du Jour 1).
Étape 5 : Récupérer des données de la base de données 🔍
Maintenant, étendons le script pour récupérer des données. Mettez à jour votre script connect_to_db.py
pour inclure ce qui suit :
Cet script maintenant :
- Exécute une requête pour récupérer tous les enregistrements de la table des contacts.
- Imprime chaque enregistrement dans la console.
Remarque : Si la table est vide, pas de soucis ! Vous pouvez toujours vérifier que le script s’exécute sans erreurs. Pour tester, vous pouvez rapidement ajouter un contact d’exemple en ouvrant votre base de données avec psql
(ou votre outil préféré) et en exécutant cette commande SQL :
Si vous avez besoin d’un rappel sur l’utilisation de psql ou si vous souhaitez explorer des outils UI tels que pgAdmin ou TablePlus, consultez les instructions dans Jour 1.
🎁 Conclusion
Voici ce que vous avez accompli aujourd’hui :
✅ Installé les bibliothèques Python requises.
✅ Connecté à votre base de données PostgreSQL DigitalOcean en utilisant Python.
✅ Récupéré des données de la table contacts
avec une requête simple.
Prochainement : Demain, nous commencerons à ajouter de la logique pour trouver les anniversaires à venir et envoyer des notifications SMS en utilisant Twilio. C’est là que l’application commence à prendre vie—restez à l’écoute ! 🚀
Source:
https://www.digitalocean.com/community/tutorials/connecting-to-postgresql-database-with-python