Water-polo sur l’écran de verrouillage : comment les Live Activities ont changé l’expérience du spectateur
Le spectateur qui se tenait au bord du bassin en criant « c’est quoi le pointage ? » sent désormais le but vibrer à son poignet avant même que la prochaine action ne commence. Voici ce qui a été livré, le travail technique derrière, et pourquoi c’est plus important que toutes les autres fonctionnalités spectateurs qu’on ait jamais construites.
Publié le 23 mai 2026 · ~8 min de lecture
Il y a cinq ans, suivre un match de water-polo jeunesse où vous ne pouviez pas être sur place revenait à texter un autre spectateur dans les gradins et à attendre une réponse en émoji. Aujourd’hui, en trois tapotements dans l’application Eggbeater, l’iPhone de ce même spectateur vibre dès qu’un but est marqué, son Apple Watch tapote avec un rythme différent selon l’équipe qui a marqué, et l’écran de verrouillage affiche le pointage en direct pendant toute la durée du match — sans jamais avoir à ouvrir une application. Ce billet raconte comment ces pièces s’emboîtent, à quoi ressemble l’ingénierie derrière, et pourquoi un sport joué dans un bassin sans commentateur en avait besoin plus qu’aucun autre.
Qu’est-ce qu’une Live Activity ?
Apple a introduit les Activités en direct (Live Activities) dans iOS 16.1 (octobre 2022) et les a peaufinées au fil d’iOS 17 et 18. Une Live Activity est un petit panneau persistant qui vit sur l’écran de verrouillage de l’iPhone et qui, sur les appareils compatibles, se déploie dans le Dynamic Island en haut de l’écran. Pensez à la manière dont Uber affiche l’icône du véhicule de votre chauffeur en mouvement sur l’écran de verrouillage pendant votre course : c’est exactement le même mécanisme.
Du point de vue de l’utilisateur, une Live Activity, c’est un objet qui :
- Apparaît automatiquement quand un événement qui intéresse l’utilisateur commence, sans qu’il ouvre une application.
- Se met à jour en quasi temps réel au fur et à mesure de l’événement : changements de pointage, changements de quart, horloge qui tourne.
- Reste visible sur l’écran de verrouillage, pour qu’un simple coup d’œil suffise à tout savoir sans déverrouiller le téléphone.
- Disparaît proprement à la fin de l’événement (match terminé, course livrée), en gardant brièvement un état final pour qu’on puisse voir comment ça s’est terminé.
Du point de vue de la plateforme, une Live Activity est une surface SwiftUI riche mais contrainte, contrôlée par votre application, avec un canal APNs (Apple Push Notification service) séparé qui court-circuite le cycle habituel « ouvrir l’app pour rafraîchir ». L’application n’a pas besoin d’être en cours d’exécution. L’utilisateur n’a besoin de toucher à rien. La Live Activity existe simplement pendant la durée de l’événement.
Pour les sports, c’est l’usage rêvé. Une course partagée n’a qu’une seule variable à mettre à jour (la position du chauffeur). Une livraison en a deux (position et heure d’arrivée). Un match de water-polo en a au moins six qui intéressent le spectateur : la ligne de pointage, le quart, l’horloge, l’équipe en possession en supériorité, le joueur qui vient de marquer et le gardien actuellement dans le bassin. Les Live Activities peuvent toutes les porter.
Pourquoi le water-polo en avait spécialement besoin
Chaque sport d’équipe a son propre problème du « je ne peux pas être présent à ce match ». Les spectateurs de soccer reçoivent des textos depuis la touche. Les spectateurs de basket suivent les sommaires défilants sur les plateformes jeunesse d’ESPN. Les spectateurs de hockey ont des applications avec pointage en direct dans la plupart des ligues amateurs. Le water-polo, lui, n’avait à peu près rien — et c’est une bizarrerie de l’empreinte médiatique du sport, pas de sa difficulté.
Trois raisons structurelles pour lesquelles le water-polo était mal servi :
- Aucun commentateur. Le football, le basket et le hockey ont des décennies de couverture télé qui ont entraîné les auditoires à suivre les matchs à l’oreille. Le water-polo n’a rien de cette infrastructure en jeunesse et en club. Soit vous voyez le match, soit vous ne savez pas ce qui s’est passé.
- Le bord du bassin est bruyant. Coups de sifflet, éclaboussures, spectateurs qui crient, arbitres qui klaxonnent — aucun signal sonore ne dit qu’un but vient d’être marqué. Même les spectateurs physiquement présents ratent régulièrement des buts dans les tournois chargés, parce que trois bassins jouent en même temps et que l’annonceur du bassin qui marque est saturé.
- Les horloges de match ne sont reliées à rien. L’horloge murale est sur son propre circuit. Le tableau, quand il y en a un, est sur un autre circuit. Aucun des deux n’était relié à quoi que ce soit en dehors du bassin. Tant que personne n’avait câblé directement la saisie du bénévole à la table jusqu’au téléphone du spectateur, ces événements étaient invisibles à l’instant où ils se produisaient.
Concrètement : même quand un spectateur était assis au bord du bassin à regarder le match de son enfant, il était souvent incapable de vous donner le pointage actuel cinq minutes après un but. Le bassin des jeunes, c’était un mur de mouvement chaotique, et les bénévoles à la table avaient une feuille papier et un porte-bloc. Les buts étaient marqués. Le temps passait. Rien ne sortait du bord du bassin.
Le moment « qu’est-ce que je viens de voir ? ». Quiconque a passé un samedi dans un tournoi à plusieurs bassins a vécu ça : l’enfant marque, les spectateurs crient, les spectateurs se demandent immédiatement « c’est quoi le pointage maintenant ? » — parce que personne ne le suivait proprement. Les Live Activities règlent un problème qui était à la fois technologique et social.
Comment Eggbeater a tout relié (en français clair)
La Live Activity n’est que la pointe visible. Sous elle se cache un pipeline qui va du tap du marqueur bénévole jusqu’à l’écran de verrouillage du spectateur en moins de cinq secondes.
De gauche à droite :
[Tap bénévole] → [Écriture Worker] → [Diffusion Firebase] → [Push APNs] → [Maj écran de verrouillage]
~50ms · ~80ms · ~300ms · ~1 à 3 s · immédiat
Étape 1 : La personne bénévole à la table marque
Dans chaque tournoi propulsé par Eggbeater, une personne bénévole par bassin s’installe à une table de marque avec une tablette ou un ordinateur portable. L’interface de marquage est une grille tactile : les verbes d’action (But, Passe, Vol, Perte, Bloc, Excl, 5 m, Arrêt gardien) à gauche, les joueurs à droite. On tape l’action, on tape le joueur, l’événement est enregistré. L’interface est pensée pour qu’une personne bénévole sans expérience soit productive en 15 minutes.
Dès qu’un tap est enregistré, l’application locale déclenche une mise à jour d’état et envoie immédiatement l’événement vers le nuage. Pas de bouton « Enregistrer ». Pas d’envoi par lot. Chaque événement est sa propre écriture.
Étape 2 : Un Cloudflare Worker écrit l’événement
L’événement atterrit dans un Cloudflare Worker — une minuscule fonction sans serveur à la périphérie du réseau. Le Worker fait trois choses dans le même aller-retour : il écrit l’événement dans le stockage durable (Firebase Realtime Database), il met à jour le pointage en cours dans un cache KV, et il accuse réception au marqueur pour que l’interface locale confirme.
Les Workers tournent en périphérie — physiquement près de la personne à la table — donc ce saut reste systématiquement sous les 100 millisecondes, même sur le wifi du site un jour de tournoi.
Étape 3 : Firebase diffuse aux appareils abonnés
Chaque spectateur qui consulte l’URL publique de ce match a une souscription Realtime Database ouverte. Quand l’événement arrive, Firebase pousse le nouvel état vers tous les clients connectés au même moment, ou presque. Les navigateurs mettent à jour leur tableau visible. Les applications mobiles mettent à jour leurs vues internes.
Jusqu’ici, c’est l’expérience « rafraîchir le navigateur » en mieux. Le morceau intéressant, c’est ce qui se passe pour les spectateurs dont l’application n’est pas ouverte.
Étape 4 : APNs livre une mise à jour de Live Activity
Pour chaque spectateur iPhone qui a démarré une Live Activity pour ce match, le Worker déclenche aussi une mise à jour Apple Push Notification Service (APNs) avec le type de contenu « liveactivity ». APNs, c’est le système de livraison de notifications d’Apple — le même pipeline qui propulse iMessage et les notifications push classiques, mais avec un canal spécial pour les Live Activities qui met à jour l’état à l’écran directement, sans afficher de bannière de notification.
La livraison APNs prend typiquement 1 à 3 secondes. C’est le saut le plus long du pipeline et c’est celui qu’on ne contrôle pas. La plupart du temps c’est presque instantané ; à l’occasion, sur un mauvais réseau cellulaire, ça s’étire à quelques secondes. Dans tous les cas, le spectateur voit le nouveau pointage sur son écran de verrouillage sans lever le petit doigt.
Étape 5 : L’écran de verrouillage reflète le nouvel état
La surface de Live Activity, c’est une petite vue SwiftUI qu’on a écrite à l’intérieur de l’application iOS Eggbeater. Elle rend les noms des équipes locale et visiteuse, la ligne de pointage, le quart, le temps restant et une pastille de statut (LIVE / FINAL / Q1 / Q2 / etc.). Quand la mise à jour APNs arrive, iOS passe le nouvel état à notre vue et les valeurs se mettent à jour sur place — pas de saccade d’animation, pas de lancement d’application, pas d’usure de batterie.
Sur les iPhone équipés du Dynamic Island, la même Live Activity se déploie dans une pastille compacte en haut de l’écran quand l’utilisateur prend son téléphone en main. On tape la pastille et on obtient une vue déployée plus large avec l’historique action par action des derniers événements. On tape là-dessus et on se retrouve dans l’application complète, sur la vue du match en direct.
Le morceau Apple Watch
La Live Activity prend la place à l’écran. L’Apple Watch, elle, prend la réaction tactile.
Quand une Live Activity tourne sur un iPhone et que le spectateur a une Apple Watch jumelée, la montre s’invite automatiquement. Deux comportements précis qui comptent :
Vibrations sur les événements de but
Quand l’équipe à domicile marque, la montre déclenche une vibration « Notification Up » — un double tapotement net sur le poignet. Quand l’équipe visiteuse marque, c’est « Notification Down » — un tapotement unique plus long. Les rythmes sont volontairement différents : même sans regarder la montre, la personne qui la porte sait qui a marqué. Spectateurs au restaurant, à l’aéroport, n’importe où loin du bassin, reçoivent l’information du but via leur poignet.
Complications de cadran
Si le spectateur ajoute la complication Eggbeater à son cadran, le pointage en direct et l’horloge du match apparaissent directement sur le cadran de la montre pendant toute la durée du match. La complication se met à jour sur le même canal APNs que la Live Activity, donc la latence d’un coup d’œil est la même — moins de 5 secondes de la table de marque jusqu’au poignet.
Le gain moins évident : la vibration de la montre vous indique aussi quand regarder. La plupart des spectateurs qui suivent à distance ne veulent pas un flux constant de distractions : ils veulent savoir quand quelque chose s’est passé. Le tapotement « Notification Up » est le signal : vous sortez votre téléphone, la Live Activity est déjà sur l’écran de verrouillage, vous voyez le nouveau pointage, vous rangez le téléphone. Toute l’interaction prend moins de cinq secondes et n’a nécessité aucune ouverture d’application.
Ce que ça change au bord du bassin
La technologie est intéressante. L’effet culturel, c’est la vraie histoire.
Trois choses ont changé dans les tournois où chaque spectateur peut avoir une Live Activity active :
- Moins de cris de « c’est quoi le pointage ? ». La question la plus posée au bord d’un bassin bruyant a cessé d’être posée. Les spectateurs regardent leur écran de verrouillage et ils savent. Ça paraît anodin, mais c’est le changement le plus souvent rapporté par les clubs qui ont adopté la plateforme.
- Plus de spectateurs qui suivent à distance. Grands-parents à la maison, familles en déplacement, le spectateur qui n’a pas pu quitter le travail — ils peuvent désormais suivre en direct avec le même décalage que quelqu’un dans les gradins. Le nombre moyen de spectateurs à distance sur les tournois propulsés par Eggbeater est de 3 à 5 fois supérieur au nombre de spectateurs présents au bord du bassin.
- Des interactions plus nettes avec les arbitres. Quand un but est contesté, le bénévole à la table et l’arbitre peuvent regarder la même source de vérité sur une tablette. Le pointage sur l’écran de verrouillage est le même que celui que l’arbitre signe. Plus de moment « le tableau dit 7-6 mais j’ai noté 7-7 », parce que tout le monde lit la même diffusion.
L’effet le plus surprenant : ça a beaucoup calmé la tension en bordure de bassin. La première source de stress dans les tournois jeunesse de water-polo, c’est que les spectateurs ne savent pas ce qui se passe. Une fois qu’ils peuvent voir, la température baisse.
Configuration pas à pas pour les spectateurs
Si vous n’avez jamais utilisé les Live Activities pour le water-polo et que vous voulez essayer au prochain match de votre enfant, la configuration tient en trois étapes :
- Installez l’application Eggbeater depuis l’App Store sur votre iPhone. (C’est gratuit ; les fonctionnalités spectateurs n’exigent aucun abonnement pour consulter les tournois publics.)
- Ouvrez la page publique du tournoi dans l’application — soit via le lien partagé par le directeur du tournoi, soit en saisissant le code de 6 caractères du tournoi sur l’écran d’accueil. Touchez « Parcourir les tournois » s’il s’agit d’un événement public.
- Touchez « Suivre » sur le match de votre enfant. La première fois, iOS demandera la permission d’afficher les Live Activities — dites oui. Ensuite, chaque match en Suivi démarrera automatiquement une Live Activity quand il passe en direct et la fermera quand l’arbitre signe le pointage final.
Pour les vibrations Apple Watch : il suffit d’avoir l’application Eggbeater installée ; l’application compagnon de la montre s’installe automatiquement. Si vous voulez le pointage sur le cadran, modifiez votre cadran et ajoutez-y la complication Eggbeater.
Pour les utilisateurs Android : le même pointage en direct fonctionne dans le navigateur et via les widgets d’écran d’accueil de l’application Eggbeater pour Android. Android n’a pas l’équivalent exact des Live Activities (Google promet une fonctionnalité similaire depuis des années), mais les notifications d’écran de verrouillage et les widgets d’écran d’accueil couvrent l’essentiel du même besoin.
Ce qui a été livré récemment
Les Live Activities sont livrées aujourd’hui dans chaque tournoi et ligue propulsés par Eggbeater, et le cycle de vie autour d’elles continue de mûrir. Journal récent :
- Live Activities pré-match « Bientôt en direct ». Une Live Activity démarre maintenant automatiquement environ 5 minutes avant l’heure prévue d’un match en Suivi, pour que les spectateurs en route vers le site voient le compte à rebours sur leur écran de verrouillage. Déclenchée par push-to-start, elle atterrit même si l’application est complètement fermée. Livrée en mai 2026, en même temps que le cycle de vie en quatre phases (pré-match → en direct → final → écarté).
- Conservation de l’état final. Une Live Activity « final » reste maintenant sur l’écran de verrouillage pendant une heure après le coup de sifflet final (et se ferme proprement au prochain push). Un spectateur qui termine le match matinal de son enfant peut marcher jusqu’à la voiture, rentrer chez lui, et voir encore le pointage à son poignet sur la route. Une réinitialisation déclenche la fermeture immédiate.
- Parité Apple Watch. La même charge utile alimente le widget Smart Stack et la surface Live Activity de l’Apple Watch — le cadran montre le pointage + l’horloge + la période chaque fois que l’iPhone diffuse.
Ce qui s’en vient
- Suivi simultané de plusieurs matchs. Les spectateurs qui ont plusieurs enfants dans plusieurs bassins veulent suivre plus d’un match à la fois. iOS supporte jusqu’à deux Live Activities simultanées par application — l’interface pour choisir lesquelles épingler est encore en cours de conception.
- Équivalent Android. Les Live Updates d’Android 16 se stabilisent et on prototype depuis un moment. Aujourd’hui, les utilisateurs Android ont des notifications d’écran de verrouillage + des widgets d’écran d’accueil — les deux couvrent l’essentiel du besoin, mais l’objectif de parité reste une vraie surface Live Update.
Lectures connexes
Comment organiser un tournoi de water-polo : le guide complet
Guide du spectateur Eggbeater — pour le spectateur qui vient de recevoir le lien à partager
Statistiques de water-polo expliquées — ce que chaque abréviation de sommaire signifie
Onboarding des bénévoles marqueurs — le côté table de marque du même pipeline
Vous voulez cette expérience à votre tournoi ?
La plateforme d’hébergement de tournois Eggbeater inclut les Live Activities, les notifications push, les vibrations Apple Watch, les widgets d’écran d’accueil et une page publique pour les spectateurs — le tout pour 199 USD par événement, avec accès gratuit pour chaque spectateur. Aucune application requise pour la consultation au navigateur.
Voir la plateforme de tournoi →Frequently asked questions
Une Live Activity est un petit panneau persistant qui s’affiche sur l’écran de verrouillage de l’iPhone et dans le Dynamic Island pendant qu’un événement est en cours — un match en direct, une commande en livraison, une séance d’entraînement. Il se met à jour en temps réel sans que l’utilisateur ait à ouvrir l’application. Apple les a introduites avec iOS 16.1 ; Eggbeater s’en sert pour que les spectateurs de water-polo puissent suivre les matchs en direct sans ouvrir aucune application.
Non. Les spectateurs peuvent voir le pointage en direct dans n’importe quel navigateur web via l’URL publique du tournoi ou de la ligue. Installer l’application Eggbeater débloque les Live Activities sur l’écran de verrouillage, les notifications push, les vibrations Apple Watch sur les buts et les widgets d’écran d’accueil — mais chaque spectateur peut suivre depuis un navigateur, sans rien installer.
Moins de cinq secondes entre le moment où la personne bénévole à la table touche l’action et le moment où ça apparaît sur l’écran de verrouillage du spectateur. Le pipeline : tap du marqueur → écriture Cloudflare Worker → diffusion Firebase Realtime Database → push APNs vers l’appareil du spectateur → mise à jour de la Live Activity. Chaque saut reste sous la seconde sur un wifi ou LTE moderne.
Oui. Avec l’application compagnon Eggbeater Apple Watch installée et un match épinglé en Suivi, un but marqué déclenche une vibration sur la montre et met à jour la complication de cadran si vous en avez une configurée. Les buts contre votre équipe vibrent aussi (rythme différent) pour vous signaler de regarder votre téléphone.