1 points par GN⁺ 2025-05-29 | 1 commentaires | Partager sur WhatsApp
  • Alors que les cours de l’université de Floride étaient suspendus à cause de l’ouragan Helene, l’auteur s’est lancé dans une rétro-ingénierie du site web de Waffle House
  • Il a concrétisé le Waffle House Index, un indicateur officieux des catastrophes naturelles, sous la forme d’une carte de données en temps réel
  • En utilisant Python, Next.js et Redis, il a développé un site web qui suit automatiquement l’état d’ouverture/fermeture des restaurants à l’échelle nationale
  • À mesure que le projet attirait l’attention sur les réseaux sociaux et de personnalités publiques, il a conduit à un blocage officiel et à une demande de cessation d’activité de la part de Waffle House
  • Bien que le site ait été fermé pour atteinte au droit des marques, l’auteur en retient le plaisir de programmer et de progresser grâce à l’exploitation des données et à l’expérience d’ingénierie

Introduction : contexte et motivation

  • Fin septembre 2024, alors que l’ouragan Helene approchait de la Floride, l’auteur s’est plongé dans l’analyse du site web de Waffle House
  • Tandis qu’à l’extérieur les habitants s’affairaient à barricader leurs maisons, l’auteur se concentrait sur une mise en œuvre en temps réel du Waffle House Index
  • Le Waffle House Index est un indicateur officieux de l’ampleur des catastrophes naturelles, utilisé comme référence par la FEMA (Agence fédérale américaine de gestion des urgences), qui mesure la gravité d’un sinistre à partir de l’ouverture ou de la fermeture des restaurants Waffle House
  • Mais il n’existe ni « index » officiel ni carte en temps réel consultable ; les mentions du sujet sont seulement éparpillées dans quelques articles ou sur Wikipédia

Rétro-ingénierie et approche technique

Structure technique

  • Waffle House utilise Next.js et React Server Components pour son site de localisation des restaurants
  • Les React Server Components s’exécutent côté serveur, ce qui empêche de consulter directement le HTML brut depuis le client
  • Après une longue analyse du code source, l’auteur a découvert dans un fichier précis des données JSON insérées par Next.js côté client
  • Ces données contenaient l’état de chaque restaurant (ouvert/fermé, niveau d’affluence, etc.)

Collecte, traitement des données et mise en œuvre du site

  • Avec un scraper léger en Python, un frontend Next.js et un cache Redis, l’auteur a construit une carte en temps réel des fermetures de restaurants
  • Cela permettait de voir quelles zones avaient des Waffle House fermés et donc de suivre l’état des catastrophes selon les régions

Mise en ligne et diffusion

  • Le domaine wafflehouseindex[.]org a été déployé sur Vercel puis partagé via un tweet
  • À l’époque, l’auteur comptait moins de 200 abonnés sur les réseaux sociaux, mais le projet s’est propagé rapidement après une réaction directe du compte officiel de Waffle House
  • Waffle House a insisté sur le fait que les informations du site étaient non officielles et erronées, en précisant que les véritables informations de fermeture seraient communiquées via ses canaux officiels
  • Après un quote tweet humoristique de l’auteur, le commentateur politique bien connu Frank Luntz a mentionné le site, provoquant un fort afflux de visiteurs

Blocage et réponse juridique

  • Après le tweet de Frank Luntz, les équipes marketing et juridiques de Waffle House ont réagi rapidement, rappelant une nouvelle fois qu’il s’agissait d’informations non officielles et erronées ; Frank a lui aussi supprimé son tweet
  • Par la suite, le compte Twitter de Waffle House a bloqué l’auteur
  • Une fois l’ouragan passé, l’auteur a reçu de Waffle House un e-mail de mise en demeure (cease and desist) accompagné d’un avertissement pour atteinte au droit des marques
  • Le principal problème ne portait pas tant sur la collecte de données ou les informations sur les restaurants elles-mêmes que sur l’usage des marques Waffle House, comme le logo

Réponse et fin de l’histoire

  • L’auteur a répondu à Waffle House sur un ton humoristique (en se présentant comme un « fan de House », en disant respecter la marque comme un drapeau, etc.)
  • Un cadre dirigeant lui a répondu de manière cordiale, mais la fermeture du site pour violation du droit des marques est restée inévitable
  • L’auteur a aussi demandé s’il serait possible de maintenir le site en ligne tout en conservant la marque officielle, mais n’a plus reçu de réponse

Conclusion et retour d’expérience

  • Il s’agit d’un parcours d’ingénierie marqué par le plaisir de programmer, l’usage créatif des données et l’expérience directe des réactions de la communauté
  • Bien que de courte durée, ce fut une expérience singulière à la croisée des catastrophes, des données, de l’open source et des marques
  • L’auteur remercie Waffle House pour son fair-play, sa communication et sa patience malgré l’atteinte à sa marque

Mot de la fin

  • L’auteur remercie Moo, Kai et Babgel GC pour leur aide à la relecture et à l’édition du texte

1 commentaires

 
GN⁺ 2025-05-29
Avis Hacker News
  • Il y a longtemps, j’avais créé un site qui soulignait que Dannon / Danone utilisait pour les bactéries présentes dans ses yaourts des noms pseudo-scientifiques inventés. Le service juridique de Danone m’a contacté au sujet de mon site, mais je n’ai pas cédé. Voir les détails ici. Je pense que ça aurait probablement été acceptable si la marque Waffle House avait simplement été retirée, et qu’un gros disclaimer en haut du site aurait aussi pu mettre en évidence à quel point ce type de revendications juridiques est en réalité ridicule

    • Pour rappel, McBroken.com fonctionne toujours très bien

    • Ton site agrège des résumés d’articles de presse grand public et quelques interviews de médecins. Il affirme qu’il existe des noms « inventés » et des « noms scientifiques exacts », mais sans citer de loi interdisant à un fabricant d’utiliser ce genre de noms sur une étiquette. L’approche semble venir d’un point de vue britannique, mais il ne semble pas exister de réglementation de la FDA ou de la FTC américaine qui interdirait l’usage de néologismes de ce type. En taxonomie biologique, de nouveaux noms sont créés en permanence, et les alias ou surnoms d’espèces sont courants. L’industrie pharmaceutique, les scientifiques, et même les astronomes inventent librement des noms qui sonnent latin. L’industrie alimentaire emploie aussi légalement, avec approbation réglementaire, des termes comme milk et water dans des sens élargis. Même les compléments alimentaires donnent des noms de mélanges de marque conformes aux règles de la FDA. Si ton site est toujours en ligne, c’est au fond parce qu’il ne représente pas une menace réelle pour ces pratiques d’étiquetage. D’ailleurs, j’aimerais bien donner un nouveau nom à mon candida albicans intestinal : candida hackernewsensis

  • Un ancien ami à moi utilisait Mupperfucker comme nom de scène de DJ et a reçu une mise en demeure de la Jim Henson Company. Je comprends que les détenteurs de marques doivent prendre des mesures pour les défendre, mais il y a quelque chose d’ironique là-dedans. Voir cet article

  • Il est difficile d’affirmer avec certitude qu’« il n’y a ni flux en direct, ni carte, ni compteur de restaurants fermés ». Pour référence, il y a une image pertinente [à ce lien](https://en.wikipedia.org/wiki/Waffle_House_Index#/media/File:FEMA_Waffle_House_Index_-_13_February_2014.jpg)

  • Si le problème venait simplement de l’usage de la marque ou du logo, il suffisait peut-être de retirer cette partie et de continuer sur un autre domaine, non ? Rien n’indiquait une objection particulière au scraping des données lui-même

    • C’est l’auteur : après réception de la C&D (mise en demeure), ma méthode de collecte des données a été bloquée (ce point semble manquer dans le billet de blog). J’ai demandé comment je pouvais maintenir le site en fonctionnement, mais je n’ai reçu aucune réponse, et j’ai pensé que si je continuais simplement sans le logo Waffle House, une autre C&D arriverait probablement. Plutôt que de continuer ce jeu du chat et de la souris, j’ai simplement fermé le site
  • Il n’était pas nécessaire de fermer tout le site, retirer juste le logo aurait probablement suffi

    • Aux États-Unis, il est largement admis qu’une simple menace juridique peut déjà coûter très cher. Si tu es étudiant, sans avocat et avec peu de connaissances juridiques, il est bien plus simple et plus sûr de simplement fermer le site. Même les services juridiques gratuits d’une université donneront probablement des conseils très prudents
  • Un nom plus neutre comme WaffleHurricaneTracker.org aurait probablement survécu sans problème de marque. Quant au scraping, si les données avaient été anonymisées, il n’aurait peut-être pas été évident qu’elles venaient de Waffle House, et si le site avait donné l’impression qu’elles avaient été collectées lentement auprès de plusieurs restaurants de petit-déjeuner, ça aurait sans doute pu passer

  • En fabriquant une belle image de papier à en-tête d’entreprise, puis en imprimant la C&D sur du beau papier pour l’encadrer, tu pourrais raconter toute ta vie que « Waffle House m’a menacé de procès »

  • Chaque fois que tu iras chez Waffle House, ce sera vraiment un souvenir particulier. C’est une excellente anecdote. Les C&D font peur, mais à mon avis leur lettre était plutôt polie et directe. Au passage, hafflewouse.com est encore disponible

  • Je ne sais pas si la FEMA utilise un système automatisé, ou si le Waffle House Index est un concept abandonné

    • Le Waffle House Index n’a jamais été un indice officiel. C’était plutôt un indicateur interne un peu humoristique que les gens travaillant dans les secours en cas de catastrophe utilisaient au quotidien, du genre : « La ville A a subi une tornade, mais le Waffle House était ouvert. » Dernièrement, j’ai appris que la FEMA contacte dans les zones sinistrées des restaurants locaux comme Waffle House pour vérifier la situation. C’est surtout une source de données supplémentaire pour estimer la gravité d’une urgence. Mais de là à appeler cela sérieusement un « indice », c’est exagéré

    • Voici un article de presse et une [image Wikipédia](https://en.wikipedia.org/wiki/Waffle_House_Index?useskin=vector#/media/File:FEMA_Waffle_House_Index_-_13_February_2014.jpg) qui peuvent servir de référence

  • J’aimerais bien qu’on puisse désactiver via une C&D ces systèmes d’achievements façon jeu vidéo sur les blogs, parce qu’un blog n’est pas un jeu