
Anchora est en ligne sur anchora.dance. Le site public est ouvert à tous ; l'application, elle, s'ouvre progressivement sur invitation — et l'offre Découverte est gratuite, sans limite de durée.
À propos des captures
Les écrans de cette page proviennent de l'application en production. Les adresses e-mail y sont remplacées par une adresse de démonstration, et toutes les images vidéo sont floutées : ce sont des captations de cours et de compétitions où apparaissent des tiers qui n'ont pas consenti à figurer dans une communication commerciale. L'interface, elle, reste nette — c'est elle que nous montrons.
Pourquoi nous éditons ce produit
Une société de développement qui ne fait que de la prestation finit par ne connaître les produits que par le milieu : elle arrive après le cadrage, elle part avant l'exploitation. Anchora est notre réponse à ça. Nous en portons tout : le positionnement, le modèle économique, le code, l'hébergement, les sauvegardes, le support et les obligations légales.
Ce que nous vendons à nos clients — architecture .NET, front Next.js, CI/CD, hébergement en propre, observabilité — nous le faisons tourner ici en conditions réelles, avec de vrais utilisateurs, de vraies factures et de vraies contraintes de stockage. C'est le banc d'essai le plus honnête que nous connaissions.
Le problème, tel que les danseurs le vivent
Un danseur de West Coast Swing prend des cours toutes les semaines, part en stage, et filme. Sa pellicule contient des dizaines d'heures de vidéos — et il ne les revoit jamais. Trois semaines après un workshop qui lui a donné dix figures, il en pratique deux, et pas forcément les plus utiles.
Ce n'est pas un défaut de motivation, c'est le fonctionnement normal de la mémoire. Le problème n'est pas d'apprendre, c'est de ne pas oublier. Et ce problème-là a une solution connue, éprouvée depuis des décennies dans l'apprentissage des langues : la répétition espacée.

Le parti pris : l'application arrive vide
La tentation, sur ce marché, est de vendre du contenu : une bibliothèque de figures préenregistrées, des cours en ligne, un catalogue de démonstrations. Nous avons tranché dans l'autre sens. Anchora ne contient aucune vidéo à son installation, et n'en fournira jamais.
L'arbitrage central
On révise ses propres vidéos, filmées à ses cours, par ses profs. Réviser la version d'un inconnu sur Internet n'apprend pas à danser comme on vous l'a montré. Corollaire assumé : il n'existe aucune bibliothèque partagée entre danseurs. Seules les fiches d'événements — le nom d'une compétition, ses dates, sa ville — sont communes. Jamais un passage.
Le moteur : FSRS-6, vérifié plutôt que revendiqué
Le calcul des intervalles est le cœur du produit. Nous n'avons donc pas écrit le nôtre. Anchora implémente FSRS (Free Spaced Repetition Scheduler), l'algorithme de référence du domaine, qui modélise pour chaque passage sa stabilité, sa difficulté et la probabilité que le danseur s'en souvienne à un instant donné.
L'implémentation compte 21 paramètres et elle est rejouée, à chaque modification du code, contre 266 vecteurs de référence extraits de l'implémentation officielle py-fsrs 6.3.1. Si le planificateur dérivait d'un seul jour sur un cas limite, la chaîne de build refuserait la livraison.
Ce point n'est pas cosmétique. Un mauvais planificateur ne se voit pas : il donne l'impression de fonctionner pendant six mois, et l'utilisateur ne découvre le problème qu'au moment où il constate qu'il a tout oublié. Sur un produit dont c'est la promesse unique, un test de non-régression numérique valait mieux qu'une page marketing.

Du film brut au passage révisable
Entre « j'ai filmé mon cours » et « je révise un whip avec inside turn », il y a un travail de découpe. C'est là que se joue l'adoption : si découper coûte cher, personne ne le fait, et le produit ne sert à rien.
Le lecteur est donc écrit sur mesure pour cet usage : ralenti jusqu'à 0,25×, boucle A-B, avance image par image au 1/30 de seconde, sauts de 1 ou 5 secondes, overlay des comptes, annotations posées sur la timeline. Tout est accessible au clavier sur poste, au pouce sur mobile. Et la boucle A-B sert directement à créer le passage : on pose le début, on pose la fin, c'est fait.

La révision quotidienne
Le tableau de bord ouvre sur une seule information : combien de passages sont à revoir aujourd'hui. Le reste — série, niveau, dernières vidéos, prochaines compétitions — est en dessous, parce que ce n'est pas ce qui fait revenir.

L'écran de révision, lui, est celui que l'utilisateur voit tous les jours, et le seul qui compte vraiment. Le passage se joue en boucle, le danseur essaie de le refaire mentalement ou physiquement, puis répond à une seule question : comment ça s'est passé. Quatre boutons — Encore, Difficile, Bien, Facile — et l'intervalle suivant se recalcule seul.
Aucun réglage d'intervalle, aucune planification manuelle. Les budgets quotidiens (nouveaux passages, révisions maximum) plafonnent la séance pour qu'une semaine chargée ne se transforme pas en dette de 300 cartes le dimanche.

La compétition : un palmarès qui se remplit tout seul
Les feuilles de résultats du circuit existent déjà, publiquement. Le travail d'Anchora n'est pas de les faire recopier, c'est d'y retrouver l'utilisateur. Une édition est importée une fois — divisions, rounds, tableaux de juges, dossards, numéros WSDC, scores, callbacks, alternates — et sert ensuite à tous les comptes.
Le danseur se déclare une seule fois, par son numéro WSDC ou par son nom de compétiteur, et ses résultats remontent seuls, passés comme futurs. Deux détails d'implémentation font la différence entre une fonctionnalité gadget et un outil de suivi :
- Le classement est calculé même en prélims, et rapporté au nombre réel d'engagés : on lit « 45 e sur 78 », pas « éliminé ». C'est comparable d'une année sur l'autre.
- Les divisions sont regroupées malgré les variantes d'orthographe d'un événement à l'autre, sinon la courbe de progression ne veut rien dire.
- Un bouton « ce n'est pas moi » écarte un homonyme sans rien casser ailleurs.

Faire revenir sans punir
Un outil de répétition espacée ne vaut que si l'on y revient. Anchora embarque donc une série quotidienne, des jokers gagnés, de l'XP, des niveaux, des badges et un classement hebdomadaire visible des seuls amis. La règle que nous nous sommes fixée : aucune mécanique punitive. On ne retire jamais de points, on ne culpabilise pas un jour manqué.
Le journal de pratique complète le dispositif en enregistrant les séances — révision, travail mental, entraînement physique — pour donner une lecture de la régularité sur plusieurs mois.
Récupérer les vidéos là où elles sont déjà
Demander à un danseur de re-téléverser quatre-vingts vidéos, c'est perdre l'utilisateur. Anchora accepte l'upload direct, les liens YouTube et Vimeo, et l'import depuis Immich — la galerie photo auto-hébergée — album par album. Les fichiers filmés en iPhone sont convertis automatiquement.
Un choix de conception à noter
L'intégration Immich est opt-in par utilisateur : chacun saisit l'URL et la clé d'API de sa propre instance, stockées sur son compte. Il n'y a aucune configuration Immich côté serveur, donc aucun accès de l'éditeur aux galeries personnelles.

Ce que nous laissons entre les mains de l'utilisateur
La plupart des applications de révision décident tout à la place de leurs utilisateurs. Nous avons ouvert les leviers qui comptent, en les expliquant :
- Rétention cible réglable de 70 à 99 % — l'arbitrage entre réviser moins et retenir plus, curseur en main.
- Budgets quotidiens — nombre de nouveaux passages et de révisions par jour.
- Optimisation des paramètres FSRS sur son propre historique, une fois assez de données accumulées.
- Export et suppression des données, accessibles depuis le compte, sans passer par le support.

Une ouverture progressive, pilotée depuis le produit
Anchora s'ouvre sur invitation. Ce n'est pas une coquetterie de lancement : le stockage vidéo est le coût structurant du service, et nous préférons ouvrir les comptes au rythme où nous pouvons les héberger correctement plutôt que d'encaisser d'abord.
Le formulaire public alimente une file de demandes dans l'espace d'administration. Valider une demande génère l'invitation nominative et l'envoie par e-mail ; les liens sont à usage unique et expirent en sept jours. Les quotas de stockage se règlent globalement, avec dérogation possible compte par compte.

Le modèle économique
Le stockage vidéo étant le seul vrai coût, c'est lui qui structure les offres, et les fonctionnalités suivent la façon dont on danse : réviser ses cours ne demande pas la même chose que préparer une saison de compétition.
- Découverte, gratuit et sans limite de durée : 2 Go, 20 passages en révision, lecteur complet. Assez pour juger la méthode sur ses propres vidéos.
- Danseur, 9 €/mois : 100 Go, passages illimités, bibliothèque de figures, cours et enseignants, annotations, import Immich et liens vidéo.
- Compétiteur, 19 €/mois : 500 Go, import des résultats de compétition, analyse par juge et par édition, optimisation FSRS personnalisée, routines.
- Clubs et écoles : comptes élèves, bibliothèque d'événements commune et facturation unique — construits au cas par cas plutôt que vendus sur grille.

Sous le capot
L'architecture est celle que nous déployons chez nos clients : rien d'exotique, tout maintenable.
- Backend .NET 10 en architecture propre — domaine, application, infrastructure et API séparés — avec PostgreSQL 18 pour la persistance et quatre projets de tests dont la suite de vecteurs FSRS.
- Front Next.js en App Router, avec un BFF qui est le seul point d'entrée : session en cookie HttpOnly, et une API applicative qui n'est jamais exposée sur Internet. Un seul port publié pour toute la pile.
- Pipeline vidéo avec ffmpeg embarqué dans l'image API : validation des codecs à l'upload, génération des vignettes, extraction des métadonnées. Le streaming passe par des URLs signées à durée de vie courte.
- Livraison continue : build et publication des images sur notre registre privé, puis déploiement déclenché automatiquement avec contrôle de santé bloquant. Les secrets viennent d'un coffre centralisé, jamais du dépôt.
L'hébergement, chez nous
Anchora tourne sur notre propre socle : un cluster Proxmox en haute disponibilité sur serveurs dédiés en France, réseau privé, et un unique point d'entrée HTTPS devant des machines applicatives qui n'ont pas d'adresse publique. Les vidéos vivent sur un volume dédié à part du système.
Côté exploitation : sauvegarde quotidienne de la base, sauvegarde du conteneur vers un serveur de sauvegarde distant, supervision de la disponibilité et alerte en cas d'indisponibilité. C'est la même chaîne que celle décrite dans notre étude de cas infrastructure Proxmox.
Données personnelles
Le service traite des vidéos où apparaissent des personnes identifiables — le danseur, ses partenaires, ses enseignants. Cette réalité a dicté trois règles : pas de bibliothèque partagée entre comptes, export et suppression accessibles directement depuis le compte, et une intégration de galerie externe configurée par l'utilisateur avec ses propres identifiants. Les conditions d'utilisation traitent explicitement le droit à l'image des tiers filmés.
Ce que ce projet nous apprend
Éditer son propre produit oblige à des arbitrages qu'une mission ne pose jamais : refuser de vendre du contenu quand c'était la voie facile, tester numériquement un algorithme dont personne ne vérifiera jamais l'exactitude, et calibrer une grille tarifaire sur un coût d'infrastructure que nous payons nous-mêmes. Ce sont exactement les questions que nous aidons nos clients à trancher.
Voir Anchora par vous-même
Le site public est ouvert : anchora.dance. Le moteur de mémorisation y est expliqué en détail sur la page « La mémoire », et les offres sur la page Tarifs. Pour essayer, l'accès se demande depuis ce formulaire — réponse sous quelques jours, aucun engagement.