Stage Développement Full-Stack

Stage développement full-stack

Stage Développement Full-Stack

Stage développement full-stack : pour son projet de fin d’études, Ryana a intégré une équipe de 4 développeurs chargés de réaliser un parcours dématérialisé de demande d’attestations pour une fédération. Elle nous raconte.

AViSTO propose chaque année des stages en développement full-stack : retrouvez les offres sur notre site emploi.

Présentation du projet

Je travaille pour une association qui délivre des attestations à ses clients. Le projet est constitué de deux sites web :

  • Un premier site web front office à destination du grand public, sur lequel les clients peuvent constituer un dossier de demande de certification ;
  • Un second site web back office à destination des analystes et comptables de l’association, sur lequel ces derniers peuvent consulter un dossier, le valider ou faire appel à des spécialistes.

Ces deux sites ont différentes problématiques d’IHM à prendre en compte.

Côté front office, il faut d’une part réaliser une application adaptative (« responsive »), afin que son fonctionnement s’adapte aux différents dispositifs (smartphone, ordinateur, tablette…).

D’autre part, cette application doit fournir des retours utilisateurs assez explicites. En effet, une attention particulière est portée à ce point car la moyenne d’âge des utilisateurs du site reste assez élevée : moins habitués aux nouvelles technologies de manière générale, il faut expliciter clairement les différentes étapes du formulaire et les documents à fournir.

Côté back office, l’affichage doit être adapté à des dimensions d’écrans larges spécifiques, qui correspondent aux écrans utilisés par les employés de l’association.

Ces dimensions particulières permettent de consulter les documents d’un dossier en grand, de manière lisible.

Présentation technique

Les projets front-end, réalisés en React Typescript, communiquent tous les deux avec le même projet back-end, réalisé en Java SpringBoot.

La base de données SQL est versionnée au moyen de Flyway ; enfin, le front office communique avec l’API bancaire Lyra.

4 environnements sont disponibles :

  • L’environnement local, sur lequel les nouvelles fonctionnalités sont développées.
  • L’environnement d’intégration, qui suit les mises à jour de la branche master. Sur sa propre machine avec sa propre base de données, il s’agit d’un environnement de test pour les développeurs et le chef de projet.
  • L’environnement de préproduction pour les tests du client et où les livraisons sont planifiées à l’avance. L’objectif est de présenter les fonctionnalités, les tester, confirmer ou infirmer certains choix et signaler des bugs.
  • Enfin, l’environnement de production qui contient le produit final.

Les environnements d’intégration, préproduction et production sont sur des machines virtuelles, et les projets y sont conteneurisés avec Docker.

A chaque ajout d’une nouvelle fonctionnalité sur la branche master, une pipeline GitLab est déclenchée avec différents objectifs :

  • Analyse de code statique avec SonarQube.
  • Création de l’image Docker (build de l’application).
  • Lancement de différents scans de sécurité avec les outils Owasp et Defect Dojo.
  • Déploiement sur l’environnement d’intégration une fois toutes les étapes précédentes validées.

Livre Blanc Security as a Code

Organisation de l’équipe

L’équipe de 4 développeurs est encadrée par un chef de projet, qui joue également le rôle de Product Owner : il interagit avec le client, définit avec lui les objectifs et recueille les bugs signalés.

L’équipe est organisée en méthodologie « ScrumBut », avec des Sprints de 2 semaines. Ces derniers sont rythmés par des Daily quotidiens, au cours desquels chacun partage le travail réalisé, les problèmes rencontrés et les objectifs à atteindre.

Avant le début du prochain Sprint, un « refinement » est organisé afin de définir les tâches à accomplir et de les répartir au sein de l’équipe.

Une review de présentation de l’ensemble du travail accompli ainsi qu’une réunion de rétrospective permettent de clore le sprint.

Webinaire Introduction à l'agilité et à Scrum

Conclusion : un stage développement full-stack très formateur

Au cours de ce stage développement full-stack, j’ai pu développer de nombreuses compétences au niveau technologique.

J’ai par exemple découvert le langage React, un langage front-end moderne et très utilisé actuellement. Côté back-end, j’ai pu approfondir mes connaissances en Java Spring Boot.

Ce qui me plaît chez AViSTO, c’est l’entraide, l’ambiance très chaleureuse, on est intégré très rapidement. On peut également compter sur nos collègues, chacun a ses connaissances, ses spécialisations, ce n’est pas compliqué de demander de l’aide. Tout le monde est toujours à l’écoute et disponible.

La suite de l’aventure pour moi, c’est toujours chez AViSTO, en CDI !

 

Envie de rejoindre AViSTO pour un stage développement full-stack ? Retrouvez les offres sur notre site emploi.