Tous les articles

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.