Des alertes séisme qui arrivent aussi sur iPhone
Les téléphones Android peuvent recevoir les alertes séisme de Google, les iPhone non. Nous avons construit Seismic Guard, une app Flutter avec du code natif Kotlin et Swift qui relaie ces alertes aux téléphones proches et ajoute celles de l'EMSC, du SGC et de l'USGS.

Seismic Guard est notre app séisme pour Android et iPhone. Elle combine trois voies de détection : les catalogues de l'EMSC, du SGC, de l'USGS et de GEOFON, un relais qui transmet les alertes séisme de Google pour Android à tous les téléphones inscrits dans un rayon de 500 km, et un réseau d'accéléromètres de téléphones encore en mode fantôme. L'app est écrite en Flutter, avec des plugins natifs Kotlin et Swift, un backend Supabase et un back-office Next.js. Les écrans de cette page viennent d'un build de démo, avec des données rejouées et inventées.
- Client
- Seismic Guard · Alertes sismiques
- Secteur
- Information sismique
- Où
- Bogotá, Colombie
- Année
- 2026
- Livrables
- App Flutter Android et iOS
- Relais natif en Kotlin
- Plugin capteurs Kotlin et Swift
- Backend Supabase : 17 Edge Functions
- Back-office web Next.js
L'iPhone ne reçoit pas l'alerte Android
Google envoie des alertes séisme aux téléphones Android dans les zones qu'il couvre, et l'alerte s'affiche dans l'interface d'Android. Un iPhone posé sur la même table ne reçoit rien : dans une famille équipée de téléphones différents, certains sont prévenus, d'autres pas.
Les catalogues du Servicio Geológico Colombiano (SGC), de l'EMSC et de l'USGS publient un séisme une fois la secousse commencée. Ils informent, ils ne préviennent pas. Nous voulions une app qui reçoive les deux signaux sans les confondre, et qui dise franchement à chacun si son téléphone est réglé pour que l'alerte passe.
Trois voies de détection, tenues à part
Le relais est en Kotlin natif. Sur un téléphone Android qui a accordé l'accès aux notifications, un NotificationListenerService repère l'alerte de Google, la note avec un classifieur local et l'envoie, signée en HMAC, à une Edge Function Supabase. Le serveur la diffuse à tous les appareils inscrits dans le rayon d'alerte (500 km par défaut), Android ou iPhone, sans appairage. Les autres notifications sont classées sur le téléphone et n'en sortent jamais. Flutter n'est pas sur ce chemin : le relais fonctionne même interface fermée.
La deuxième voie interroge l'EMSC toutes les 10 secondes, le SGC toutes les 20 et l'USGS toutes les 60 (valeurs par défaut), puis normalise, dédoublonne et met en correspondance les événements. Un événement de catalogue porte l'étiquette de détection rapide et ne s'affiche jamais comme une alerte précoce. La troisième voie fait des téléphones des capteurs. Un détecteur à deux étages, en Kotlin et en Swift, envoie des déclenchements, et seul un consensus serveur d'au moins cinq téléphones crédibles confirme un événement. Elle part en mode fantôme : elle détecte sans alerter tant qu'elle n'a pas été comparée à de vrais séismes du SGC et de l'EMSC.
L'app s'appuie sur 15 migrations SQL, 17 Edge Functions en Deno et un back-office Next.js de sept pages pour les sources, les nœuds relais, le réseau de capteurs, les règles du classifieur et les journaux de livraison. L'interface existe en 11 langues, avec les consignes « se baisser, s'abriter, s'agripper » formulées comme on les dit dans chacune.
-
01
Les alertes Android relayées vers l'iPhone
Un téléphone Android qui reçoit l'alerte de Google la transmet à tous les téléphones inscrits dans un rayon de 500 km. L'iPhone la reçoit en push APNs, sans Firebase sur ce chemin.
-
02
Alerte précoce et catalogue séparés
Une alerte relayée porte l'étiquette d'alerte précoce ; un événement EMSC, SGC ou USGS est une détection rapide. Chaque séisme indique quelle source l'a vu, et à quelle heure.
-
03
Centre de protection
L'app contrôle six conditions qui décident si une alerte passe (canal de notification, affichage plein écran, batterie, Ne pas déranger, entre autres), les note et propose un correctif en un geste pour chacune.
-
04
L'accès aux notifications reste sur le téléphone
Seul ce que le classifieur note 95 ou plus, une alerte Google confirmée, est envoyé. Les notifications des autres apps sont filtrées sur le téléphone, jamais stockées ni transmises.
Le projet en images
9 images · Ouvrez une image pour la voir en grand.
Ce qui est en place, ce qui reste ouvert
Seismic Guard en est à la version 1.0.0, avec 34 tests Flutter, une suite backend et une CI qui bloque la release si la localisation, les tests natifs Android ou l'audit des secrets échouent. Deux points restent ouverts, et sont documentés comme tels. Google ne garantit pas que son alerte soit visible des apps tierces : le relais n'est jugé fiable qu'après l'inspection d'une vraie alerte sur un appareil, ce à quoi sert l'EEW Inspector de l'app. Le réseau de capteurs reste en mode fantôme jusqu'au calibrage de ses seuils.
L'app l'affiche : c'est un canal d'information sismique supplémentaire, qui ne remplace pas les systèmes d'alerte officiels, et une alerte peut arriver avant, pendant ou après la secousse.
- 3 voies de détection : si l'une tombe, les autres continuent
- 11 langues, 34 tests mobiles, 17 Edge Functions
- Données : EMSC (CC BY 4.0), SGC et USGS ; cartes © CARTO et contributeurs OpenStreetMap
- Écrans et vidéo de cette page : build de démo, données rejouées et inventées, alarme simulée
Les questions qu'on nous pose souvent
Seismic Guard fonctionne-t-elle sur iPhone ?
Oui. L'iPhone ne reçoit pas les alertes séisme d'Android, mais quand un téléphone Android inscrit en reçoit une, notre serveur la pousse vers les iPhone situés dans le rayon d'alerte, 500 km par défaut. L'iPhone reçoit aussi les alertes de catalogue de l'EMSC, du SGC et de l'USGS.
L'app prédit-elle les séismes ?
Non, aucune app ne le peut. Seismic Guard relaie les alertes précoces quand elles existent et signale les séismes détectés par les réseaux scientifiques. Tous les séismes ne sont pas détectés, et une alerte peut arriver avant, pendant ou après la secousse.
D'où viennent les données ?
De l'EMSC (licence CC BY 4.0), du Servicio Geológico Colombiano, de l'USGS et de GEOFON en secours, plus les alertes Android relayées. Les cartes utilisent les tuiles CARTO et les données OpenStreetMap.
Des cas proches de celui-ci
En savoir plus
Veto · Messagerie privée
Messagerie E2E sans numéro de téléphone
Messenger ultra-privacy : identité locale sans numéro de téléphone, chiffrement de bout en bout, vault PIN et livraison multi-relay : les opérateurs ne voient que du chiffré, jamais le plaintext.
En savoir plus →
En savoir plus
Flashdays · App photo
Une pellicule développée comme en 2006
App Flutter Android et iOS qui donne à toute une pellicule le rendu d'un compact des années 2000 et l'exporte en carrousel, développée sur le GPU du téléphone.
En savoir plus →
En savoir plus
Dampling · Boire moins
Boire moins, avec une mascotte qui grandit
App Flutter pour Android et iOS : un journal alcool et nicotine qui garde ses données sur le téléphone, et un dumpling qui grandit les jours sans alcool.
En savoir plus →Mettons-le en production
Racontez-nous votre défi. Nous répondons sous 24 heures ouvrées avec une première lecture honnête : si nous pouvons aider, nous dirons comment ; sinon, nous dirons qui peut.
Je réponds en personne. Pas de formulaires interminables ni de réponses automatiques.
