Présentation
En général, lorsque je déploie une application web, le backend et le frontend ont leur propre dépôt git.
Parfois, je dois déployer une application où les deux composants sont sur le même dépôt et avec des technologies différentes.
Dans cet article, je vais détailler comment déployer une application web qui se trouve dans ce cas de figure.
Le backend est codé en Go et le frontend en ReactJS.
Cette application affiche des statuts sous forme de carrés dans une page web :

Le serveur backend enverra les évènements au frontend via SSE, ce qui va permettre de mettre à jour le front sans avoir besoin de rafraîchir la page web.
Vous pourrez aussi modifier les statuts directement dans la base de données.
Les fonctions LISTEN / NOTIFY de PostgreSQL sont utilisées pour notifier le backend en cas de changement dans la table contenant les statuts.
Prérequis
clever-tools
Assurez-vous d’avoir installé clever-tools sur votre station de travail : Doc
PostgreSQL Client
Vous aurez besoin du client psql sur votre machine.
Préparation de l’environnement de travail
Avant toute chose, nous allons créer un répertoire de travail et y verser le code du backend ainsi que celui du frontend.
| |
Nous allons définir une variable d’environnement que nous utiliserons dans les prochaines étapes. Allez dans votre console Clever Cloud et récupérez l’ID de l’organisation où vous allez déployer l’application.

| |
Déploiement de l’application
Backend
Allez dans le répertoire contenant le code du backend -> cd $STATUS_BOARD_BACKEND
Maintenant nous allons créer l’application dans notre environnement Clever Cloud, la base de données qui va stocker les données de l’application et enfin, la déployer.
| |
Il nous faut initialiser la structure de la base de données:
| |
Pour finir, lancez le déploiement de l’application sur l’infrastructure de Clever Cloud:
| |
Après quelques minutes, votre instance sera ligne:

Lancez la commande suivante pour vérifier que votre API fonctionne:
| |
Vous devriez avoir le retour suivant:
hello from clever cloud
Frontend
Maintenant, dirigeons-nous vers le répertoire où se trouve le code du frontend -> cd $STATUS_BOARD_FRONTEND
Il ne reste plus qu’à déployer l’application front.
| |
Utilisation de l’application
Pour vous connecter sur l’application front, affichez l’url avec la commande:
| |
Rendez-vous dans votre navigateur favori et là, un bel écran blanc ! :-D
C’est normal.
La base de données est vide.
Nous allons maintenant créer, mettre à jour et supprimer un statut via le terminal.
La mise à jour dans le navigateur se fera automatiquement sans besoin de forcer le rafraîchissement de ce dernier.
Vous trouverez la documentation de l’utilisation de l’API ici :
https://github.com/fredericalix/status-board-demo#using-the-api
Création d’un statut
| |

Mise à jour d’un statut
| |

Suppression d’un statut
| |
Conclusion
Notre application est déployée.
Dans un prochain article, nous l’utiliserons pour découvrir les fonctionnalités de scalabilité horizontale, d’auto-scaling et de haute disponibilité offertes par Clever Cloud.
