Replies: 1 comment
-
Implémentation d'une page pour les conventions collectivesAjouter une interface admin pour ajouter / modifier / supprimer des conventions collectives. Cette interface va se baser sur la table Principales informations
Certains informations sont récupérable via un fetch sur l'API de la DILA via le KALICONT. Mais l'API retourne peu d'informations utiles. Publication d'une convention collectiveAjouter un bouton publier pour modifier/créer le document de la convention collective. Comme l'initial_id est le KALICONT de la convention collective, le match sera simple à faire. Désactiver la mettre à jour les conventions collectives depuis l'ingesterDébrancher l'ingester qui met à jour les conventions collectives dans la table document. Mettre à jour kali-dataMaintenant que les conventions collectives sont dans la base de données de l'admin, il faut que kali-data utilise cette liste pour récupérer les articles. L'admin étant protégé, les github actions de kali-data ne peuvent pas accéder à l'instance pour récupérer ces informations. On va donc faire l'inverse et ce sera l'admin qui va publier la liste des conventions collectives à jour. Pour cela, on va créer un bucket S3 dédié (comme pour le sitemap). A chaque publication d'une convention collective, on va générer un json (le plus ressemblant possible au json de kali-data (https://github.com/SocialGouv/kali-data/blob/master/data/index.json). On va pouvoir modifier le script kali-data pour récupérer cette liste et ainsi supprimer le fichier Bouger les kali blocksMaintenant que l'on a l'admin qui gère les conventions collectives, on peut migrer les kali blocks dans la même page d'édition de la convention collective. Attention, seulement les conventions collectives supportées par le CDTN peuvent contenir des kali-blocks. Lié aux alertes DARES.On peut également lier les alertes DARES à l'écran des conventions collectives pour faciliter les modifications liées au fichier DARES. |
Beta Was this translation helpful? Give feedback.
-
kali-data
kali-data est un dépôt contenant le code législatif relatif aux conventions collectives.
Contexte
L'équipe est actuellement en train d'améliorer le site d'administration pour le CDTN. Pour cela, on lance régulièrement l'admin en local pour faire des modifications et tester nos modifications. Le site du CDTN étant dépendant des données gérées par l'admin, c'est un passage obligatoire pour pas mal de nouvelles fonctionnalités.
Auparavant, on effectuait les développements sur l'admin que l'on release et tester sur la preprod du CDTN. On a vu au fil du temps que cela n'était pas possible dans beaucoup de cas et que l'on avançait à l'aveugle. On a donc mis en place un système permettant d'avoir un environnement lié à une branche sur l'admin qui alimente un environnement sur une branche du CDTN. On peut maintenant valider notre développement de A à Z avant de merger dans master 🎉
Il nous reste cependant une partie du code qui est difficilement testable car dépendant de sources de données externes, comme : kali-data, legi-data, fiches-vdd, fiches-mt...
Ces données sont alimentées par des services externes. Sur la plupart des projets (legi-data, fiches-vdd, fiches-mt), ce ne sont que des données brutes récupérées et stockées. Il n'y a pas de logique métier spécifique au CDTN.
Pour kali-data, le dépôt est plus complexe. On a la récupération des données depuis un service externe (legifrance) mais cette récupération est gérée par des règles métiers propres au CDTN.
Détail du processus
Le dépôt contient un fichier
data/index.json
. Ce fichier contient l'ensemble des conventions collectives actives et disponibles sur le CDTN. Ce fichier est alimenté manuellement par l'équipe. Il se base sur le fichier de la DARES (format xls) qui liste les conventions collectives actives (mise à jour chaque mois).Chaque convention collective dans ce fichier va porter ces informations qui sont fortement liées au CDTN :
En se basant sur ce fichier, le processus va ensuite pouvoir pour chaque convention collective, récupérer ou non les articles depuis legifrance et les stocker dans le fichier
{KALICONT_DE_LA_CC.json}
.Problématique
Pour ajouter, modifier, supprimer une convention collective, on doit effectuer l'opération directement dans ce dépôt (cela demande à ce qu'un dev réalise la modification). Il faut ensuite synchroniser les données avec l'ingester pour mettre à jour la base de données de l'admin pour enfin mettre à jour le CDTN. Une fois la démarche lancée, on ne peut plus réaliser de mise en production car cela va mettre également les données à jour sur la prod.
De plus, si on souhaite dans une branche valider le fonctionnement de l'ajout, modification ou suppression d'une convention collective, cela est complexe car on ne peut modifier la données sur kali-data sans impacter la prod.
Beta Was this translation helpful? Give feedback.
All reactions