← Retour au chapitre Suites

Histoire & Mathématiques · Suites récurrentes · Modèle SIR

Les couvertures mortelles
et les maths qui expliquent tout

Épidémiologie discrète appliquée à un crime colonial — Fort Pitt, 1763

L’histoire vraie : un cadeau empoisonné

En 1763, des soldats britanniques donnent délibérément des couvertures contaminées par la variole à des chefs amérindiens Delaware. Ce n’est pas une légende — c’est documenté par des correspondances militaires conservées. Au Fort Pitt (Pennsylvanie), une épidémie de variole explose, tuant des centaines de personnes.

Source : larevuedhistoiremilitaire.fr

Pendant la rébellion de Pontiac, le général Jeffery Amherst écrit une lettre : « Essayez d’inoculer les Indiens avec des couvertures de variole. » Le 24 juin 1763, les officiers du fort remettent réellement ces couvertures à des représentants Delaware lors d’une réunion de négociation.

Résultat : une épidémie dans une population sans aucune immunité contre la variole, une maladie européenne tuant entre 20 et 30 % des personnes infectées et transmissible par simple contact avec des objets contaminés. Ce n’est qu’un épisode parmi d’autres : les maladies importées par les colons ont décimé une grande partie des peuples autochtones des Amériques, qui ne possédaient aucune défense immunitaire contre ces agents pathogènes inconnus de leur continent. (Source : Thornton R., American Indian Holocaust and Survival, University of Oklahoma Press, 1987.)

Les mathématiques vont nous montrer pourquoi une seule « étincelle » comme ces couvertures a suffi à tout faire brûler.

Le modèle SIR : une suite récurrente

On utilise le modèle SIR discret — l’une des applications les plus importantes des suites récurrentes : l’état du jour \(n+1\) se calcule à partir de l’état du jour \(n\). On modélise une population de 1 000 personnes répartie en trois groupes :

\(\beta = 0{,}4\) — probabilité qu’un contact entre un infecté et un sain mène à une contamination ce jour-là. La variole se transmet par l’air, les gouttelettes et les objets contaminés.

\(\gamma = 0{,}1\) — chaque jour, 10 % des infectés guérissent ou meurent.

Intuition : dans un espace confiné avec 10 personnes, un malade en infecte en moyenne 4 autres par jour. Avec plusieurs malades simultanés, ça s’emballe très vite.

Les formules des suites :

\[I_{n+1} = I_n + \beta \cdot \frac{S_n \cdot I_n}{N} - \gamma \cdot I_n\] \[S_{n+1} = S_n - \beta \cdot \frac{S_n \cdot I_n}{N}\] \[R_{n+1} = R_n + \gamma \cdot I_n\]

Le terme \(\dfrac{S_n \cdot I_n}{N}\) représente le nombre de contacts fructueux entre sains et infectés : plus il y a d’infectés et de sains en circulation, plus les rencontres sont fréquentes. Diviser par \(N\) normalise pour que le modèle fonctionne quelle que soit la taille de la population.

Conditions initiales (Jour 0) : \(S_0 = 999,\ I_0 = 1,\ R_0 = 0\) — une seule personne infectée au départ.

Programme Python — à coller sur pythontutor.com pour visualiser l’exécution pas à pas :

N = 1000
beta = 0.4
gamma = 0.1
S = 999.0
I = 1.0
R = 0.0

print("Jour 0:", round(S), round(I), round(R))

for jour in range(1, 16):
    new_infections = beta * S * I / N
    new_recovered = gamma * I
    S = max(0, S - new_infections)
    I = max(0, I + new_infections - new_recovered)
    R = R + new_recovered

    print(f"Jour {jour}: S={round(S)}, I={round(I)}, R={round(R)}") 

À Jour 15 : \(I \approx 0\), \(R \approx 950\) — 95 % de la population a été touchée.

Évolution sur 9 jours

Jour S — sains I — infectés R — morts/guéris Commentaire
099910Étincelle
199640Début imperceptible
2984151Accélération
3939583Explosion
48151796Ça grimpe vite
556042713Pic proche
625073020Maximum infectés
77089040Les sains s’épuisent
81090090Fin proche
90850150Épidémie terminée
R₀ = β / γ = 0,4 / 0,1 = 4

\(R_0\) (taux de reproduction de base) représente le nombre moyen de personnes qu’un infecté contamine dans une population entièrement saine. Si \(R_0 > 1\), l’épidémie se propage. Si \(R_0 < 1\), elle s’éteint d’elle-même. Pour la variole historique, \(R_0 \approx 5\text{–}7\).

Modifie beta à 0.2 dans le programme Python. Calcule \(R_0\). L’épidémie s’arrête-t-elle ? Jusqu’où monte \(I_n\) au maximum ?

La courbe des infectés explose (jours 3–7), puis s’effondre quand il n’y a plus assez de sains à infecter. C’est la même logique qu’un feu de forêt.

Pourquoi une étincelle suffit

Le modèle SIR montre quelque chose de contre-intuitif : au jour 1, on compte 4 infectés sur 1 000. Rien de visible. Au jour 3, on en est à 58. Au jour 6, à 730. La croissance est d’abord quasi-invisible, puis soudainement totale.

C’est la caractéristique des suites récurrentes à croissance exponentielle dans leur phase initiale : chaque terme multiplie le précédent par un facteur supérieur à 1, et l’effet ne devient visible que lorsqu’il est déjà très difficile à enrayer. En 1763, sans la moindre notion de contagion, d’immunité ou de quarantaine, une population isolée n’avait aucun moyen de comprendre ce qui se passait — ni de l’arrêter.

Les maths ne rendent pas ce crime moins grave. Mais elles expliquent, avec précision, pourquoi une poignée de couvertures contaminées a pu provoquer une catastrophe.

Si \(\beta = 0{,}1\) et \(\gamma = 0{,}1\), calculez \(R_0\). Que se passe-t-il dans ce cas limite ?
Réponse : \(R_0 = 1\). L’épidémie ne s’emballe pas mais ne s’éteint pas non plus spontanément. Testez dans Python !
← Retour au chapitre Suites