Présentation technique — Direction Générale SNCFT

قِطَاري — كاشف خطر السكة الحديديةDétecteur de danger ferroviaire

Qitari surveille en continu la position de l'utilisateur par rapport au tracé réel des voies et à la circulation des trains — théorique et en direct — et déclenche l'alarme voulue par le message qui s'affiche réellement à l'écran : خطر الموت الفوري، ابتعد عن السكة الحديدية فوراً (« Danger de mort immédiat, quittez la voie ferrée sur-le-champ »).

Tout le contenu de cette page — noms de modules, textes d'alerte, libellés d'écran — est extrait directement du code source de l'application, pas reformulé ni inventé.

15 alarmes
Modules d'alerte indépendants recensés dans le code
150 m
Seuil de distance à la voie (calcul géométrique réel)
3 lectures
Confirmations GPS consécutives avant verrouillage
90 min
Fenêtre couverte par l'Annonceur vocal des départs/arrivées
Vidéo de présentation

Qitari en conditions réelles — voie ferrée, de nuit comme de jour.

Séquences tournées sur le terrain, alarme active à l'approche réelle d'un train, aux côtés des séquences de présentation de la marque.

Qitari — vidéo de présentation
Architecture

Une défense en profondeur : 15 alarmes indépendantes, pas une seule.

Chaque module calcule le danger à sa manière, avec sa propre source de données et sa propre logique — si l'un d'eux manque un cas, les autres restent actifs. Voici les modules d'alerte réellement présents dans le code, sous leurs noms réels. Cliquez sur un module pour voir son alerte, avec ses couleurs et son texte réels.

01
Alarme principale
🚨 خطر!
Le module central : distance à la voie ≤ 150 m et temps d'arrivée estimé ≤ 3 min. Compte à rebours plein écran, verrouillé jusqu'à confirmation explicite (kz_liveShowsPassedStation) que le train a dépassé la station suivante.
02
SNCFT Live direct
📡🚨 إنذار SNCFT Live المستقل
Fonctionne uniquement à partir des données de circulation en direct, indépendamment de tout calcul théorique.
03
Tronçon (segment)
🛤️🚨 تنبيه المقطع (SNCFT Live)
Combine la proximité géométrique réelle de la voie avec la confirmation SNCFT Live qu'un train traverse effectivement le tronçon entre les deux stations les plus proches de l'utilisateur.
04
Voie + horaire théorique
🛤️⏱️🚨 قرب السكة + الموعد النظري
Alerte sur la seule base de la grille horaire officielle et de la distance géométrique à la voie, sans dépendre d'aucune donnée live.
05
Ciblage nominatif
🎯🚨 استهداف بالاسم (SNCFT Live)
Se déclenche sans autre condition que la correspondance du nom de station : un train SNCFT Live en direct porte le nom d'une station de votre tronçon actuel.
06
« المُبيد » (le Terminator)
🤖🚨 المُبيد (The Terminator)
Continue d'estimer la progression d'un train même si son transpondeur cesse d'émettre, au lieu de figer ou masquer sa position après une coupure du signal SNCFT Live.
07
« المُبيد الفائق » (Super Terminator)
🦾🚨 المُبيد الفائق
Même principe que le module précédent (estimation maintenue malgré la coupure du transpondeur), mais avec la vitesse réellement mesurée de ce train sur cette ligne, plutôt qu'une constante générale.
08
Alerte à 1 km
🚂📍 قطار على بعد 1 كم
Signal d'anticipation précoce, avant même le seuil critique de 150 m, pour une prise de conscience en amont.
09
Train non programmé
🔵⚠️ قطار غير مبرمَج (SNCFT Live فقط)
Suit spécifiquement un « train fantôme » — visible en direct mais absent de l'horaire théorique — avec sa propre recherche du train le plus proche et sa propre estimation d'arrivée.
10
« الفاشوز » (la Faucheuse)
🌾🚨 إنذار الفاشوز
Détecteur d'anomalie : signale un train « en état anormal » — théorique sans aucune confirmation réelle, ou confirmé mais localisé ailleurs — à moins de 150 m de l'utilisateur.
11
Train problématique
🚦🚨 إنذار قطار إشكالي
Explicitement écrit dans le code comme « sans rapport avec la Faucheuse ni aucune autre alarme » — affiche en permanence un état binaire clair (présence ou non d'un train problématique dans le tronçon) et déclenche à moins de 150 m.
12
Théorique corrigé du retard, confirmé
🕒⚠️ إنذار مستقل — النظري المصحَّح بالتأخير المباشر
Se base sur le train théorique dont la position est corrigée par le retard réel, lorsque ce train est confirmé en direct.
13
Théorique pur, non confirmé
🟣⚠️ قطار نظري غير مؤكَّد إطلاقاً عبر SNCFT Live
Se déclenche sur la seule base de l'horaire théorique, précisément pour couvrir le cas où SNCFT Live ne confirme ce train par aucun moyen.
14
Théorique corrigé, peu importe la confirmation
🟦⚠️ النظري المصحَّح بالتأخير، مؤكَّداً كان أو لا
Variante du module 12 sans aucune condition de confirmation en direct, dans un sens comme dans l'autre.
15
« ريدنديا » — suivi station par station
🛡️ ريدنديا — تتبع القطار محطة بمحطة
Couche de redondance supplémentaire qui suit la progression du train confirmé d'une station à l'autre, indépendamment des autres modules.
Écran réel

Le compte à rebours principal, tel qu'il s'affiche réellement.

Reconstitution fidèle de l'overlay d'alarme principal de Qitari, avec les textes exacts extraits du code — aucune reformulation.

index.html — #countdownOverlay
Pictogramme GHS toxique
60
Danger de mort immédiat — quittez la voie ferrée sur-le-champ !
خطر الموت الفوري — ابتعد عن السكة الحديدية فوراً!
Voix : « انتباه، القطار سيصل خلال أقل من ثلاث دقائق » — déclenchée à l'entrée dans le seuil des 3 minutes
Texte source : #countdownNumber, .cdLabel, speakCountdownWarning() — icône : #countdownSkullIcon (pictogramme GHS toxique)
Assistant intégré

Farhoum, le génie conducteur, relaie l'alerte à sa manière.

Qitari intègre un personnage conversationnel — Farhoum, « le génie coupeur de trains, ère de l'authenticité » — qui répond aux questions d'horaires à la voix ou au clavier, et relaie lui aussi le danger avec son propre message, dans son propre registre.

🧞

جني فرحوم — قاطع القطارات

اسألني عن موعد قطارك يا صاحب السعادة، مثلاً: من نابل إلى تونس، أو فقط قل اسم محطة واحدة وسأعطيك كل مواعيدها.
🧞
غادر السكة! ابتعد فوراً!
قطارٌ يقترب، ابتعد عن الخط الحديدي الآن يا صاحب السعادة.
Fonctionnalités d'écran

Au-delà des alarmes : ce que l'utilisateur peut faire dans l'application.

Sélection des fonctions réellement présentes dans l'interface, avec leur libellé exact.

01 Carte de toutes les circulations

Localisation de l'ensemble des trains en circulation, avec les positions transmises en direct par SNCFT Live.

🚆 عرض كل القطارات الآن

02 Chargement des voies via Overpass

Récupère et affiche le tracé réel des lignes ferroviaires proches, depuis les données OpenStreetMap/Overpass.

🔄 تحميل خطوط السكة القريبة (Overpass)

03 Timeline « خط الزمن »

Frise comparant en direct la position théorique et la position confirmée par SNCFT Live du train suivi.

🚨 خط الزمن — القطار القادم مباشرة

04 L'Annonceur — départs/arrivées parlés

Énonce à voix haute les départs et arrivées d'une station donnée sur les 90 prochaines minutes.

🔊 الناطق — مغادرات ووصولات محطة خلال 90 دقيقة

05 Test de l'alarme en conditions réelles

Bouton dédié pour déclencher l'alarme principale à la demande, hors situation de danger, pour vérification.

🧪 جرب التنبيه الآن (اختبار)

06 Tableau comparatif théorique / SNCFT Live

Met en regard l'horaire officiel et les circulations réellement rapportées en direct, avec mise à jour à la demande.

🔄 تحديث المقارنة

07 Mode « horaire unifié »

Bascule d'affichage entre les différents modes de présentation de la grille horaire.

🕒 جدول موحّد

08 Installation guidée (permissions)

Écran d'accueil unique qui explique et demande, en une fois, les autorisations nécessaires (localisation, son) pour activer toutes les protections.

🚦 قِطَاري — إعداد سريع (مرة واحدة فقط)
Fiabilité & validation

Une alarme n'a de valeur que si elle est juste — dans les deux sens.

Le travail d'ingénierie s'est concentré sur la réduction des fausses alertes sans jamais manquer une alerte réelle, et sur la continuité de fonctionnement en conditions dégradées.

Verrouillage
Une fois qu'une alarme identifie un train, elle reste verrouillée jusqu'à confirmation explicite kz_liveShowsPassedStation que ce train a dépassé la station suivante — pas de levée automatique par simple écoulement du temps.
3 lectures
Le verrouillage de l'alarme (qui bloque l'arrêt manuel) n'active qu'après 3 lectures GPS consécutives et cohérentes identifiant le même train — une lecture isolée ne verrouille plus rien.
Hystérésis
Seuils d'entrée et de sortie d'alarme différenciés (150 m / 170 m) sur plusieurs modules, pour éviter les déclenchements en oscillation près de la limite.
Hors-ligne
Les modules basés sur l'horaire théorique restent opérationnels sans connexion aux données SNCFT Live.
Validation externe

Qitari face à SIL4 — chiffres publiés, vérifiables en direct.

Deux outils séparés, hébergés en ligne, permettent de vérifier ces résultats indépendamment de toute présentation : un simulateur de couverture utilisant les fonctions réelles de Qitari, et un rapport comparatif face au système physique SIL4 (barrières de passage à niveau), sur 100 000 scénarios précalculés à partir de données géographiques réelles.

100 000
Scénarios de référence précalculés, dont 2 256 (2,26 %) identifiés comme réellement dangereux.
100,00 %
Taux de détection de Qitari sur ces cas réellement dangereux.
0,84 %
Taux de détection actuel de SIL4, tel qu'effectivement déployé aujourd'hui.
32,45 %
Taux de détection de SIL4 dans l'hypothèse d'un déploiement sur 100 % des passages à niveau.

Ces chiffres proviennent du rapport publié sur quitaritest101.kieda.online (« قِطاري ضد SIL4 »), calculés en exécutant le moteur de simulation hors navigateur sur les 100 000 scénarios. Un second outil, quitaritest100.kieda.online, vérifie séparément la couverture de Qitari en rejouant ses fonctions réelles (trainPositionScheduleOnly, seuil RISK_THRESHOLD_M) sur l'horaire et les stations réels.

Perspectives

Une base déjà en usage réel, une trajectoire claire pour la suite.

Qitari fonctionne aujourd'hui comme application web autonome. Une variante existe aussi pour montre connectée. Les prochaines étapes visent un déploiement plus structuré.

Application native Android

Conversion vers une application installable via Capacitor, avec service en arrière-plan pour un fonctionnement continu indépendant du navigateur.

Mise à jour automatique de l'horaire officiel

Bascule automatique vers le nouvel horaire SNCFT à sa date d'entrée en vigueur, tout en conservant l'ancien avant cette date.

Rapport quotidien d'exploitation

Bilan automatique généré chaque nuit — trains retardés, annulés confirmés par SNCFT Live, écarts théorique/réel — disponible en téléchargement.

Déploiement terrain ciblé

Test sur des tronçons identifiés comme prioritaires, avec suivi des alertes déclenchées et ajustement des seuils si nécessaire.

Une démonstration en direct, sur les données réelles, peut être faite pendant la réunion.

Alarme principale, timeline, carte des circulations, annonceur vocal : chaque module présenté ici peut être montré en fonctionnement, en direct.

Revoir l'architecture
قطاري