Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
224 commits
Select commit Hold shift + click to select a range
8095e28
chore: création d'un paquet modele-social-as
liliced Sep 30, 2025
cd387c1
chore: création d'un paquet modele-social-ti
liliced Sep 30, 2025
1546643
chore: création d'un paquet de règles communes à modele-ti et modele-as
liliced Oct 9, 2025
3cffb1e
refactor(modele-ti): suppression des règles dépréciées
liliced Oct 9, 2025
612b480
refactor(modele-ti): réorganisation des règles des indépendants
liliced Oct 9, 2025
2edabdf
docs: amélioration de la mise en forme de la doc
liliced Sep 25, 2025
38c505e
refactor(modele-ti): suppression des règles de catégorie juridique
liliced Oct 10, 2025
1f595df
feat(modele-ti): ajout d'une condition sur les débits de tabac
liliced Oct 10, 2025
9e64c3f
refactor(modele-ti): réorganise les règles entreprise
liliced Oct 10, 2025
9e64ced
refactor(loader): crée un composant Loader
liliced Oct 16, 2025
3f4e06b
refactor(dottedName): modifie le type DottedName
liliced Oct 16, 2025
db5480d
refactor(store): déplace companySituation selector
liliced Oct 17, 2025
6636edf
refactor(engineFactory): déplace engineFactory
liliced Oct 17, 2025
007272e
refactor(entreprise): composant EntrepriseDetails
liliced Oct 20, 2025
3979669
refactor(entreprise): remplace useEngine par companySirenSelector
liliced Oct 20, 2025
4ff6824
refactor(entreprise): crée le hook useSetEntrepriseFromUrssafConnection
liliced Oct 20, 2025
63aa3f6
refactor: déplace les utils publicodes
liliced Oct 17, 2025
33ded41
refactor(engine): déplace useEngine
liliced Oct 17, 2025
9459e26
refactor: améliore getStringOrNullFromPublicodesExpression
liliced Nov 14, 2025
3824597
refactor(documentation): découpe les composants Documentation
liliced Oct 21, 2025
5c4f42a
refactor(documentation): style de la doc
liliced Oct 21, 2025
691fdb6
refactor: actions du store
liliced Oct 24, 2025
9af19f2
refactor(store): simplifie l'action ajusteLaSituation
liliced Oct 28, 2025
5d1c658
refactor(store): réorganise les sélecteurs
liliced Oct 28, 2025
6b27386
refactor(tests): réordonne les tests de simulationReducer
liliced Nov 3, 2025
f5653fd
tests(store): ajout de tests sur les actions de simulation reducer
liliced Nov 3, 2025
344b152
refactor(store): supprime type SituationReducer non utilisé
liliced Nov 4, 2025
ba960b6
refactor(engine): utilise un modèle de règles par simulateur
liliced Nov 4, 2025
8dea297
refactor(engine): déplace useSetupSafeSituation vers hooks
liliced Nov 4, 2025
48cfd76
refactor(docs): fait fonctionner la Documentation modele-social
liliced Nov 4, 2025
b37ce5a
feat(docs): fait fonctionner la documentation des autres paquets
liliced Nov 4, 2025
5f6c832
feat(modele-as): branche le simulateur SASU sur modele-as
liliced Nov 4, 2025
66d4158
perf: améliore useEngine
liliced Nov 6, 2025
8c9b2d6
i18n: prépare les scripts de traduction à plusieurs modèles de règles
liliced Nov 6, 2025
acc7a88
i18n: ajoute les traductions pour les autres modèles de règles
liliced Nov 10, 2025
585ab2f
fix: typo in prerender.ts
liliced Nov 13, 2025
ffc440f
refactor: simplifie comparaison-statuts/index.tsx
liliced Nov 13, 2025
6d9ae66
feat(modele-ti): ajoute les dernières évolutions de modele-social
liliced Nov 14, 2025
4dffccc
fix: corrige le prerender de recherche code APE
liliced Nov 14, 2025
706b7a3
fix(modele-as): corrige les formules et textes
liliced Nov 14, 2025
5862f73
tests(modele-as): màj les tests de régressions
liliced Nov 14, 2025
a6a82c9
tests: corrige les tests de When(Not)Applicable
liliced Nov 14, 2025
b309204
refactor(engineCache): supprime catch inutile
liliced Nov 14, 2025
04e35e2
refactor: renomme id en key dans Simulation
liliced Nov 14, 2025
15a0749
feat(SASU): réactive les explications sous le simulateur
liliced Nov 14, 2025
0b9ce8e
fix(modele-as): recherche entreprise
liliced Nov 21, 2025
757e70b
test: corrige le test AE
liliced Nov 21, 2025
1bb0cd1
fix: corrige le simulateurs écolab et l'assistant CMG
liliced Nov 21, 2025
bf94cff
docs(modele-as): ajoute une description à la règle assimilé salarié
liliced Nov 24, 2025
de7cb9b
fix: corrige l'utilisation de RuleLink hors simulateur
liliced Dec 5, 2025
3a3a007
refactor: supprime la prop children de RuleLink
liliced Dec 5, 2025
ec1e961
refactor: supprime let de useDocumentationIndexPath
liliced Dec 5, 2025
786af76
refactor: crée un composant SimulateurOrAssistantPageWithPublicodes
liliced Dec 5, 2025
0f252d3
fix(modele-commun): corrige le calcul de l'impôt sur le revenu avec b…
liliced Nov 21, 2025
ea0a0c8
refactor: supprime type cast inutile
liliced Nov 21, 2025
f41f0ec
chore: étend le type DottedName aux règles de modele-ti
liliced Nov 21, 2025
42f73dd
refactor: supprime des règles inutiles dans les liens utiles
liliced Nov 21, 2025
7cb99a2
feat(activité-partielle): ajoute le service employeur aux liens utiles
liliced Nov 21, 2025
ec5e9ee
feat(rgcp/lodeom): ajoute le service employeur aux liens utiles
liliced Nov 21, 2025
000adea
refactor(salarié): découpe les composants explicatifs
liliced Nov 21, 2025
a69d72c
refactor(sasu): déplace les composants explicatifs
liliced Nov 21, 2025
932b4ce
chore: remplace extension tsx inutile par ts
liliced Nov 21, 2025
21de36b
feat(indépendant): branche les simulateurs sur modele-ti
liliced Nov 21, 2025
732e4c8
feat(indépendant): màj explications (+ refacto)
liliced Nov 21, 2025
f0ee0af
feat(indépendant): màj règles dans les liens utiles
liliced Nov 21, 2025
741eb8c
fix(modele-ti): corrige une référence à activités libérale
liliced Nov 21, 2025
cbe8cf4
fix: typo
liliced Nov 24, 2025
3d4e99d
fix(modele-ti): corrige les règles sur la nature de l'activité
liliced Nov 24, 2025
ebcd5c5
refactor(modele-ti): renomme fichier activités en activité
liliced Nov 24, 2025
2e55424
docs(modele-ti): corrige les liens internes à la documentation
liliced Nov 24, 2025
faef8cd
fix(modele-ti): corrige le plafond déductible madelin
liliced Nov 24, 2025
1ebecb4
fix(modele-ti): corrige les règles d'exonérations
liliced Nov 24, 2025
574f770
fix(modele-ti): corrige et màj les métiers PLR
liliced Nov 24, 2025
716aa7b
tests: màj tests indépendants
liliced Nov 21, 2025
bc53033
i18n: traduction des aria-label
liliced Nov 28, 2025
f713bfc
refactor(explications): réusinage des institutions partenaires
liliced Nov 28, 2025
f088efc
refactor: supprime commentaire inutile
liliced Nov 28, 2025
e4ec7f0
i18n: fix typo
liliced Nov 28, 2025
c0469c0
fix(indépendant): affichage de la DGFiP dans les institutions partena…
liliced Nov 29, 2025
e0c2188
fix(design-system): corrige le style du texte de Message
liliced Nov 29, 2025
72149a3
refactor: ajoute une note à la règle 'cotisations caisse de retraite'
liliced Nov 29, 2025
7b46d05
fix(indépendant): masque la Cipav des institutions partenaires lorsqu…
liliced Nov 29, 2025
5a31538
refactor: nettoie le code de DroitsRetraite (AE et indépendant)
liliced Nov 29, 2025
946325f
feat(modele-ti): nouvelles règles pour la réforme des cotisations
liliced Nov 25, 2025
f002872
feat(modele-ti): modification de l'assiette CSG-CRDS
liliced Nov 25, 2025
338fa79
feat(ti): remplace l'utilisation d'assiette des cotisations par celle…
liliced Nov 25, 2025
eac2b46
feat(ti): remplace rémunération . cotisations par cotisations et cont…
liliced Nov 25, 2025
b2a4d29
feat(ti): modifie formule CA
liliced Nov 25, 2025
af314f2
feat(ti): modifie formule rémunération totale
liliced Nov 25, 2025
f39da3c
refactor(ti): supprime assiette des cotisations
liliced Nov 25, 2025
6853f21
i18n: traductions modele-ti
liliced Nov 25, 2025
ab63a54
tests(modele-ti): ajout de tests sur la réforme des cotisations
liliced Nov 25, 2025
5da9c6d
fix(modele-ti): corrige la formule du chiffre d'affaires
liliced Nov 28, 2025
b31ca4f
docs: corrige typo dans retraite de base maximum
liliced Dec 1, 2025
8af121e
fix: correction des cotisations en cas de DFE
liliced Dec 1, 2025
d6164cd
tests(indépendants): màj snapshots
liliced Dec 8, 2025
a90ed9a
feat(indépendant): réforme des barèmes de cotisation (cas général hor…
liliced Dec 1, 2025
7d72525
fix(modele-ti): corrige le calcul des durées
liliced Dec 2, 2025
bb705d8
tests(modele-ti): ajout de tests sur les barèmes après réforme
liliced Dec 2, 2025
de23f4e
tests(modele-ti): màj des tests de calculs de revenus
liliced Dec 8, 2025
45c4429
tests(indépendant): màj des snapshots
liliced Dec 8, 2025
9b3f53d
refactor(modele-ti): réorganise les règles de retraite complémentaire…
liliced Dec 4, 2025
f37a612
feat(PLR): réforme des barèmes de cotisations
liliced Dec 4, 2025
80e47fd
tests(modele-ti): ajout de tests sur les barèmes PLR après réforme
liliced Dec 4, 2025
c3c37c8
tests(modele-ti): mise à jour des tests sur les revenus indépendant
liliced Dec 4, 2025
df3f02d
tests(indépendant): màj des snapshots
liliced Dec 8, 2025
4d34854
fix(indépendant): corrige la cotisation maladie 1
liliced Dec 9, 2025
8961023
feat(modele-ti): cotisations forfaitaires de début d'activité
liliced Dec 9, 2025
bfb7e9c
docs(indépendant): ajout de références sur les cotisations forfaitaires
liliced Dec 9, 2025
1784a28
docs(modele-ti): màj de références sur les assiettes minimales
liliced Dec 9, 2025
31603df
refactor(tests): améliore les tests unitaires des cotisations de mode…
liliced Dec 9, 2025
a8ec817
feat(modele-ti): déduction tabac
liliced Dec 9, 2025
a78d595
feat(modele-ti): cotisation maladie pour les DOM
liliced Dec 11, 2025
8539bc1
feat(modele-ti): cotisation allocations familiales pour les DOM
liliced Dec 11, 2025
5c0af25
tests(modele-ti): complète les tests basés sur la doc Urssaf
liliced Dec 11, 2025
3d901d5
feat(modele-ti): retraite complémentaire taux spécifiques PLNR
liliced Dec 11, 2025
c6dc675
fix(modele-ti): supprime avertissement sur le prélèvement à la source
liliced Dec 12, 2025
d166323
fix(PL): corrige la situation de base du simulateur
liliced Dec 12, 2025
9c487c6
fix(modele-ti): corrige la cotisation maladie
liliced Dec 12, 2025
77844ed
feat(modele-ti): supprime les règles < 2023
liliced Dec 12, 2025
3fb3a49
feat(modele-ti): exonération invalidité
liliced Dec 12, 2025
1316e92
tests(plr): màj des snapshots
liliced Dec 12, 2025
05207d7
refactor(modele-ti/modele-as): renomme acre/ACRE en Acre
liliced Dec 12, 2025
35d7594
refactor(modele-ti): règles enfant pension invalidité
liliced Dec 12, 2025
46b5f61
feat(modele-ti): exonération Acre
liliced Dec 12, 2025
7442343
feat(modele-ti): exonération âge
liliced Dec 12, 2025
55efc95
refactor(modele-ti): réorganise les règles des professions libérales
liliced Dec 16, 2025
df9bd78
feat(modele-ti): CFP conjoint collaborateur
liliced Dec 15, 2025
ed60f1a
feat(modele-ti): IJ conjoint collaborateur
liliced Dec 15, 2025
3914ee6
refactor(modele-ti): conjoint collaborateur
liliced Dec 16, 2025
3b3b872
refactor(modele-ti): assiette gérant avec conjoint collaborateur reve…
liliced Dec 16, 2025
288c677
tests(modele-ti): ajout de tests conjoint collaborateur
liliced Dec 16, 2025
d95ca70
tests: màj snapshots
liliced Dec 16, 2025
1ccc94e
fix(modele-ti): corrige l'affichage des caisses de retraite PLR
liliced Dec 19, 2025
f8737c2
fix(modele-ti): plafond déductible cotisation madelin prévoyance
liliced Dec 22, 2025
8f00f81
refactor(modele-ti): suppression de règles inutiles
liliced Dec 20, 2025
ba5524e
refactor(modele-ti): réorganise les règles de CA
liliced Dec 20, 2025
22633e7
feat(modele-ti): ajoute les dividendes au calcul des revenus
liliced Dec 23, 2025
4f7464e
chore: mises à jour 2026 modele-as et modele-ti
liliced Jan 6, 2026
f58bb0e
tests: mise à jour
liliced Jan 6, 2026
306bfd2
fix(modele-ti): corrections diverses
liliced Jan 12, 2026
c1ac81a
fix(pamc): correction de la participation CPAM
liliced Jan 12, 2026
7118598
chore(TI): sépare les cotisations maladie-maternité et IJ
liliced Jan 12, 2026
700c843
chore: fix lint et màj tests
liliced Jan 12, 2026
258a066
fix(dividendes): masque la question sur l'imposition des dividendes s…
liliced Jan 12, 2026
7588de7
fix(TI): masque la question sur l'EI si elle n'est pas pertinente
liliced Jan 12, 2026
f12bcb3
chore(TI): supprime les avertissements réforme non implémentée
liliced Jan 16, 2026
73f7d7b
fix(entreprise): corrige l'affichage des informations de l'entreprise…
liliced Jan 16, 2026
c051906
feat: cotisations indépendant régime micro-social
liliced Jan 19, 2026
23b8965
refactor: inversion de responsabilité entre SimulateurOrAssistantPage…
liliced Jan 16, 2026
ce3e92e
refactor: objectifs indépendant
liliced Jan 19, 2026
6b84038
feat(TI): ajoute les dividendes aux objectifs
liliced Jan 19, 2026
1e54e8f
fix: corrige l'alignement du bouton info avec le titre des objectifs …
liliced Jan 19, 2026
f758c2a
fix: corrige l'espacement de la description avec le titre des objecti…
liliced Jan 19, 2026
353cf52
chore: fix typo
liliced Jan 19, 2026
3745fe0
refactor(cessation-activité): avertissement
liliced Jan 23, 2026
32c8aaa
feat(cessation-activité): ajout des dividendes
liliced Jan 23, 2026
9f31f68
chore(dividendes): mise à jour de la CSG non déductible sur dividendes
liliced Jan 23, 2026
67960d8
feat(dividendes): ajoute un lien vers le simulateur pour indépendant
liliced Jan 27, 2026
d263d05
refactor: composant Questions
liliced Jan 23, 2026
0165edc
refactor: extrait question de type Publicodes dans un composant
liliced Jan 23, 2026
e9f5156
refactor: extrait Publicodes de useQuestions
liliced Jan 23, 2026
05235a6
chore: supprime @storybook/testing-library obsolète
JalilArfaoui Jan 28, 2026
7fde50e
feat(publicodes): ajoute useOptionalEngine
JalilArfaoui Jan 28, 2026
991e45d
test(location-meublé): supprime TrackingProvider du TestProvider
JalilArfaoui Jan 28, 2026
16259bb
fix(cessation-activité): précise que la rémunération inclut cotisatio…
JalilArfaoui Jan 28, 2026
65e90bd
fix: corrige le calcul de la rémunération totale à partir de la rémun…
liliced Feb 9, 2026
2966ff6
chore: renomme 'rémunération totale' en 'rémunération brute'
liliced Feb 9, 2026
f303c06
chore: renomme 'rémunération nette' en 'revenu net'
liliced Feb 9, 2026
ee2d943
chore: modifie la description de la rémunération nette
liliced Feb 9, 2026
eef8b82
chore: supprime la description de la rémunération brute
liliced Feb 9, 2026
72b317d
chore: modifie les descriptions de CA et charges
liliced Feb 9, 2026
fd1d671
chore: modifie la description détaillée de la rémunération brute
liliced Feb 9, 2026
baa6e52
chore: renomme revenus 'activité conventionnée' en 'assiette conventi…
liliced Feb 9, 2026
208cb44
chore: renomme 'taux urssaf' en 'taux dentiste'
liliced Feb 9, 2026
949bc06
chore: ajoute un avertissement sur le double régime d'imposition
liliced Feb 9, 2026
ee38fd4
feat(indépendant): ajoute l'option IR/IS sur tous les simulateurs
liliced Jan 26, 2026
c37a109
fix(questions): corrige la question en cours en cas de nouvelle quest…
liliced Jan 29, 2026
f8697d9
fix(TI): corrige la situation des simulateurs EI, EIRL et EURL
liliced Jan 29, 2026
0926812
fix(dividendes): corrige l'applicabilité des questions sur le capital…
liliced Jan 29, 2026
86a54a4
fix(TI): corrige le calcul de la rémunération totale
liliced Jan 29, 2026
12f4ea7
chore: corrige la doc
liliced Jan 29, 2026
8dbe672
refactor(TI): simplifie la traduction des professions
liliced Jan 29, 2026
0f519f9
fix: corrige le revenu cotisé pour la retraite de base
liliced Feb 9, 2026
e267251
chore: màj les points de retraite de base CNAVPL acquis
liliced Feb 9, 2026
9184bf5
fix: corrige la valeur du métier dans le simulateur Cipav
liliced Feb 10, 2026
ce9f2fb
fix: corrige le revenu cotisé pour la retraite de base
liliced Feb 9, 2026
0a1d9b8
chore: supprime remplacement inutile
liliced Feb 9, 2026
06c2015
refactor: réorganise les cotisations PCV
liliced Feb 9, 2026
4af33b8
chore: màj contribution maladie additionnelle PAMC
liliced Feb 10, 2026
06524ea
refactor: protection sociale
liliced Feb 10, 2026
10b4aa2
refactor: taux neutre
liliced Feb 10, 2026
db76b2f
refactor: supprime remplace
liliced Feb 10, 2026
054251e
fix: empêche la cotisation maladie PAMC d'être négative
liliced Feb 10, 2026
6339c0f
fix: corrige le taux de participation de la CPAM
liliced Feb 10, 2026
829ddcb
fix: inclue les IJSS des PAMC dans l'assiette sociale
liliced Feb 10, 2026
2f4c762
fix: proratisation de l'assiette de participation CPAM en cas de pens…
liliced Feb 10, 2026
46078f1
fix: corrige le revenu cotisé à la retraite de base
liliced Feb 10, 2026
45fe40b
fix: typo
liliced Feb 13, 2026
86ff6f3
fix: linter
liliced Feb 16, 2026
0230a9b
chore: remplace la formule de la retraite de base par celle de l'Urssaf
liliced Feb 13, 2026
d25c814
fix: corrige le calcul des durées
liliced Feb 17, 2026
86b0474
test: réécrit les tests de cotisations retraite
liliced Feb 17, 2026
5ac99b9
refactor: réorganisation du calcul des exonérations
liliced Feb 17, 2026
0d7cba3
test: réécrit les tests de cotisations de début d'activité
liliced Feb 17, 2026
8586e3f
fix: erreur nom de règle
liliced Feb 17, 2026
f734c68
fix(TI): correction de l'assiette en cas de déduction tabac et conjoi…
liliced Mar 2, 2026
1ea4e07
fix(TI): situation de famille couple en cas de conjoint collaborateur
liliced Mar 2, 2026
ccd5fe4
fix: bug saisie CA mixte
liliced Mar 2, 2026
53a3c34
fix: corrige la page développeur
liliced Mar 2, 2026
6a53006
refactor: update-data script
liliced Mar 2, 2026
8e86f1a
fix: corrige le bouton recherche
liliced Mar 2, 2026
d1f76d0
chore: ajoute les règles AS et TI à Algolia
liliced Mar 2, 2026
2ad89e5
fix: type and lint
liliced Mar 3, 2026
c80907b
fix: améliore les questions sur les dividendes
liliced Mar 3, 2026
2e77e53
fix: corrige la navigation dans les questions
liliced Mar 3, 2026
0f0c877
refactor(questions): supprime code inutile
liliced Mar 3, 2026
f60f48b
fix: corrige le calcul de l'Acre
liliced Mar 5, 2026
f0574ce
fix: erreurs noms de règle
liliced Mar 5, 2026
ede4a1b
fix: utilisation du PASS proratisé pour les plafonds de cotisations d…
liliced Mar 5, 2026
ac0a59f
fix(modele-ti): corrige la gestion des cotisations facultatives
liliced Mar 5, 2026
5e9446e
chore: met à jour la description du revenu professionnel
liliced Mar 6, 2026
9b2963b
fix: corrige l'applicabilité de l'exonération âge
liliced Mar 6, 2026
f427b93
chore(modele-ti): hausse de la CSG non déductible sur dividendes soum…
liliced Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions api/source/test-e2e/__snapshots__/index.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ exports[`e2e test mon-entreprise api > Test evaluate avocat (test units) 2`] = `
"dirigeant . indépendant . revenus étrangers",
"entreprise . charges",
"entreprise . imposition",
"entreprise . imposition . IR . régime micro-fiscal",
"entreprise . imposition . régime",
"entreprise . imposition . régime . micro-entreprise",
"impôt . foyer fiscal . enfants à charge",
Expand Down Expand Up @@ -374,7 +375,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
"evaluate": [
{
"missingVariables": [
"entreprise . activités . revenus mixtes",
"entreprise . activité . revenus mixtes",
"établissement . commune . département",
"établissement . commune . département . outre-mer",
],
Expand All @@ -394,7 +395,7 @@ exports[`e2e test mon-entreprise api > Test evaluate micro entreprise 2`] = `
},
{
"missingVariables": [
"entreprise . activités . revenus mixtes",
"entreprise . activité . revenus mixtes",
"établissement . commune . département",
"établissement . commune . département . outre-mer",
],
Expand Down
1 change: 1 addition & 0 deletions modele-as/.yarnrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodeLinker: pnp
7 changes: 7 additions & 0 deletions modele-as/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Journal des modifications

## next

## 0.0.1

Création du paquet.
85 changes: 85 additions & 0 deletions modele-as/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@



### Documentation et apprentissage

La documentation de publicodes est disponible sur https://publi.codes.

Un wiki contenant des informations intéressantes sur publicodes et le
raisonnement ayant abouti à ce langage sont dispos sur le repository
[betagouv/publicodes](https://github.com/betagouv/publicodes/wiki)

Pour se familiariser avec les règles, vous pouvez jeter un œil aux fichiers
contenant les règles elles-mêmes (dans le dossier `modele-as`)
mais cela peut s'avérer assez abrupt.

Essayez plutôt de jeter un œil [aux tests](https://github.com/betagouv/publicodes/tree/master/core/test/m%C3%A9canismes)
dans un premier temps, et pourquoi pas à [à l'implémentation des mécanismes](https://github.com/betagouv/publicodes/tree/master/core/source/mecanisms).

### Traduction des normes (lois) en règles Publicodes

Checklist :

- [ ] Lire les articles de vulgarisation (sur le site de l'URSSAF, des impôts, etc.).
- [ ] Utiliser un moteur de recherche spécialisé, comme [RFPaye](https://rfpaye.grouperf.com/).
- [ ] Lire les normes et noter leurs références dans les règles Publicodes.

### Développement de modele-as et de mon-entreprise

Pour développer les règles de `modele-as` et tester en temps réel sur les simulateurs de mon-entreprise, il vous faut lancer la commande suivantes :

```sh
yarn start
```

Les règles s'actualiseront automatiquement et le site se rechargera à chaque modification.


### Tests

Pour tester les règles, il est recommandé de :

- faire tourner un simulateur et vérifier à la main l'adéquation des règles avec les normes traduites ;
- créer des cas de tests de non-régression sous la forme de nouveaux snapshots (cf.
`site/test/regressions`).

### Versioning et changelog

Lors de toute modification du package `modele-as`, il est nécessaire de :

1. **Mettre à jour la version** dans le fichier `package.json` en suivant le versioning sémantique :
- Version majeure (1.0.0) : changements incompatibles avec les versions précédentes
- Version mineure (0.1.0) : ajout de nouvelles fonctionnalités rétrocompatibles
- Version patch (0.0.1) : corrections de bugs rétrocompatibles

2. **Documenter les changements** dans le fichier `CHANGELOG.md` en ajoutant une nouvelle entrée qui décrit :
- La nature des modifications apportées
- Les règles ajoutées, modifiées ou supprimées
- Les impacts potentiels sur les utilisateurs du package

Cette pratique assure une traçabilité des évolutions et facilite la maintenance du package.

### Développement simultané de Publicodes et de mon-entreprise

Il est parfois utile de tester des évolutions de publicodes sur mon-entreprise. C'est possible de la manière suivante :

- cloner les deux dépôts
- sur le dépôt `publicodes` lancer un `yarn build --watch` pour avoir du rechargement à chaud
- sur le dépôt `mon-entreprise` lancer un `yarn link ../publicodes --all` pour lier dynamiquement les paquets `publicodes` et `@publicodes/react-ui`

La commande yarn link prend en paramètre un chemin relatif au dépôt courant, et fonctionne uniquement en local.

Pour revenir au paquet publié sur NPM il faut utiliser :

```sh
yarn unlink --all
```

Pour déployer une version preview de mon-entreprise utilisant une version de publicodes non publiée sur NPM il est possible de référencer un commit ou une branche dans l'attribut résolution du `package.json` :

```json
{
"publicodes": "betagouv/publicodes#head=refacto&workspace=publicodes",
"@publicodes/react-ui": "betagouv/publicodes#head=refacto&workspace=@publicodes/react-ui"
}
```
4 changes: 4 additions & 0 deletions modele-as/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Modèle social français en publicodes

Ce paquet contient les règles [publicodes](https://publi.codes) utilisées sur https://mon-entreprise.urssaf.fr
pour le calcul des cotisations sociales, des impôts et des droits sociaux des dirigeantes et dirigeants ayant le statut d’assimilé salarié.
11 changes: 11 additions & 0 deletions modele-as/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// Currenty we systematically bundle all the rules even if we only need a
// sub-section of them. We might support "code-splitting" the rules in the
// future.
import { Rule } from 'publicodes'

import { Names } from './dist/names.js'

export type RègleModèleAssimiléSalarié = Names
declare let rules: Record<Names, Rule>

export default rules
36 changes: 36 additions & 0 deletions modele-as/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"name": "modele-as",
"version": "0.0.1",
"description": "Les règles publicodes du système social français pour les dirigeants assimilés salariés.",
"type": "module",
"main": "./dist/index.js",
"module": "dist/index.js",
"types": "./index.d.ts",
"repository": {
"type": "git",
"url": "https://github.com/betagouv/mon-entreprise.git",
"directory": "modele-as"
},
"bugs": "https://github.com/betagouv/mon-entreprise/issues?q=is%3Aopen+is%3Aissue+label%3A%22%F0%9F%93%95+l%C3%A9gislation%22",
"homepage": "https://mon-entreprise.urssaf.fr/int%C3%A9gration/biblioth%C3%A8que-de-calcul",
"license": "MIT",
"files": [
"dist",
"index.d.ts"
],
"devDependencies": {
"js-yaml": "^4.1.0",
"onchange": "^7.1.0"
},
"peerDependencies": {
"publicodes": "^1.0.4"
},
"scripts": {
"build": "node ../scripts/build-rules.js && echo 'ℹ️ Compilation effectuée'",
"start": "yarn run build && onchange 'règles/**/*.publicodes' -- yarn run build && echo 'ℹ️ Compilation effectuée'",
"clean": "rimraf dist node_modules",
"prepack": "yarn run build",
"up": "yarn version --minor && echo \"ℹ N'oubliez pas de poussez le tag git\"",
"test": "node ../scripts/check-changelog.js"
}
}
Loading
Loading