Les tests unitaires présent sur l'application permettent de tester les fonctions de l'application pour être sur qu'il n'y a pas de bug avant de finalement la déployer sur un environnement de production.
Les tests de sécurité fournit par Trivy nous permettent de scanner les différents packages npm installés sur l'application express et trouver les failles de sécurité les concernant. Ils peuvent aussi scanner des conteneurs ou encore des scans de dépendance.
Les tests de qualité sont utiles pour détecter les bugs, les duplications de code, les codes non optimisés, la couverture de tests et les vulnérabilités. En résumé, les tests de qualités sont la pour valider la qualité globale du code.
Nous n'avons rencontré aucune réelle difficulté. Le plus compliqué pour nous était de savoir comment nous allions déployer sur deux environnements différents et où est-ce qu'on allait les déployer.
On a réussi à déployer notre site en passant par Firebase car ils offrent le choix d'héberger plusieurs sites webs sur un seul projet Firebase tout en restant gratuit dans leur offre. On a donc opter pour un déploiement dans le cloud. Contrairement à une solution où l'on doit faire la gestion de serveurs, gérer les différentes dépendances etc..
Un des paradigmes exploités lors de ce tp est celui de la collaboration entre la partie développement et la partie OBS car on passe des fichiers de l'application à une version déployée sur un serveur, ce qui était fait par les deux entités par le modèle précédant celui du DEVOPS. Le deuxième paradigme majeur est celui de l'automatisation par le biais du CI/CD; la solution que nous avons retenu pour mettre en place l'automatisation est celle de Github Action ainsi que le reste de la solution GitOPS proposé. Un des autres paradigmes c'est celui du testing et du reviewing de code qui permet de conserver une qualité de service et de détecter les failles eventuelles du projet.
Une pipeline DEVOPS permet d'intégrer le code pour ensuite lancer une phase de test sur celui ci et ensuite le délivrer (déployer + publier). On peut avoir des pipelines seulement pour le test, et d'autres qui vont en plus délivrer donc déployer sur serveurs et publier sur des gestionnaires de packages automatiquement. Nous avons choisi le gestionnaire de packages npm pour notre part.