À qui l'on parle
Un canal dit à qui un message s'adresse. Ce qu'ils sont, ceux qui existent en France, et les règles de partage du temps d'antenne.
Un canal dit à qui un message s’adresse. Une région dit jusqu’où il est relayé. Les deux mécanismes sont indépendants, et les confondre est l’erreur la plus courante après celle des rôles.
Un canal MeshCore se définit par un nom et une clé symétrique partagée. Quiconque possède la clé lit tout ce qui passe sur le canal, y compris rétroactivement s’il a enregistré le trafic.
Un canal n’est donc pas un espace privé. Pour un échange confidentiel, utilisez les messages directs, chiffrés de bout en bout entre deux appareils.
Canal privé. La clé est tirée au hasard par celui qui crée le canal. Il faut ensuite la transmettre, à la main ou par QR code, à chaque personne qui rejoint. Personne d’autre ne peut le lire, mais personne ne peut le retrouver non plus : un canal à clé aléatoire n’est pas identifiable par son nom, même pour un analyseur de trafic.
Canal hashtag. La clé est dérivée du nom : la clé est le SHA-256 de #nom, tronqué à 16 octets. Deux personnes qui saisissent #meteo chacune de leur côté obtiennent la même clé, sans jamais rien s’échanger.
C’est ce second mécanisme qui rend les canaux nationaux publics par construction : pas de secret à distribuer, pas de liste à tenir, pas de porte à garder. Vous tapez le nom, vous êtes dedans. Et c’est pour la même raison qu’ils n’offrent aucune confidentialité : qui connaît le nom possède la clé.
GRP_TXT et GRP_DATALes deux partagent exactement la même enveloppe : l’empreinte du canal sur un octet, un code d’authentification sur deux octets, puis le contenu chiffré. Ce qui change est à l’intérieur.
GRP_TXT | GRP_DATA | |
|---|---|---|
| Numéro de type | 5 | 6 |
| Ce que contient le chiffré | un horodatage, puis nom: message | un type de données sur deux octets, une longueur, puis des octets bruts |
| Qui l’émet | une personne, depuis son application | une machine : passerelle, capteur, robot |
| Rythme | irrégulier, par rafales de conversation | régulier, souvent à la minute ou au quart d’heure |
| Part du temps d’antenne national | environ 15 % | environ 12 % |
GRP_TXT, c’est la conversation. Le texte chiffré contient le nom que vous affichez dans l’application, suivi de votre message. C’est pour cela qu’un message de canal montre un nom d’expéditeur alors que le paquet, lui, n’en porte aucun : le nom est dans le contenu, pas dans l’en-tête. Un répéteur ne le voit donc jamais.
GRP_DATA, c’est la donnée. Le contenu commence par un type de données que l’application émettrice choisit, ce qui permet à une autre application de savoir comment le lire : télémétrie d’un capteur, position, état d’une passerelle, échange propre à un outil. Le réseau ne les interprète pas, il les transporte.
Ce que montrent les mesures. Le trafic de données est très concentré : dans le dernier relevé, un seul canal représente près de neuf dixièmes de tout le GRP_DATA national. Ce n’est donc pas « la télémétrie du réseau », c’est essentiellement une passerelle. À l’inverse, le GRP_TXT est dispersé sur des dizaines de canaux.
Trois conseils qui découlent de cette différence.
Séparez les deux. Une machine qui publie sur un canal de conversation le rend illisible, et un canal de données n’a pas besoin d’être lu par des humains. C’est la raison d’être de #bot.
Étiquetez la donnée à la portée la plus fine possible. Une télémétrie n’intéresse presque jamais au-delà du département, et c’est le trafic le plus régulier, donc le plus coûteux sur la durée.
Espacez. Un capteur à la minute occupe le réseau cent fois plus qu’un capteur au quart d’heure, pour une information qui change rarement aussi vite.
Un répéteur, lui, ne peut pas distinguer le contenu : il ne lit rien. Il voit en revanche le type du paquet, donc GRP_TXT ou GRP_DATA, et son empreinte de canal. C’est ce qui rend possible un filtrage par type, l’un des réglages plus fins sur lesquels MeshCore France travaille.
La liste est diffusée par un robot sur le canal public, elle fait donc référence. La colonne « trafic » vient du relevé hebdomadaire : elle dit ce qui circule vraiment, pas ce qui est prévu.
| Canal | Usage | Ce qu'on y met | Trafic |
|---|---|---|---|
Public | Canal par défaut de MeshCore | Présent sur tout appareil sorti d'usine, sa clé est publiée dans le micrologiciel amont. À traiter comme un espace public : premier contact, découverte, échanges avec les réseaux voisins. | très actif |
#fr | Canal général du réseau français | Premier contact, entraide, coordination entre départements. | actif |
#test | Essais de portée | Vérifications de liaison, pour ne pas encombrer les autres canaux. C'est aujourd'hui le canal le plus coûteux du réseau. | très actif |
#frblabla | Conversation libre | Le temps d'antenne est partagé : les échanges longs ont leur place ici, pas ailleurs. | actif |
#technic | Technique | Configuration, micrologiciel, conventions régionales. C'est le canal où poser une question de réglage. | peu actif |
#info | Informations générales | Annonces qui concernent le réseau et ses usagers. | peu actif |
#meteo | Bulletins et vigilance | Rediffusion de bulletins publics, avec leur source et l'horodatage de l'original. Voir les règles plus bas. | peu actif |
#bot | Trafic automatique | Sorties de robots, pour les tenir hors des canaux lus. | peu actif |
#wardriving | Relevés de couverture | Observé en usage sans figurer dans aucune convention publiée : il sert aux relevés en déplacement. Listé ici parce qu'il existe, pas parce qu'il est convenu. | actif |
#emergency | Réservé | À n'utiliser pour rien d'autre. Le réseau n'est pas un dispositif de secours : en urgence, appelez le 112. | silencieux |
Deux écarts méritent d’être dits. #wardriving circule sans figurer dans aucune convention publiée. À l’inverse, #emergency n’a jamais rien porté depuis la mise en service de l’analyseur. Un canal réservé qui ne sert jamais n’est pas un échec : c’est le cas souhaitable pour celui-là.
Les canaux au-delà de cette liste restent à la libre disposition de chacun. Ils ne relèvent pas de cette convention.
Rien n’empêche un département ou un bassin d’avoir les siens, et c’est même souhaitable : une discussion iséroise n’a pas à occuper le canal national.
Trois règles suffisent.
Minuscules obligatoires. L’application n’accepte pas de majuscule à la saisie. Le canal Public en porte une, mais c’est un nom réservé du micrologiciel, pas un nom qu’un utilisateur pourrait créer.
Un nom qui dit le territoire et l’usage : 38gre, 38gre-meteo, 29brest-info. Le préfixe départemental évite les collisions entre bassins homonymes.
La portée se règle à part. Un canal ne délimite aucun territoire : quiconque a la clé entend, à Brest comme à Nice. C’est l’étiquette de région qui contient le trafic, et elle a sa page.
C’est le réglage qui décide du coût réel d’un canal, et il se pose sur le compagnon qui émet, canal par canal, dans l’application. Ni le nom du canal, ni les réglages des répéteurs n’y changent quoi que ce soit.
| Le canal | Portée à lui donner | Pourquoi |
|---|---|---|
Canal de bassin, 38gre | la commune ou le département | Personne hors du bassin n’a de raison de le porter |
Canal départemental, 38gre-meteo | le département | Il concerne ceux qui y vivent |
| Canal régional | la région | Coordination entre départements voisins |
#fr, #technic, #frblabla | fr | Ils s’adressent au pays entier |
Public | fr, ou la région où l’on se trouve | Il sert au premier contact : inutile qu’il traverse le pays |
Ce que ça change, mesuré sur le trafic réel. Une annonce étiquetée est recopiée 2,5 fois en moyenne, une annonce sans étiquette 5,7 fois. Sur les canaux, le constat est du même ordre : un canal local qui circule sans région coûte à chaque répéteur du pays, alors qu’il n’intéresse qu’une vallée. Le dernier relevé montre que quatre dixièmes du trafic de canal circulent sans étiquette, et que les deux canaux les plus coûteux du réseau sont dans ce cas.
Étiqueter n’est pas cloisonner. Une portée réduite empêche le message d’être relayé loin, pas d’être lu : qui a la clé et se trouve à portée d’un répéteur qui porte l’étiquette entend le message. Un canal reste un groupe de discussion, pas une zone géographique.
Et la réponse d’un correspondant part, elle, avec sa région par défaut à lui, pas avec celle de votre canal. Si vos régions diffèrent, l’aller peut passer et le retour s’arrêter : le détail est sur la page des régions.
Plusieurs réseaux locaux rediffusent des bulletins de vigilance sur #meteo ou sur un canal départemental. Six règles, qui ne se négocient pas.
#frblabla.Format retenu :
[MF 09/08 06h] VIGILANCE ORANGE orages 38 Fin prevue 09/08 22h meteofrance.com/vigilance
Un émetteur par flux. Chaque source n’a qu’un rediffuseur identifié. Deux personnes qui relaient le même bulletin produisent des messages divergents, et un lecteur qui en reçoit deux versions ne sait plus à laquelle se fier.
Un canal de rediffusion n’est pas un dispositif d’alerte. Il rediffuse, il n’alerte pas, et la nuance décide de tout : aucune disponibilité n’est garantie, personne ne surveille les messages en permanence, un répéteur peut être hors service pendant des heures sans que quiconque s’en aperçoive.
Y être abonné ne fait de personne quelqu’un qui sera prévenu. En urgence, appelez le 112, et pour la vigilance faisant foi, référez-vous aux publications de Météo-France.
Le réseau partage une ressource limitée : la sous-bande 869,4 à 869,65 MHz, avec un rapport cyclique réglementaire de 10 %. Chaque répéteur ne peut émettre que six minutes par heure, cumulées.
Un réseau saturé ne sert plus à personne, et c’est précisément aux moments où il compte le plus qu’il risque de l’être.
Pour un échange confidentiel, le message direct, chiffré de bout en bout entre deux appareils, est le seul mécanisme prévu pour ça.
Un canal ne conserve rien : qui n’était pas là n’entendra jamais le message. Le salon persistant, lui, garde ce qui a été dit et permet de séparer ceux qui lisent de ceux qui écrivent. Il est décrit avec le reste des usages, métadonnées, cadre juridique et savoir-vivre, sur Messages, salons et savoir-vivre.
Comprendre le réseau, la suite