Fiche de travail — Semaine 1

Exercices pratiques et livrables à produire

Auteur·rice

François Boussengui

Date de publication

6 janvier 2026

Cette fiche de travail t’accompagne tout au long de la Semaine 1. Elle contient les exercices pratiques, les livrables à produire, et des pistes de réflexion pour faire le lien entre théorie et pratique.


📅 Planning de la semaine

Jour 1

:::{.metier}Métier::: Sections 1-2 du Module 1

:::{.technique}Tech::: Installation Docker

Jour 2

:::{.metier}Métier::: Sections 3-4 du Module 1

:::{.technique}Tech::: Concepts & commandes

Jour 3

:::{.metier}Métier::: Section 5 + Auto-éval

:::{.technique}Tech::: Premier Dockerfile

Jour 4

:::{.metier}Métier::: Révision & questions

:::{.technique}Tech::: Exercices pratiques

Jour 5

:::{.metier}Métier::: Débriefing

:::{.technique}Tech::: Livrable final


📦 Livrables à produire

:::{.livrable-title}📝 Livrable 1 — Fiche de synthèse Module Métier::: :::{.livrable-status .required}Obligatoire:::

Objectif : Résumer les concepts clés du Module 1 dans tes propres mots.

Format : Document Markdown, Quarto ou PDF (1-2 pages max)

Contenu attendu :

  1. Les 5 concepts clés résumés en tes propres mots (pas de copier-coller !)
  2. Un schéma de ton cru illustrant un concept au choix (spirale de dégradation, mutualisation, décomposition de la prime…)
  3. Un exemple de ton expérience : relie un concept à une situation vécue chez AON, ASCENTIEL ou APRIL

💡 Conseil

Pense à la fois où tu as vu un portefeuille se dégrader, ou un cas d’anti-sélection, ou un arbitrage entre volume et rentabilité. C’est ce genre de lien théorie-pratique qui ancre vraiment les concepts.

:::{.livrable-title}🐳 Livrable 2 — Docker opérationnel::: :::{.livrable-status .required}Obligatoire:::

Objectif : Prouver que Docker est installé et fonctionnel sur ta machine.

Format : Capture d’écran

Contenu attendu :

Capture d’écran montrant le résultat des commandes :

docker --version
docker run hello-world

💡 Conseil

Si tu rencontres des problèmes d’installation, note les erreurs et on en discutera au débriefing. Les problèmes courants sont : WSL2 non activé sur Windows, permissions sur Linux, ou espace disque insuffisant.

:::{.livrable-title}📊 Livrable 3 — Script Python dockerisé::: :::{.livrable-status .required}Obligatoire:::

Objectif : Créer et conteneuriser un script Python qui calcule des indicateurs simples.

Format : Dossier contenant Dockerfile, requirements.txt, et script Python

Contenu attendu :

Un projet avec cette structure :

livrable-semaine-01/
├── Dockerfile
├── requirements.txt
└── calcul_prime.py

Le script doit calculer et afficher :

  • Une prime pure à partir de données simulées
  • La fréquence et la sévérité
  • Un message de confirmation que le calcul s’est bien exécuté

Tu peux t’inspirer du script fourni dans le Module Technique 1, ou créer le tien.

:::{.livrable-title}🌟 Livrable 4 — Questions et réflexions::: :::{.livrable-status .bonus}Bonus:::

Objectif : Préparer le débriefing avec des questions pertinentes.

Format : Liste de 2-3 questions

Contenu suggéré :

  • Points du module métier que tu voudrais approfondir
  • Difficultés rencontrées avec Docker
  • Idées de lien entre les concepts et ton projet central

🏋️ Exercices pratiques

Exercices Métier

📝 Exercice M1 — Calcul de prime

Un assureur couvre 5 000 véhicules. Les données historiques montrent :

  • Probabilité de sinistre par véhicule : 8% par an
  • Coût moyen d’un sinistre : 2 500 €
  • Frais de gestion : 15% de la prime pure
  • Frais d’acquisition : 10% de la prime pure
  • Marge souhaitée : 5% de la prime commerciale

Questions :

  1. Calcule la prime pure par véhicule
  2. Calcule la prime commerciale
  3. Quel serait le S/P (ratio sinistres sur primes) si l’année suivante, 450 sinistres surviennent avec un coût moyen de 2 800 € ?

1. Prime pure

\[\text{Prime pure} = \text{Fréquence} \times \text{Sévérité} = 0.08 \times 2500 = 200 \text{ €}\]

2. Prime commerciale

Soit \(P_c\) la prime commerciale :

\[P_c = \text{Prime pure} + \text{Frais gestion} + \text{Frais acquisition} + \text{Marge}\]

\[P_c = 200 + 0.15 \times 200 + 0.10 \times 200 + 0.05 \times P_c\]

\[P_c = 200 + 30 + 20 + 0.05 \times P_c\]

\[0.95 \times P_c = 250\]

\[P_c = 263.16 \text{ €}\]

3. S/P réalisé

  • Primes encaissées : \(5000 \times 263.16 = 1\,315\,800\)
  • Sinistres payés : \(450 \times 2800 = 1\,260\,000\)
  • S/P = \(1\,260\,000 / 1\,315\,800 = 95.8\%\)

Le S/P est élevé (>90%), ce qui laisse peu de marge pour les frais. L’année a été défavorable car la fréquence réelle (450/5000 = 9%) et la sévérité (2800€) ont dépassé les hypothèses.

📝 Exercice M2 — Analyse de spirale

Un portefeuille auto présente l’évolution suivante sur 3 ans :

Année Nb contrats Nouvelles affaires Résiliations S/P
N 10 000 - - 75%
N+1 9 500 800 1 300 82%
N+2 8 800 600 1 300 91%

Questions :

  1. Que s’est-il passé entre N et N+2 ?
  2. Quelles hypothèses peux-tu formuler sur le profil des clients qui partent vs ceux qui restent ?
  3. Que conseillerais-tu à l’assureur ?

🤔 Piste de réflexion

Pense à la spirale de dégradation vue dans le module. Les chiffres racontent une histoire : regarde l’évolution du S/P, du taux de résiliation, et du volume de nouvelles affaires.

Exercices Techniques

🐳 Exercice T1 — Exploration Docker Hub

Rends-toi sur Docker Hub et recherche les images suivantes :

  1. python — Note les différentes variantes (slim, alpine, bullseye…)
  2. jupyter/scipy-notebook — Image pour la data science
  3. postgres — Base de données

Questions :

  1. Quelle est la différence de taille entre python:3.10 et python:3.10-slim ?
  2. Pourquoi utiliserait-on python:3.10-alpine ? Quel est l’inconvénient ?
  3. Combien de pulls (téléchargements) a l’image python officielle ?
  1. python:3.10 fait environ 900 Mo, python:3.10-slim environ 150 Mo. La version slim ne contient pas les outils de compilation et les headers de développement.

  2. python:3.10-alpine est basée sur Alpine Linux (très léger, ~50 Mo). L’inconvénient : certains packages Python (numpy, pandas) sont difficiles à installer car ils nécessitent une compilation avec des dépendances qui ne sont pas présentes par défaut sur Alpine.

  3. L’image Python officielle a plus d’un milliard de pulls — c’est l’une des images les plus utilisées !

🐳 Exercice T2 — Manipulation de conteneurs

Effectue les manipulations suivantes et note les commandes utilisées :

  1. Lance un conteneur Python en mode interactif
  2. Dans le conteneur, exécute import sys; print(sys.version)
  3. Sors du conteneur
  4. Liste tous les conteneurs (y compris arrêtés)
  5. Supprime le conteneur que tu viens de créer
# 1. Lancer Python interactif
docker run -it python:3.10 python

# 2. Dans Python
>>> import sys; print(sys.version)
3.10.x (...)
>>> exit()

# 3. Tu es sorti automatiquement avec exit()

# 4. Lister tous les conteneurs
docker ps -a

# 5. Supprimer le conteneur (remplace CONTAINER_ID par l'ID affiché)
docker rm CONTAINER_ID

# Astuce : pour éviter d'avoir à supprimer, utilise --rm
docker run -it --rm python:3.10 python

🐳 Exercice T3 — Dockerfile personnalisé

Crée un Dockerfile qui :

  1. Part de l’image python:3.10-slim
  2. Installe pandas et numpy
  3. Copie un script hello.py qui affiche “Bonjour depuis Docker !”
  4. Exécute ce script au démarrage

Fichier hello.py :

import pandas as pd
import numpy as np

print("=" * 40)
print("🐳 Bonjour depuis Docker !")
print(f"   pandas version: {pd.__version__}")
print(f"   numpy version: {np.__version__}")
print("=" * 40)

requirements.txt :

pandas==2.0.3
numpy==1.24.3

Dockerfile :

FROM python:3.10-slim

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY hello.py .

CMD ["python", "hello.py"]

Commandes :

docker build -t hello-docker:v1 .
docker run --rm hello-docker:v1

🔗 Faire le pont métier-technique

🤔 Questions de réflexion

Ces questions n’ont pas de “bonne réponse” unique. Elles sont là pour t’aider à connecter les deux volets de la formation.

  1. En quoi Docker peut-il aider à éviter des erreurs dans les calculs de sinistralité ?

    Pense à la reproductibilité : si ton modèle de tarification donne des résultats différents selon la machine, quelles conséquences pour l’assureur ?

  2. Comment pourrais-tu utiliser Docker pour ton projet central de pilotage de portefeuille ?

    Imagine l’architecture : une API de scoring, un dashboard, une base de données… Comment Docker faciliterait le déploiement ?

  3. Dans ton expérience chez AON ou ASCENTIEL, as-tu rencontré des problèmes de reproductibilité ou de “ça marche sur ma machine” ?

    Comment Docker aurait-il pu aider ?


✅ Checklist de fin de semaine

Avant de passer à la Semaine 2, vérifie que tu as :

  • Terminé la lecture du Module Métier 1
  • Répondu aux 4 questions d’auto-évaluation du Module Métier
  • Terminé la lecture du Module Technique 1
  • Installé Docker et vérifié son fonctionnement
  • Produit le Livrable 1 (fiche de synthèse)
  • Produit le Livrable 2 (capture d’écran Docker)
  • Produit le Livrable 3 (script dockerisé)
  • Réalisé au moins 2 exercices métier
  • Réalisé au moins 2 exercices techniques

📬 Pour le débriefing

Quand tu auras terminé, envoie-moi :

  1. Ta fiche de synthèse (Livrable 1)
  2. Ta capture d’écran Docker (Livrable 2)
  3. Ton projet dockerisé (Livrable 3) — tu peux partager le code directement ou via GitHub
  4. Tes questions éventuelles

Je te ferai un retour et on validera ensemble avant de passer à la Semaine 2 !


← Retour à la Semaine 1 Module Métier 1 Module Technique 1