Ce commit parachève la sortie de l'ensemble des functions "evaluate" de
l'AST et ajoute un "nodeKind" sur chaque nœud afin de les associer à la
bonne function d'évaluation.
L'API pour les mécanismes pourra être améliorée afin de ne pas appeler
`registerEvaluationFunction` sur chaque mécanisme mais en standardisant
l'interface exportée par les mécanismes, par exemple
export { name, parse, evaluate, render }
Par ailleurs il devrait être facile de sortir les fonctions `jsx` en se
basant sur les mêmes "nodeKind".
Enfin, il faudra nettoyer l'AST pour supprimer les attributs inutilisés
et ajouter du typage fort.
Pour éviter les bugs comme celui corrigé dans caff99f qui était encore
présent dans la règle "contrat salarié . rémunération . brut de base .
équivalent temps plein"
La vérification de la cohérence d'unité n'est pas suffisamment stricte
pour détecter tous les problèmes, issue à venir.
- Change l'organisation des cotisations indépendant (toutes les cotisations sont au même niveau)
- Change l'assiette de calcul de la CSG, qui est basée sur toutes les cotisations sociales obligatoire (à vérifier)
- Change le mode de calcul de l'assiette de remboursement CPAM, qui est basée sur les revenus conventionnés (ajoute une question sur le pourcentage conventionné / non conventionné)
- Change l'organisation des PL en PL . PAMC (régime URSSAF) et PL . CAR*** (caisse de retraite) pour mieux prendre en compte le médecin non conventionné
- Désactive le subSimulateur en attendant d'améliorer sa logique
Ce commit supprime le concept de "contrôle" au sein du moteur, en les
remplaçant par des règles publicodes classiques. Cela permet notamment
d'uniformiser les règles d'applicabilité (désactivation via espace de
nom ou "rend non applicable" par exemple) ainsi que d'accéder à la
valeur d'un contrôle donné avec le nom de la règle correspondante.
Par ailleurs renomme le concept de "contrôle" en "notifcation" dans la
partie mon-entreprise/.