19 octobre 2026 · 1 min de lecture
Race condition : deux billets pour une seule place
Quand deux personnes agissent en même temps sur la même donnée, le résultat dépend de qui passe en premier. L'exemple de la dernière place de concert.
- tech
- bases
« Race condition », littéralement une course : deux actions se disputent la même donnée, et le résultat dépend de qui arrive en premier.
L'exemple : la dernière place de concert
Il reste une place. Alice et Bob cliquent en même temps. Les deux voient « 1 place disponible », et les deux achètent.
Le site fait deux choses : il vérifie qu'il reste une place, puis il vend. Mais entre les deux, l'autre s'est glissé. Résultat : deux billets vendus, pour une seule place.
C'est une race condition : le résultat dépend de qui passe en premier. Et comme cela dépend du timing, c'est un bug difficile à reproduire.
La solution : un verrou
On pose un verrou : vérifier et vendre deviennent un seul geste, qui ne peut pas être coupé en deux. Alice achète, Bob attend, et il voit « complet ».
À retenir
Donnée partagée, accès simultané : il faut un verrou. En pratique, selon l'outil, on utilise une transaction, un verrou ou une mise à jour atomique.