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 :
- Les 5 concepts clés résumés en tes propres mots (pas de copier-coller !)
- Un schéma de ton cru illustrant un concept au choix (spirale de dégradation, mutualisation, décomposition de la prime…)
- 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 :
- Calcule la prime pure par véhicule
- Calcule la prime commerciale
- 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 :
- Que s’est-il passé entre N et N+2 ?
- Quelles hypothèses peux-tu formuler sur le profil des clients qui partent vs ceux qui restent ?
- 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 :
python— Note les différentes variantes (slim, alpine, bullseye…)jupyter/scipy-notebook— Image pour la data sciencepostgres— Base de données
Questions :
- Quelle est la différence de taille entre
python:3.10etpython:3.10-slim? - Pourquoi utiliserait-on
python:3.10-alpine? Quel est l’inconvénient ? - Combien de pulls (téléchargements) a l’image
pythonofficielle ?
python:3.10fait environ 900 Mo,python:3.10-slimenviron 150 Mo. La version slim ne contient pas les outils de compilation et les headers de développement.python:3.10-alpineest 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.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 :
- Lance un conteneur Python en mode interactif
- Dans le conteneur, exécute
import sys; print(sys.version) - Sors du conteneur
- Liste tous les conteneurs (y compris arrêtés)
- 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 :
- Part de l’image
python:3.10-slim - Installe
pandasetnumpy - Copie un script
hello.pyqui affiche “Bonjour depuis Docker !” - 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.
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 ?
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 ?
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 :
- Ta fiche de synthèse (Livrable 1)
- Ta capture d’écran Docker (Livrable 2)
- Ton projet dockerisé (Livrable 3) — tu peux partager le code directement ou via GitHub
- Tes questions éventuelles
Je te ferai un retour et on validera ensemble avant de passer à la Semaine 2 !