Déploiement sur Render
Render est une plate-forme d'hébergement cloud qui offre un moyen transparent et simple de déployer et de gérer des sites Web statiques, des applications Web à part entière, des API ou des bases de données PostgreSQL.
Voici quelques caractéristiques clés :
- Interface conviviale : Render fournit une interface simple et intuitive qui simplifie le processus de déploiement d'applications créées à l'aide de langages de programmation populaires tels que Python et Node.js.
- Bases de données intégrées : Render offre une prise en charge intégrée des bases de données PostgreSQL, ce qui facilite la configuration et l'intégration de bases de données dans des applications sans avoir à configurer des serveurs de bases de données séparés.
- Flux de travail de déploiement transparent : Render fournit des fonctionnalités telles que des déploiements automatisés, des restaurations et des intégrations avec des services populaires tels que GitHub et GitLab.
- Domaines personnalisés et SSL : Render offre la possibilité de configurer des noms de domaine personnalisés pour les sites Web et les applications Web, et comprend des certificats SSL gratuits pour un accès HTTPS sécurisé.
Attention
Dans le forfait gratuit, on ne peut avoir qu'une base de données et elle à une durée de vie de 30 jours
Création d'un compte sur Render
Première étape, créer votre compte sur le site https://render.com/ et sélectionnez le plan gratuit. Pour vous faciliter le travail connectez vous avec Github.
Création de la base de données
Dans le tableau de bord ensuite choisissez Create New PostgreSQL. Ensuite donnez un nom à votre instance et à votre base de données.
Sélectionnez la Virginie comme région (la plus proche) et le forfait gratuit puis cliquez sur Create database. La création prendra un certain temps. Une fois terminée vous aurez accès aux informations de connexions plus bas dans la section Connections:
Connexion depuis DBeaver
Maintenant créez-vous une connexions depuis un IDE (uniquement testé avec DBeaver). Copiez la valeur du champs External Database URL et conserver uniquement la section après l'arobase. Vous pouvez extraire votre nom d'usager et votre mot de passe de ce URL ou les obtenir de la section Connections.
External Database URL: postgres://nomUsager:motDePasse@dpg-cnlkl76d3nmc7383kti0-a.ohio-postgres.render.com/pokemons_api_mcuk
Quand vous faites votre connexion dans DBeaver (choisissez SQL - PostgreSQL comme type), l'url à utiliser sera jdbc:postgresql:// + la valeur qui suit l'arobase dans ce que vous aviez plus haut (Vous devez sélectionner l'option "Connect by: URL"). Indiquer ensuite le nom d'usager et le mot de passe dans les champs correspondants.

Vous pouvez faire Test de la connexion initialement - DBeaver aura peut-être à télécharger les pilotes nécessaires pour accèder une un BD PostgreSQL.
Création du service web
Render utilise Github pour le déploiement des services web. Assurez-vous que votre projet est dans un dépôt Github et qu'il est à jour.
Sur le site de Render, cliquez sur le bouton New Service dans votre projet et sélectionnez Web Service. Sélectionnez ensuite Git Provider - Github pour déployer à partir d'un repo privé ou Public Git Repository pour les repos publics.
Sélectionnez le dépôt Github de votre projet (repo privés) ou fournissez le URL du repo public. Cliquez ensuite sur Connect.
À l'écran suivant, render.com devrait avoir détecter un application NodeJS et vous pouvez laisser la plupart des options par défaut.
- Ajustez la valeur de Start command pour le nom du fichier de "démarrage" de votre api.
- Sélectionnez le plan gratuit
- Ensuite ajoutez les variables d'environnement qui sont dans votre fichier .env et qui correspondent par exemple aux informations de la connexion avec PostgreSQL (le fichier .env n'est pas dans votre repo git donc inaccessible pour render.com).
- Pour la valeur de PG_HOST utilisez la valeur que vous avez pour Hostname dans l'écran des informations de connexion (image 1).
Cliquez ensuite sur Deploy Web Service et après un petit moment votre api sera en ligne.
Vous avez en mauve dans le haut de la page l'url de votre api. Utilisez cette url suivi de la route pour accéder à votre api.
Modifier le service web
Par défaut le déploiement est configuré sur le mode automatique, ce qui veut dire que dès que vous faites un push de votre projet, Render va aussi redéployer les modifications.
Attention
C'est normal d'avoir un long délai après un moment d'inactivité, c'est un désavantage du plan gratuit.