last version
This commit is contained in:
parent
aa2df27bcc
commit
a91ef7dd7f
19 changed files with 239 additions and 41 deletions
src
code-examples
images
layouts
pages
slides
18
src/code-examples/Bareme.md
Normal file
18
src/code-examples/Bareme.md
Normal file
|
@ -0,0 +1,18 @@
|
|||
```yaml
|
||||
dirigeant . indépendant . cotisations facultatives . plafond retraite complémentaire:
|
||||
unité: €/an
|
||||
formule:
|
||||
le maximum de:
|
||||
- barème:
|
||||
assiette: revenu professionnel
|
||||
multiplicateur: plafond sécurité sociale
|
||||
tranches:
|
||||
- taux: 10%
|
||||
plafond: 1
|
||||
- taux: 25%
|
||||
plafond: 8
|
||||
- produit:
|
||||
- plafond sécurité sociale
|
||||
- 10%
|
||||
```
|
||||
d
|
41
src/code-examples/PublicodesSalarieCotisations.md
Normal file
41
src/code-examples/PublicodesSalarieCotisations.md
Normal file
|
@ -0,0 +1,41 @@
|
|||
```yaml
|
||||
salarié . cotisations:
|
||||
description: Total des cotisations et contributions à la sécurité sociales
|
||||
versées pour ce salarié. Il comprends une part employeur et une part
|
||||
employé.
|
||||
somme:
|
||||
- employeur
|
||||
- salarié
|
||||
|
||||
avec:
|
||||
employeur:
|
||||
titre: part employeur
|
||||
somme:
|
||||
- maladie . employeur
|
||||
- prévoyances . santé . employeur
|
||||
- ATMP
|
||||
- vieillesse . plafonnée . employeur
|
||||
- vieillesse . déplafonnée . employeur
|
||||
- retraite complémentaire-CEG-CET . employeur
|
||||
- allocations familiales
|
||||
- assurance chômage
|
||||
- APEC . employeur
|
||||
- autres employeur
|
||||
- prévoyances . incapacité invalidité décès . employeur
|
||||
abattement: exonérations . employeur
|
||||
|
||||
salarié:
|
||||
titre: part salarié
|
||||
somme:
|
||||
- maladie . salarié
|
||||
- prévoyances . santé . salarié
|
||||
- vieillesse . plafonnée . salarié
|
||||
- vieillesse . déplafonnée . salarié
|
||||
- retraite complémentaire-CEG-CET . salarié
|
||||
- APEC . salarié
|
||||
- CSG-CRDS . CSG . déductible
|
||||
- CSG-CRDS . sur revenus imposables non déductible
|
||||
- CSG-CRDS . sur revenus non imposables
|
||||
- prévoyances . incapacité invalidité décès . salarié
|
||||
abattement: exonérations . salarié
|
||||
```
|
27
src/code-examples/PublicodesSalarieMaladie.md
Normal file
27
src/code-examples/PublicodesSalarieMaladie.md
Normal file
|
@ -0,0 +1,27 @@
|
|||
```yaml
|
||||
employeur:
|
||||
titre: part employeur
|
||||
produit:
|
||||
- cotisations . assiette
|
||||
- taux
|
||||
|
||||
avec:
|
||||
taux:
|
||||
variations:
|
||||
- si: taux réduit
|
||||
alors: 7%
|
||||
- sinon: 13%
|
||||
|
||||
taux réduit:
|
||||
valeur: cotisations . assiette < plafond
|
||||
avec:
|
||||
plafond:
|
||||
produit:
|
||||
- 2.5
|
||||
- SMIC
|
||||
- temps de travail . effectif . quotité
|
||||
références:
|
||||
Code de la sécurité sociale - Article L241-2-1: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000048684728
|
||||
Code de la sécurité sociale - Article L241-1-2: https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000048807182
|
||||
Code de la sécurité sociale - Article D241-7 II (salaire minimum de croissance): https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000048852497
|
||||
```
|
BIN
src/images/alice.jpg
Normal file
BIN
src/images/alice.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 28 KiB |
BIN
src/images/documentation.png
Normal file
BIN
src/images/documentation.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 108 KiB |
BIN
src/images/grégoire.jpg
Normal file
BIN
src/images/grégoire.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 72 KiB |
BIN
src/images/jalil.jpg
Normal file
BIN
src/images/jalil.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 16 KiB |
BIN
src/images/veronique.jpg
Normal file
BIN
src/images/veronique.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 32 KiB |
BIN
src/images/veroniquer.jpg
Normal file
BIN
src/images/veroniquer.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 69 KiB |
|
@ -29,6 +29,9 @@ import 'reveal.js/dist/theme/white.css';
|
|||
|
||||
<script>
|
||||
import Reveal from 'reveal.js';
|
||||
import RevealNotes from 'reveal.js/plugin/notes/notes'
|
||||
|
||||
Reveal.initialize();
|
||||
Reveal.initialize({
|
||||
plugins: [RevealNotes],
|
||||
});
|
||||
</script>
|
||||
|
|
|
@ -9,16 +9,20 @@ import Ouverture from "../slides/Ouverture.astro";
|
|||
import Context from "../slides/Context.astro";
|
||||
import HowDoesItWork from "../slides/HowDoesItWork.astro";
|
||||
import RulesExamples from "../slides/RulesExamples.astro";
|
||||
import TheDownsides from "../slides/TheDownsides.astro";
|
||||
import ThankYou from "../slides/ThankYou.astro";
|
||||
---
|
||||
|
||||
<RevealLayout>
|
||||
<Ouverture/>
|
||||
<Context/>
|
||||
<RulesExamples/>
|
||||
<Demonstration/>
|
||||
<ExpertsAndUsers/>
|
||||
<HowDoesItWork/>
|
||||
<InteractiveDocumentation/>
|
||||
<Demonstration/>
|
||||
<RunningTheRules/>
|
||||
<ExpertsAndUsers/>
|
||||
<TheDownsides/>
|
||||
<Conclusion/>
|
||||
<ThankYou/>
|
||||
</RevealLayout>
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
<section>
|
||||
<h2>Conclusion</h2>
|
||||
|
||||
Publicodes has been a key enabler for writing all our tools
|
||||
<ul>
|
||||
<li class="fragment">Publicodes has been a key enabler</li>
|
||||
<li class="fragment">Rules as Code approach brings transparency</li>
|
||||
<li class="fragment">Our work continues to expand across more regulations and use cases</li>
|
||||
<li class="fragment">Challenges remain: language limitations, maintainability tradeoffs, and debugging complexity</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
|
|
@ -1,37 +1,68 @@
|
|||
---
|
||||
import { Image } from 'astro:assets';
|
||||
import veroniqueImg from '../images/veronique.jpg';
|
||||
import aliceImg from '../images/alice.jpg';
|
||||
import jalilImg from '../images/jalil.jpg';
|
||||
import gregoireImg from '../images/grégoire.jpg';
|
||||
---
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h1>Context</h1>
|
||||
</section>
|
||||
<section>
|
||||
<h2>The team</h2>
|
||||
|
||||
<div style="display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: center;">
|
||||
<div class="fragment">
|
||||
<Image src={veroniqueImg} alt="Véronique Rab" width={150} height={150} style="border-radius: 50%; object-fit: cover; box-shadow: 0 4px 8px rgba(0,0,0,0.1);" />
|
||||
<h3 style="margin-bottom: 0; margin-top: 10px; font-size: 1em;">Véronique Rab</h3>
|
||||
<p style="margin-top: 5px; font-size: 0.9em; color: #666;">Product Owner</p>
|
||||
</div>
|
||||
<div class="fragment">
|
||||
<Image src={aliceImg} alt="Alice Dahan" width={150} height={150} style="border-radius: 50%; object-fit: cover; box-shadow: 0 4px 8px rgba(0,0,0,0.1);" />
|
||||
<h3 style="margin-bottom: 0; margin-top: 10px; font-size: 1em;">Alice Dahan</h3>
|
||||
<p style="margin-top: 5px; font-size: 0.9em; color: #666;">Developer</p>
|
||||
</div>
|
||||
<div class="fragment">
|
||||
<Image src={jalilImg} alt="Jalil Arfaoui" width={150} height={150} style="border-radius: 50%; object-fit: cover; box-shadow: 0 4px 8px rgba(0,0,0,0.1);" />
|
||||
<h3 style="margin-bottom: 0; margin-top: 10px; font-size: 1em;">Jalil Arfaoui</h3>
|
||||
<p style="margin-top: 5px; font-size: 0.9em; color: #666;">Developer</p>
|
||||
</div>
|
||||
<div class="fragment">
|
||||
<Image src={gregoireImg} alt="Grégoire Lopez-Rios" width={150} height={150} style="border-radius: 50%; object-fit: cover; box-shadow: 0 4px 8px rgba(0,0,0,0.1);" />
|
||||
<h3 style="margin-bottom: 0; margin-top: 10px; font-size: 1em;">Grégoire Lopez-Rios</h3>
|
||||
<p style="margin-top: 5px; font-size: 0.9em; color: #666;">Users Relations</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<h2>The problem</h2>
|
||||
<ul>
|
||||
<li>French legislation is complex</li>
|
||||
<li>Wide variety of users and situations</li>
|
||||
<li>Explicability (not an AI)</li>
|
||||
<li class="fragment">French legislation is complex</li>
|
||||
<li class="fragment">Wide variety of users and situations</li>
|
||||
<li class="fragment">Explicability (not an AI)</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>The story of a state startup</h2>
|
||||
|
||||
Historique du projet
|
||||
<ul>
|
||||
<li class="fragment">2014: Started as « My company in France »</li>
|
||||
<li class="fragment">2016: New version using Yaml rules</li>
|
||||
<li class="fragment">2018: Publicodes was born</li>
|
||||
<li class="fragment">2019: Transferred to Urssaf</li>
|
||||
<li class="fragment">2020: Acceleration, new tools</li>
|
||||
<li class="fragment">2024: New team</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Rules as Code and Publicodes</h2>
|
||||
|
||||
<ul>
|
||||
<li>Born within mon-entreprise</li>
|
||||
<li>A language for describing executable rules</li>
|
||||
<li>Now standalone open source project</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Context & Background</h2>
|
||||
|
||||
<ul>
|
||||
<li><strong>mon-entreprise.urssaf.fr</strong> project developed via beta.gouv.fr</li>
|
||||
<li>Using <strong>Publicodes</strong> to formalize rules</li>
|
||||
<li>Mature project, integrated into Urssaf</li>
|
||||
<li class="fragment">Born within mon-entreprise</li>
|
||||
<li class="fragment">A language for describing executable rules</li>
|
||||
<li class="fragment">Now standalone open source project</li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -2,8 +2,18 @@
|
|||
<h2>Tool Demonstrations</h2>
|
||||
|
||||
<ul>
|
||||
<li>Salary & contributions simulator</li>
|
||||
<li>Status comparison tool</li>
|
||||
<li>Retirement rights calculator</li>
|
||||
<li class="fragment">Salary & contributions simulator</li>
|
||||
<li class="fragment">Status comparison tool</li>
|
||||
<li class="fragment">Retirement rights calculator</li>
|
||||
</ul>
|
||||
<aside class="notes">
|
||||
<ul>
|
||||
<li>Simulateur salarié : Saisir un salaire brut, montrer comment les objectifs sont interdépendants,
|
||||
montrer le lien SMIC, montrer la doc du calcul des cotisations, montrer comment la réponse aux questions
|
||||
influe sur le calcul, montrer la fiche de paie
|
||||
</li>
|
||||
<li>Comparateur de statuts : Bien montrer comment on donne les couts mais aussi les projections en matière de couvertures sociales</li>
|
||||
<li>Simulateur auto-entrepreneureuse : Montrer les projections de montant de retraite</li>
|
||||
</ul>
|
||||
</aside>
|
||||
</section>
|
||||
|
|
|
@ -1,19 +1,42 @@
|
|||
<section>
|
||||
<section>
|
||||
<h2>Collaboration with Experts & Users</h2>
|
||||
<h1>Collaboration with Experts & Users</h1>
|
||||
|
||||
How we interact with Urssaf experts and users to refine rules.
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Nos interactions avec les directions métiers
|
||||
<h2>Our interactions with Urssaf departments</h2>
|
||||
<ul>
|
||||
<li class="fragment">Incoming requests</li>
|
||||
<li class="fragment">Outgoing requests</li>
|
||||
<li class="fragment">Demonstrations</li>
|
||||
</ul>
|
||||
<aside class="notes">
|
||||
<li>Parler des différents types d’interactions avec les équipes Urssaf</li>
|
||||
<li>Faire la différence entre ce qu’on nous demande (roadmap) et les moments où nous on va chercher l’info</li>
|
||||
<li>Parler des démos</li>
|
||||
<li>Utilisation des outils existants aussi</li>
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Nos interactions avec les experts hors Urssaf
|
||||
<h2>Our interactions with other expertise</h2>
|
||||
<ul>
|
||||
<li class="fragment">Rules and law research</li>
|
||||
<li class="fragment">Try to have access to direct contacts</li>
|
||||
</ul>
|
||||
<aside class="notes">
|
||||
<li>BPI, Impôts, INSEE …</li>
|
||||
</aside>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Nos interactions avec les usagers
|
||||
<h2>Our interactions with users</h2>
|
||||
<ul>
|
||||
<li class="fragment">Multiple channels : Crisp, Github</li>
|
||||
<li class="fragment">Multiple issues : Calculations errors, missing uses cases, UX issues …</li>
|
||||
<li class="fragment">Multiple outcomes : Calculations adjustments, new tools, interface clarifications …</li>
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
---
|
||||
import { Image } from "astro:assets"
|
||||
import documentation from "../images/documentation.png"
|
||||
---
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h1>Interactive Documentation</h1>
|
||||
</section>
|
||||
<section>
|
||||
<h2>Automatic Documentation</h2>
|
||||
|
||||
capture d’écran de la documentation automatique
|
||||
|
||||
Ou démonstration plutôt ?
|
||||
</section>
|
||||
<h2>Automatic Interactive Documentation</h2>
|
||||
<Image src={documentation} alt="documentation" />
|
||||
</section>
|
||||
|
|
|
@ -1,15 +1,27 @@
|
|||
---
|
||||
import PublicodesSalarieCotisations from "../code-examples/PublicodesSalarieCotisations.md"
|
||||
import PublicodesSalarieMaladie from "../code-examples/PublicodesSalarieMaladie.md"
|
||||
import Bareme from "../code-examples/Bareme.md"
|
||||
---
|
||||
|
||||
<section>
|
||||
<section>
|
||||
<h1>Rules examples</h1>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2>Example modele-social 1</h2>
|
||||
<h2>Employee contributions</h2>
|
||||
|
||||
<PublicodesSalarieCotisations />
|
||||
</section>
|
||||
<section>
|
||||
<h2>Example modele-social 2</h2>
|
||||
<h2>Health insurance</h2>
|
||||
|
||||
<PublicodesSalarieMaladie />
|
||||
</section>
|
||||
<section>
|
||||
<h2>Example modele-social 3</h2>
|
||||
<h2>Advanced computations mechanisms</h2>
|
||||
|
||||
<Bareme />
|
||||
</section>
|
||||
</section>
|
||||
|
|
17
src/slides/ThankYou.astro
Normal file
17
src/slides/ThankYou.astro
Normal file
|
@ -0,0 +1,17 @@
|
|||
<section>
|
||||
<h1>Thank You!</h1>
|
||||
<div style="margin-top: 40px;">
|
||||
<p class="fragment" style="font-size: 1.2em;">Questions?</p>
|
||||
<div class="fragment" style="margin-top: 50px;">
|
||||
<p style="font-size: 0.9em; margin-bottom: 5px;">Contact us:</p>
|
||||
<p style="font-size: 0.9em; margin-bottom: 5px;">
|
||||
<a href="mailto:contact@mon-entreprise.beta.gouv.fr">contact@mon-entreprise.beta.gouv.fr</a>
|
||||
</p>
|
||||
<p style="font-size: 0.9em; margin-top: 20px;">
|
||||
<a href="https://mon-entreprise.urssaf.fr" target="_blank" style="margin-right: 20px;">
|
||||
https://mon-entreprise.urssaf.fr
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
10
src/slides/TheDownsides.astro
Normal file
10
src/slides/TheDownsides.astro
Normal file
|
@ -0,0 +1,10 @@
|
|||
<section>
|
||||
<h2>The Downsides</h2>
|
||||
|
||||
<ul>
|
||||
<li class="fragment">You can't express what the language can't express</li>
|
||||
<li class="fragment">Simplicity to read vs maintainability</li>
|
||||
<li class="fragment">No encapsulation: Implementation is the API</li>
|
||||
<li class="fragment">Difficult to debug</li>
|
||||
</ul>
|
||||
</section>
|
Loading…
Add table
Reference in a new issue