Skip to main content

Fil Rouge

Contexte

L’ETNIC possède un site web dédié aux offres d’emploi (MonJob @ Etnic).

Ce site se sépare en trois parties front-end, backend-utilisateur, backend-administrateur.

La partie front end permet :

  • De savoir ce qu’est MonJob,
  • D’avoir un mail/téléphone de contact à l’ETNIC,
  • D’avoir accès à une liste de questions les plus souvent posées,
  • De parcourir les offres d’emploi disponibles sous forme de liste (description rapide des postes) et d’avoir par poste une fiche détaillée,
  • De se connecter au backend-utilisateur ou se créer un compte.

La partie backend utilisateur permet

  • De créer un CV composé de données personnels (date de naissance, lieu, sexe..), de ses certificats, de ses diplômes, de ses expériences,
  • De parcourir les offres d’emploi disponibles et de postuler à ces offres.

La partie backend administrateur permet

  • De se connecter,
  • De créer une offre d’emploi,
  • De voir les candidatures ayant postulé à une offre,
  • D’accepter ou de refuser une offre.

Risques

Cette application n’est pas une application critique (elle n’empêche pas l’ETNIC de fonctionner en cas d’arrêt), mais c’est un cas typique d’application dont la qualité doit être élevée car :

  • Les bugs divers de l’application donnent une mauvaise image de l’ETNIC,
  • Cette application contient des données personnelles de candidate. Un bug sur l’application peut entraîner des problèmes législatifs ( RGPD).

Il est donc essentiel pendant la formation et ce fil rouge de faire les tests suffisants pour éviter tous problèmes

Parcours Utilisateurs

Il y a trois parcours utilisateurs :

  • Le premier parcours est celui du curieux. La personne curieuse tombe par hasard sur le site MonJob. Il va regarder rapidement les offres d’emplois. Enfin, il quitte le site.
  • Le parcours du postulant est différent. Il doit en premier se créer un compte en donnant un login et un password. Enfin, il reçoit un email validant son inscription. Après la finalisation de son inscription, il remplit son CV et postule à une offre. Enfin, il se déconnecte de MonJob et attend avec ou sans angoisse de passer à l’étape 2 du processus de recrutement.
  • Le parcours administrateur est singulier. L’administrateur se connecte sur MonJob soit pour créer un Job soit pour voir les personnes ayant postulé. Il est au courant qu’une personne a postulé à un Job car il reçoit un email à chaque candidature. Sur les postulants, l’administrateur peut accepter la candidature (un mail heureux part vers le candidat et un autre part vers le responsable de l’offre d’emploi) soit la refuser (un mail malheureux part vers le candidat).

Réalisation

Le but de ce fil rouge n’est pas de refaire MonJob en entier dans le cadre de la formation.

Ci-après les objectifs plus ou moins atteignables lors de la formation :

Objectif : Niveau 1 je pratique le Java/J2EE et je suis à l’aise

Être à l’aise avec Java/J2EE est de pouvoir faire quelques classes, construire une application Web et mettre en place les éléments de qualité logiciel me garantissant que cela fonctionne.

Je dois faire l’application suivante :

  • Une page Web permettant de créer un Jobs pour l'administrateur
  • Une page Web permettant de visualisez les Jobs sous forme de table et sous forme détaillé
  • Une page Web d’info utile.

Ce que je dois comprendre est :

  • Faire des classes simples en Java et faire des pages web simples pour les gérer,
  • Comment tester cette application, Identifier les points durs en termes de qualité logiciel. Je dois savoir faire les tests unitaires de ces classes, d’en faire les tests graphiques.
  • Ma couverture de code de mes tests est de 60%.

Objectif : Niveau 2 je connais le Java/J2EE et je suis plus qu’à l’aise

Je suis assez à l’aise pour monter une architecture plus complexe et en faire une application Web. Je comprends que la mise en place des tests est une nécessité pour maintenir mon architecture Web stable.

Je dois faire l’application suivante :

  • Une page Web permettant de créer des Jobs.
  • Une page Web permettant de créer un Job pour l’administrateur.
  • Une page Web d’info utile.
  • La création d’un compte candidat (avec login/password et gestion du mail d’activation).
  • Le candidat peut remplir quelques données personnelles simples
  • Le candidat peut postuler à un Job.

Ce que je dois comprendre :

  • Comment monter une architecture complexe de classe Java et de mettre en place un début d’authentification utilisateur.
  • Je sais monter, tout au long de mon travail, les tests unitaires qui garantissent mes développements futurs.
  • Je monte des tests fonctionnels depuis l’interface graphique en bouchonnant ou pas mes éléments.
  • Ma couverture de code de mes tests est de 70%

Objectif : Niveau 3 Le Java/J2EE n’est pas le problème ici

Je pense déjà au futur de cette application. J’ai compris comment monter une architecture très complexe, stable dans le temps et suffisamment performante pour accueillir plein de candidats.

Je dois faire l’application suivante :

  • Une page Web permettant de créer des Jobs.
  • Une page Web permettant, à l’administrateur, de créer un Job et d’associer un responsable du Job.
  • Une page Web d’info utile.
  • La création d’un compte candidat (avec login/password et gestion du mail d’activation).
  • Le candidat peut remplir toutes données personnelles.
  • Il peut remplir ses CV, ses certificats et ses expériences . Les opérations suivantes sont possibles :

A minima, il est possible de préciser un titre au CV, donner un texte libre et uploader du CV. Le format de l’upload est du PDF d’une taille maximal de 200ko.

  • Le candidat peut postuler à un Job.
  • L’administrateur visualise pour chaque Job et postulant. Cela lui permet d’accepter une candidature ou de la refuser.

Je comprends largement comment faire cette application. J’ai monté les tests unitaires et les tests fonctionnels. Ma couverture de code est bonne (70%), mes tests fonctionnels sont complets et je me prépare à monter des tests de performances et des tests de sécurité.

Objet du système

Nous donnons ici les caractéristiques des objets du système

Un Job est défini par :

  • Niveau 1,2, 3 :D’un titre, d’un résumé, d’une date limite de candidature et d’une description détaillée
  • Niveau 2,3 : D’une liste de candidat

Un Candidat est défini par :

  • Niveau 2,3 d’un login/password/email et de quelques données personnels (nom, prénom, adresse, nationalité)
  • Niveau 3 : de diplôme (nationalité du diplôme, titre, niveau), de certificat (description) et de compétence (description).