Pourquoi un simulateur?

Afin d’éviter de rouler les applications de toutes les équipes sur un service cloud, nous avons créé un simulateur de production qui s’occupera de rouler les projets localement.

Comment ça marche?

Chaque fois que vous déposerez une version de votre projet dans Draveur, votre application sera déployée et démarrée par une sorte de simulateur. Celui-ci utilisera votre application de plusieurs manières, comme le feraient des utilisateurs actifs.

:warning: Ces utilisateurs vont mettrent à l’épreuve le bon fonctionnement de votre application. Vous recevrez par la suite la liste des critères d’acceptation qui ne sont pas respectés dans votre application. Vous serez pénalisé si vous n’arrivez pas à régler ces bris avant la date finale de remise de la MEP en question.

Note: Dans la vraie vie, la production ne doit pas être utilisée pour tester votre application! Lorsque la production brise, tout le monde panique! 🚨 Assurez-vous donc d’écrire votre propre couverture de test afin de valider le bon fonctionnement de votre application avant de déployer en production.

Activation de fonctionnalités

Vous pouvez contrôler les fonctionnalités à activer en production via votre fichier progress.json. C’est une sorte de “Feature Toggle” simplifiée dans le contexte académique.

💡 Cela vous donne plus de contrôle sur ce que vous êtes prêt à mettre en production. Sentez-vous donc libre de déployer autant de fois que vous le voulez à l’aide de ce fichier.

Détails techniques de l’environnement

:warning: Cette section est pour les curieux qui veulent en apprendre plus sur le fonctionnement du simulateur.

Afin de standardiser l’environnement de déploiement entre toutes les équipes, nous utiliserons Docker pour créer une image qui va contenir les fichiers compilés de votre application. Une fois démarré, le container Docker utilisera Maven pour rouler le serveur de votre application.

Note: Si vous désirez essayer de rouler votre code sur les mêmes images docker que nous utiliserons, essayez ces commandes:

docker build -t application-glo4002 .
docker run -p 8080:8080 -p 8181:8181 application-glo4002