Une seule application pour toute la course. Celles et ceux qui la suivent y entrent avec le code — en équipe, avec le PIN reçu de qui trace la course ; en public, sans rien d'autre.
À l'ouverture, l'app demande d'abord qui tu es. « Athlète » : je cours. « Équipe » : j'assiste quelqu'un qui court, je suis sa course, je lui écris, je reçois ses alertes. « Public » : je suis la course, les positions et les passages, sans rien saisir.
L'équipe entre avec le code de la course et le PIN équipe, 6 chiffres que le Cairn fabrique pour la course. La personne qui trace a un message tout prêt à envoyer : le lien de l'app, le PIN, et ce qu'il ouvre — le suivi, les pointages à la place des athlètes, la messagerie, et le téléphone de la personne qui court quand elle lance une alerte. Il est réservé à l'équipe : on ne le publie pas.
Le public entre avec le code seul. Pas de compte, pas de PIN. Un lien reçu par « 🔗 Partager » mène droit à la course, avec l'athlète déjà choisi. Et au retour, l'app rouvre toute seule le dernier rôle et la dernière course, même sans réseau : « ↩︎ Reprendre — Équipe sur MIETTES26 ».
Un onglet par athlète — « #42 Zoé » — avec son écart au plan, et un signe s'il faut : 🚨, 🛑, ou ⚠ quand une barrière approche. Dessous, 4 tuiles : Écart actuel, Dernier CP — ou « Dernier caillou » quand une position est plus fraîche qu'un pointage —, Arrivée estimée, et Prochain, avec le temps qu'il reste. Une 5ᵉ, Ton ravito, dit le prochain point où l'équipe peut aller, avec une fourchette d'heures.
Puis la liste des points. Un point passé montre l'heure réelle et l'écart. Un point à venir montre 2 heures, optimiste et pessimiste, et d'où elles viennent : « 🪨 dernier caillou » ou « sur le plan ». Le suivant est marqué « prochain » ; un point menacé porte « ⚠ cutoff », et une bande prévient : « Plus que 14 min de marge — Engreux (barrière 11:30) ».
Pointer un passage : on maintient 1 seconde sur le point, une barre se remplit, et la fenêtre « heure réelle de passage » s'ouvre. Valider envoie l'heure au serveur, pour l'athlète affiché. Si l'athlète a pointé aussi, les 2 pointages fusionnent : personne n'efface l'autre. Le serveur prévient alors l'équipe et le public qui suivent cette personne — « ⛺ Zoé #42 · Engreux pointé à 11:12 » —, jamais son propre téléphone.
Écrire : le bouton 💬 ouvre la messagerie, 200 caractères par message, signés « Équipe ». Le message arrive en notification sur le téléphone de l'athlète. Dans la version 1.1, les encouragements du public y passent aussi, précédés de 📣. La personne qui trace peut couper la messagerie pour une course.
Le journal « 📜 Journal » recompose la course, du plus récent au plus ancien : « passe à Engreux », « pose un caillou au km 18,2 », « demande de l'aide » (« déclenche une alerte SOS » dans la version 1.1), « lève son alerte », « abandonne au km 23 », et les messages. Un repère sépare ce qui est nouveau depuis ta dernière visite. Et quand les cailloux disent que l'athlète arrive au point d'assistance dans 30 minutes, une bande le dit : « 🏃 Zoé arrive à Engreux vers 11:10 ».
Le bouton « 🚨 Alerter mon équipe » (le SOS) n'existe que si la personne qui trace l'a activé. Quand l'athlète le déclenche, l'app Équipe ouvre une fenêtre qu'un simple toucher ne ferme pas, avec une longue vibration : « Zoé demande de l'aide », le point et le kilomètre, « 📞 Appeler Zoé » et « 🗺 Ouvrir sa position ». Le bouton « J'ai vu — je m'en occupe » inscrit l'heure de lecture, que l'athlète voit chez elle. Une bande rouge reste tant que l'alerte n'est pas levée ; puis « ✅ Zoé a levé son alerte — tout va bien ». Il n'appelle aucun secours : c'est écrit en entier dans la notice du SOS.
L'abandon ouvre une fenêtre, une seule : « Zoé a abandonné », la personne est en sécurité, « J'ai compris ». Son point se fige sur la carte. Le silence GPS : 45 minutes sans position en suivi automatique, et l'app prévient — « 🛰 Silence GPS — Zoé », la dernière position, et « Peut-être une zone blanche — les positions en attente arriveront au retour du réseau ». Le serveur envoie la même alerte, puis « ✅ redonne signe de vie » quand une position revient.
Le même suivi, en plus simple. Une grande carte d'arrivée en tête : l'heure estimée et l'écart, puis « 🏆 Arrivée ! » quand c'est fait — ou « 🛑 Abandon » et le kilomètre. Dessous, les 3 tuiles, la liste des points, les cailloux sur la carte et le profil, l'alerte de barrière. Le public ne voit ni la météo, ni le SOS, ni les messages, ni « Ton ravito », ni le journal.
Encourager, dans la version 1.1 : si la personne qui trace l'a ouvert, un bouton 📣. « Ton message arrive dans la messagerie de la personne qui court. Elle le lira quand elle pourra. » Un prénom, un message, « Envoyer » — et « Encouragement envoyé 💪 », un par minute. La 1.2 les a mis de côté : ils reviennent en 1.3, avec de quoi signaler un message et bloquer quelqu'un. Le public n'écrit rien d'autre et ne lit pas les messages.
Partager : « 🔗 Partager » fabrique le lien de ce suivi, pour cette course et cet athlète. Il passe par la feuille de partage du téléphone, sinon il est copié : « ✅ Lien copié ». Dans la version 1.1, la page publique relit la course toutes les 20 secondes après un changement, puis toutes les minutes, puis toutes les 3 minutes quand rien ne bouge — et tout de suite quand on revient dessus. Dans la 1.2, en bêta, elle suit en direct : un pointage, un caillou ou un abandon s'affiche dans la seconde.
Un trail, c'est beaucoup de zones blanches. Côté équipe, la course reste sur le téléphone : sans réseau, elle se réaffiche telle qu'elle était à la dernière connexion, et se met à jour dès que la connexion revient. Les pointages faits hors réseau sont gardés — « ⚡ Hors ligne — 2 pointages en attente, gardés sur le téléphone » — et partent tout seuls au retour du réseau, même si l'app a été fermée entre-temps. Le serveur n'annonce alors qu'un seul « pointé » : le point le plus avancé.
La carte marche sans réseau : les tuiles déjà vues sont gardées. La météo le dit quand elle date : « ⚠ Hors réseau — prévision reçue à 10:20 ». Et si le PIN équipe a changé entre-temps, rien n'est perdu : « Tes pointages sont gardés : entre le nouveau PIN pour les envoyer. »
Côté public, pas de copie de la course sur le téléphone : seuls les pointages de l'athlète suivi restent. Une bande le dit : « ⚡ Hors ligne — infos reçues à 11:20 ».
À dire à l'équipe avant le départ, pour qu'elle sache sur quoi compter — et sur quoi ne pas compter.