New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Publicodes v1 #27
Comments
Merci pour le compte rendu ! On peut aussi créer une milestone github pour lier les ticket concernés. J'ajouterai des considération plus bas niveau : pour passer en v1, il faudrait être assez sûr de soi sur l'API. Pour l'instant publicode exporte pas mal de choses, certaines utiles d'autres peut-être moins. Mais le principal problème c'est l'exposition des "internals" du moteur à la sortie des évaluation, puisque l'entièreté de l'AST y est exposé. Pour pouvoir être confiant sur notre capacité à améliorer publicodes sans porter de breakings, je serai d'avis de restreindre grandement la surface de l'API. Par exemple en spécifiant le type de noeud à la sortie des évaluations de manière très précise (on pourrait imaginer : {type: 'booléen' | 'texte' | Mais en même temps, restreindre l'API c'est empecher le hack, et donc l'utilisation un peu plus poussée de la librairie. Que faire ? Avoir une fonction UNSAFE_ qui permette de récuperer l'AST mais qui peut avoir des breakings d'une mineure à l'autre ? Par ailleurs certains mécanisme sont encore voué à évoluer (une possibilité ou synchronisation pour ne citer qu'eux). Doit-on se concentrer sur leur nouvelle forme avant de passer en V1 ? Ou les marquer comme 'unsafe' ? De mon côté, je pense en vérité qu'il faut encore prendre un peu plus de temps avant la V1, afin de régler les issues suivantes :
|
Oui j'ai oublié des items, n’hésites pas à modifier la liste originale. Complétement d'accord avec toi sur les sorties. D'ailleurs peut-être que l'item "Mode strict Typescript" que j'ai mis en facultatif est en fait un pré-requis. Pour le mécanisme synchronisation, on a effectivement pas envie de le "publier" tel quel, on peut soit le cacher d'une manière ou d'une autre ( |
Le kanban n'a pas été transféré lors de la migration de dépôt, on pourra ré-organiser une feuille de route pour publicodes v1 avec les nouvelles “issues” https://github.com/features/issues |
Publicodes est né à l'intérieur du simulateur de coût d'embauche, comme un DSL pour les cotisations sociales. Nous pensons néanmoins que son intérêt va bien au delà, et souhaitons en faire un langage de modèles ouverts, facilement lisible et éditable par un non-programmeur et permettant de générer automatiquement une documentation des calculs.
Pour permettre la ré-utilisation de Publicodes nous avons travaillé depuis plus d'un an à la séparation des bases de code, la documentation de l'existant, l'ergonomie du langage, la formalisation de son modèle d'évaluation, la fiabilisation de son implémentation, la création d'un site public et d'un bac à sable d'expérimentation. Il reste beaucoup à faire, mais nous approchons d'une version effectivement utilisable par des tiers.
L'avancement des travaux est suivi dans 🗃 ce kanban.
Et après
language-tools
implémentant le Language Server Protocol pour avoir de l'auto-complétion dans nos IDE betagouv/mon-entreprise#1033The text was updated successfully, but these errors were encountered: