Skip to content

betagouv/aplypro

Repository files navigation

APLyPro

Allocation pour les lycéens professionnels.

Introduction

Cette application sert de support aux personnels de lycées professionnels pour renseigner et payer les stages de moins de 2 mois, suivant les montants dictés par l'arrêté du 11 août 2023.

Pile technique

  • Docker ;
  • Ruby on Rails ;
  • PostgreSQL ;
  • RSpec ;
  • Cucumber ;
  • Keycloak : Gestion des utilisateurs ;
  • DSFR .

Dossier d'architecture technique

Démarrage

git submodule update --init --recursive
make up

Commandes utiles

Les commandes les plus fréquentes sont répertoriées et peuvent être lancées à travers le fichier Makefile. Ces commandes sont démarrées dans Docker.

Entre autres :

  • make cl : lance une console Rails ;
  • make guard : lance Guard ;
  • make sh : lance un terminal ;
  • make lint : lance Rubocop.;
  • make debug : connecter le debugger

Deploiement

  1. Faire un branche release/v1.8.2 (la nommer release/* évite la CI)
  2. Mettre à jour le fichier config/initializers/version.rb dans un commit release 1.8.2
  3. Faire une PR sur GitHub release/v1.8.2 -> main et la faire approuver et merge par un autre dev
  4. Créer une nouvelle release
  5. Lui créer un tag v1.8.2, puis cliquer "Generate release notes" et "Publish"
  6. Faire une PR main -> deploy/prod nommée v1.8.2 et la faire approuver et merge par un autre dev

ATTENTION : Ne pas utiliser la stratégie "rebase and merge" sur cette dernière PR : il ne faut pas réécrire les commits de la branche de production pour éviter tout problème de réconciliation.

Vocabulaire

Ministères :

  • MENJ : Ministère de l'Éducation Nationale et de la Jeunesse ;
    • DNE : Direction du numérique pour l'éducation (la tech du MENJ) ;
  • MASA : Ministère de l'Agriculture et de la Souveraineté Alimentaire ;
  • Mer : Secrétariat d'État Chargé De La Mer ;
  • Armée : L'Armée.

Systèmes d'autentification :

  • FIM : Federation Identity Manager : Pour MENJ, Mer et Armée
    • Passe par notre Keycloak
  • CAS : Centralized Authentication Service : Pour MASA
    • Ne passe pas par notre Keycloak (à changer)

Sources de données :

  • SYGNE : Expose les données des élèves du MENJ, provenant de la Base Établissements Élèves (BEE) ;
  • FREGATA : Expose les données des élèves du MASA, provenant d'Educagri ;
  • Annuaire de l'Éducation : Données publiques des établissements. Ces données proviennent de RAMSES (appli de l'éducation nationale) et de l'ONISEP (exemple).

Vocabulaire technique

  • Décision d'attribution : Un document qui informe un élève de ses droits.
  • PFMP : Période de Formation Professionnelle. C'est un stage.
  • MEF : Module élémentaire de formation. Voir la base de nomenclature.
  • Schooling : Scolarité. Relie un élève à sa classe.
  • Classe : Chaque classe est reliée à un code MEF.
  • UAI : Unité Administrative Immatriculée (Identifiant national d'établissement)
  • INE : Identifiant national d'élève

Pour les établissements FIM qui n'ont pas un niveau d'accès de directeur au sens de l'éducation nationale

C'est à dire les établissements maritimes, quelques collèges, ou autres cas particuliers

Pour donner un rôle de chef d'établissement à un FIM user dans le vecteur d'identitié sur KeyCloak: AplyproResp Il est utilisé ici et doit contenir un UAI.

Vocabulaire des paiements

ASP : Agence de Services et de Paiement

Correspondances entre leurs modèles et les notres :

  • Individu -> Student
  • Dossier -> Schooling
  • Prestation Dossier (prestadoss) -> Pfmp
  • Liste Element Paiement -> PaymentRequest