Service : digitalisation

Dynamiser les contrôles de validation selon le profil de l’utilisateur

Daveo est intervenu auprès de l’Opcommerce, organisme de formation accompagnant les entreprises de commerce dans le cadre de formations et de développement de compétences, afin de les accompagner dans la poursuite de sa transformation digitale.

L’Opcommerce est un partenaire des entreprises du commerce, chargé de les accompagner en contribuant à l’évolution professionnelle des salariés et en favorisant l’insertion professionnelle des jeunes dans ce secteur.

1.

Le contrat d’apprentissage

Le contrat d’apprentissage est un contrat de travail de type particulier permettant d’accomplir une formation en alternance, signé par un salarié et une entreprise. L’Opcommerce de son côté assure la prise en charge financière du contrat en fonction de critères établis par les branches professionnelles.

En plus de proposer ses outils aux entreprises (contrat d’apprentissage, contrat de professionnalisation, plan de formation…), l’Opcommerce a ensuite ouvert l’accès à certains
de ces outils, notamment le contrat d’apprentissage, aux CFA (Centres de Formation d’Apprentis), dans le but de fluidifier les échanges entre CFA, entreprises et l’Opcommerce.

L’outil en question est un formulaire de saisie en ligne disponible pour les entreprises adhérentes de l’Opcommerce et aux CFA. Techniquement, l’outil proposé est le même, mais les règles de gestion qui opèrent sont différentes en fonction de la nature de l’utilisateur : CFA/Entreprise. Par exemple, un champ peut être requis dans un cas mais pas dans l’autre.

2.

Outils et méthodologies utilisées

L’outil Azure DevOps nous permet de suivre l’avancement de nos développements en méthodes agiles (Scrum), de gérer le packaging de nos applications avant déploiement (build), et le déploiement de nos applications et ce de façon continue et automatique.

Avant chaque déploiement, une revue du code est exigée par les développeurs, sous forme de pull-requests afin d’assurer la qualité de nos livraisons.

La pull-request (ou PR) est une pratique consistant à faire relire le code produit par un autre développeur, afin de connaître son opinion et que ce dernier puisse constater si d’après lui, des bugs ou des régressions pourraient arriver en environnement de recette ou de production.

De plus, nous nous sommes appuyés sur le Release Flow afin de gérer nos branches Git. Ce pattern de branches est également utilisé par les équipes de développement Azure DevOps et s’avère plus souple que le Git Flow, plus connu.

3.

Langages et technologies

Les langages de programmation utilisés dans le cadre de ce projet sont C# et Typescript.

Concernant les technologies, nous nous sommes appuyés sur ASP.NET Core WebAPI pour la partie API (back) ainsi qu’Angular pour le côté visuel (front). Les API sont documentées et présentées à l’aide de Swagger.

forme-organique

4.

La librairie FluentValidation

ASP.NET Core propose un mécanisme de validation des champs en plaçant des attributs (ex: Required, MaxLength, Email, etc.) au dessus des propriétés dans nos classes mais ces
règles de validation sont fixes et ne peuvent pas varier selon un contexte donné (par exemple, le profil d’un utilisateur).

Afin de gérer les différentes règles de validation selon le profil (entreprise ou CFA), nous nous sommes plutôt appuyés sur la librairie open-source FluentValidation.

Cette librairie permet d’activer des règles selon des conditions que vous définissez. En l’occurrence, nous avons pu créer 3 sortes de règles :

  1. les règles spécifiques aux entreprises
  2. les règles spécifiques aux CFA
  3. les règles communes entre les 2 types de profil

Lors de la validation du contrat, il suffit de vérifier le profil de l’utilisateur et d’exécuter les
règles correspondantes.

Shopping Basket