En ce moment même, pendant que tu lis ces lignes, des satellites valant plusieurs millions d’euros passent au-dessus de ta tête. Certains d’entre eux transmettent des images de la Terre à qui veut bien les écouter. Pas à leurs partenaires commerciaux. Pas à des gouvernements. À n’importe qui. Les images partent non chiffrées, tombant sur des continents entiers, sur des fréquences que tu peux capter avec environ 100 euros de matériel et un balcon qui donne sur le ciel.
C’est vrai pour les images de la Terre, pour les données météo, le suivi aérien/maritime, la radio amateur, et même les vidéos de la Station spatiale internationale 🛰️ !
Je ne le savais pas non plus… jusqu’au jour où je l’ai appris ! Et à ce moment-là, j’ai senti une nouvelle frontière s’ouvrir, comme si je pouvais vraiment atteindre les étoiles, depuis chez moi. De nouvelles aventures spatiales et de nouvelles découvertes m’attendaient, un satellite à la fois.
Ceci est une histoire sur la façon d’atteindre des satellites (d’imagerie météo). C’est aussi l’histoire de comment un « laisse-moi juste essayer un truc » s’est transformé en une station de réception distribuée sur deux pays, un vieux portable ressuscité en serveur, mon père sur une échelle à Théding pendant que je regarde depuis Barcelone et, au moment où j’écris ces lignes, un satellite géostationnaire qui dérive lentement dans le ciel vers le seul point qui me permettrait de le recevoir. Le projet n’est pas terminé. Je le dis au sens littéral : cet article se termine sur un vaisseau spatial encore en mouvement.
Mais je dois d’abord présenter les personnages, parce que la différence entre deux types de satellites est la clé de tout ce projet.
Les satellites météo se répartissent en deux familles.
La première, ce sont les satellites en orbite polaire 🛰️. Ils volent bas, à quelques centaines de kilomètres d’altitude, et vite, en balayant du nord au sud pendant que la Terre tourne en dessous, si bien qu’ils finissent par passer partout (chez toi aussi ! 👾). Ce sont ceux que je traque dans cette histoire : la série russe METEOR-M, à 800 km au-dessus de nos têtes, qui émet en bande VHF autour de 137 MHz. Le hic, c’est qu’ils ne sont « là-haut » que dix à quinze minutes à chaque fois. Le satellite sort de l’horizon, décrit un arc au-dessus de nous, puis disparaît, et on a exactement ce laps de temps pour capter tout ce qu’il raconte avant qu’il ne s’en aille. Le rater, c’est attendre l’orbite suivante (~1 à 2 jours !).
La deuxième famille, ce sont les satellites géostationnaires 🌍. Ils se trouvent incroyablement loin, à environ 36 000 km, sur une orbite calée si précisément qu’ils font le tour de la Terre en exactement un jour, ce qui fait que, vus du sol, ils semblent parfaitement immobiles. Fixés dans le ciel. Toujours là, toujours tournés vers la même face de la planète, en émission continue. Pas de fenêtre de dix minutes 🤩. Mais ils émettent tout là-haut en bande L (~1,7 GHz), une tout autre bête à recevoir. Garde ça en tête, c’est là que l’histoire nous mène, et le final met en scène l’un d’eux, l’Elektro-L3, littéralement en train de glisser jusqu’à sa position.
Chapitre 1 : « Et si je pointais simplement une antenne vers le ciel ? »
La mission était claire, il était temps de tenter le coup : j’ai acheté une clé RTL-SDR bon marché, du genre qui est livrée avec une petite antenne dipôle télescopique, j’ai déployé l’antenne sur ma terrasse, je l’ai pointée vers le ciel de façon « ça a l’air à peu près bon », j’ai attendu un passage de METEOR, et j’ai lancé l’enregistrement.
Laisse-moi te parler de cette clé, parce que c’est vraiment l’un de mes faits préférés dans ce loisir.
🤓 Le coin des curieux techniques : les petits récepteurs RTL-SDR sur lesquels toute cette communauté s’est construite n’ont jamais été conçus pour être des radios. Ils ont commencé leur vie comme de simples tuners de télévision DVB-T, des clés USB pour regarder la TV numérique sur son ordinateur portable. Vers 2012, des gens en train de bidouiller la puce ont réalisé qu’on pouvait contourner le décodage TV et accéder aux échantillons radio bruts en dessous, le signal numérisé brut, tout droit sorti de l’antenne.
Soudain, une clé TV à 60 € devenait une radio logicielle (SDR) polyvalente. Elle capture une tranche du spectre radio, la numérise, et déverse les chiffres bruts dans ton ordinateur. Tout ce qui fait vraiment radio, l’accord de fréquence, le filtrage, la démodulation, transformer une ondulation du signal en pixel, se passe en logiciel, sur ta machine. Donc, dans un sens, elle fait bien moins qu’une radio, elle est à peine plus qu’une antenne, et te laisse faire le travail intelligent avec le signal capturé.
Ce qui est magnifique, et qui signifie aussi que quand ça ne marche pas, il n’y a pas de « radio » à blâmer. Il n’y a que toi.
Et ça n’a pas marché.
Le satellite est passé, pile à l’heure prévue (j’expliquerai pourquoi l’horaire est si précis dans un chapitre plus loin). J’ai enregistré le passage. J’ai lancé le décodeur. Et voilà ce qui en est sorti…
Tu vois cette bande presque noire ci-dessus 👆, c’est l’image que j’ai obtenue. Pas même une image noire rectangulaire. Dix minutes durant lesquelles un satellite a diffusé une image de l’Europe juste au-dessus de ma tête, et j’ai capté une baguette chinoise noire 🥢.
Mais ce premier, hmm, truc, avait de l’importance, une fois que j’ai compris ce que je regardais. Ce n’était pas aléatoire. C’était le fragment du passage où le signal avait réussi, brièvement, à se hisser au-dessus du bruit : le moment où le satellite était au plus haut et au plus près, traversant le moins d’air et de distance possible. Partout ailleurs, quand il était bas sur l’horizon et loin, son signal ne dépassait jamais le vacarme radio de la ville, et le décodeur n’avait rien d’autre à se mettre sous la dent que du bruit statique, qu’il a fidèlement restitué en noir ⬛️. L’image n’était pas un échec total, puisqu’elle m’a aidé à diagnostiquer mon problème.
Mon problème, c’était le signal 📶. Ou plutôt son absence : le satellite se trouve à quelques centaines de kilomètres d’altitude et émet à peine quelques watts, et le temps que ce murmure atteigne mon décodeur, il était déjà englouti dans tout le bruit radio de fond d’une ville. Le décodeur a besoin que le signal dépasse ce plancher de bruit pour reconstruire une image. Le mien y arrivait à peine, une fois, au sommet du passage, et se noyait partout ailleurs.
Cette bande noire de bruit radio n’avait rien d’inspirant. Mais si la différence entre le noir et une vraie image n’était qu’une question de qualité de signal, alors c’était un problème avec des boutons dessus. Des boutons que je pouvais tourner.
Et le premier bouton était dans la boîte depuis le début : l’antenne ! 📡 J’avais bien branché l’antenne, ne te méprends pas, mais je l’avais traitée comme un accessoire alors que c’était en réalité un instrument. Une antenne dipôle n’est pas juste un bout de fil qu’on pointe vers des choses, c’est un objet accordé dont la longueur est censée correspondre à la longueur d’onde qu’on cherche à capter. La mienne n’était accordée sur rien de particulier…
🔧 Notes de construction : le strict minimum pour essayer par toi-même
Voici le montage naïf qui m’a donné une image noire, volontairement minimaliste. C’est quand même une bonne façon de tenter ton premier essai, tant que tu t’attends à la bande noire comme un rite de passage plutôt que comme un échec.
Récepteur : une RTL-SDR Blog V3, la même clé que j’utilise sur mes deux sites. Prends bien une clé de marque « Blog », pas la moins chère sans nom : les bonnes ont un oscillateur à compensation de température stable (moins de dérive en fréquence) et un bias tee intégré, dont tu auras besoin au Chapitre 3. La mienne a coûté environ 60 € livrée en Espagne, kit dipôle inclus.
Antenne : le kit dipôle télescopique fourni suffit largement pour commencer… à condition de bien le régler, ce que je n’ai pas fait. Comment le dimensionner et l’orienter, c’est tout le sujet du Chapitre 2.
Cible :METEOR-M2-3 et M2-4, liaison descendante autour de 137 MHz VHF. (La fréquence exacte selon le satellite arrive dans une note de construction plus loin, te trompe et tu enregistreras dix minutes bien propres de rien du tout. Demande-moi comment je le sais.)
Logiciel :SatDump capture et décode. Premier essai : pointe sur la fréquence, enregistre le passage, décode. La recette complète du premier décodage, et le bug de config qui m’a coûté une soirée, arrivent au Chapitre 4.
Quand enregistrer : un passage dure environ 10 minutes, cherche l’horaire à l’avance. La prédiction des passages est couverte au Chapitre 4.
À quoi s’attendre : avec une antenne non réglée en ville, le noir ou le presque-rien est le résultat normal au début. La suite de cet article te dira comment obtenir ta première vraie image de la Terre.
Chapitre 2 : « L’antenne : ce bout de tige qui est tellement plus qu’une tige… ! » 📡
Il s’est avéré que l’antenne avait un manuel. Je n’avais pas lu le manuel. Du pur Yann (c’est moi) tout craché !
Le dipôle fourni avec le kit RTL-SDR n’est pas figé : les bras se déploient en télescope, et la base permet de régler l’angle entre eux. Et bien les régler fait toute la différence entre une capture terrestre impeccable et rien du tout. Pour la bande 137 MHz, la recommandation est très précise : chaque bras doit mesurer 53,4 cm de long, avec un angle de 120° entre eux. J’ai déployé les télescopes à 53,4, réglé le V, et les images se sont immédiatement améliorées.
La plupart d’entre nous n’ont eu affaire qu’à des antennes de radio FM/AM 📻. Et si tu t’en souviens, les régler n’a jamais été un vrai problème. C’est dû à la force et à l’omniprésence du signal FM/AM autour de nous. Le signal satellite, c’est une tout autre histoire. Ce déclic « oh, la forme de l’antenne a un sens » m’a pris une journée.
🤓 Le coin des curieux techniques : ce 53,4 n’est pas un chiffre magique trouvé par tâtonnement, c’est tout simplement 137 MHz écrit en centimètres. Les ondes radio ont une longueur physique. À 137 MHz, chaque onde mesure environ 2,19 mètres de crête à crête (c’est la vitesse de la lumière divisée par la fréquence). Une antenne dipôle doit mesurer une demi-longueur d’onde, d’une extrémité à l’autre, donc chacun de ses deux bras doit faire un quart de longueur d’onde, soit environ 54,7 cm, raccourci légèrement à ~53,4 cm pour tenir compte du comportement réel du métal à ses extrémités (2-3 % de rabot nécessaires). Tu veux recevoir une fréquence plus haute ? Le métal doit être plus court, parce que l’onde l’est aussi.
La question des dimensions s’est révélée être la partie facile. L’orientation, elle, a été la partie difficile, et j’y ai perdu des jours.
Voici un moment bas que je partage pour ton bénéfice : à un moment, j’avais tout le V dressé à la verticale, pointes vers le ciel, avec la logique en apparence raisonnable que le satellite est là-haut, donc l’antenne devrait pointer là-haut aussi. C’est l’erreur la plus intuitive qui soit, et comprendre pourquoi elle est fausse m’a pris du temps et de nombreux échanges avec mes amis IA.
Quand le satellite est juste au-dessus de ta tête, son signal voyage verticalement vers toi, mais le champ électrique E du signal, celui que tu vas finalement capter, est perpendiculaire à la direction du signal : dans ce cas précis, il est horizontal. Place ton antenne à la verticale et E n’a aucun effet exactement au moment où le satellite est au plus haut, au plus près, et hurle son signal le plus clair vers toi… J’avais construit une antenne précisément optimisée pour ignorer les meilleures quatre-vingt-dix secondes de chaque passage !
Le correctif qui a apporté le plus gros bond de qualité d’image de tout le projet n’avait rien de subtil : je l’ai posée à plat. Un dipôle horizontal est le plus sensible pile à la verticale au-dessus de lui, donc au lieu d’un trou juste au-dessus, j’avais maintenant ma direction la plus sensible pointée droit sur le cœur de chaque passage. De la verticale à l’horizontale, voilà le bond !
L’orientation était aussi un point clé. L’antenne dipôle doit être alignée est-ouest, pour que les zones mortes tombent à l’est et à l’ouest, là où le satellite n’est pas, et que le lobe principal couvre l’arc nord-sud qu’il parcourt.
Mais bien régler l’orientation m’a appris quelque chose que je n’attendais pas du tout sur mon propre toit, mon fait préféré de tout ce chapitre.
🤓 Le coin des curieux techniques : un satellite météo polaire ne prend pas une photographie. Il construit son image ligne par ligne, comme un scanner à plat, ou une vieille télécopie qui recrache lentement une page. À son bord, un miroir balaie de gauche à droite, perpendiculairement à la direction de vol du satellite, peignant une fine bande est-ouest du sol en dessous. Puis le mouvement nord-sud du satellite le fait avancer d’un cran, il peint la bande suivante, puis la suivante, empilant des milliers de bandes pour former une image. L’image est tissée : la largeur vient du miroir balayeur, la hauteur vient de l’orbite. Tu comprends maintenant pourquoi ma première image était une bande noire.
Une fois qu’on visualise l’image construite de cette façon, une conséquence en découle, propre à l’endroit où je vis. Je suis dans un « intérieur » de Barcelone, un espace encaissé par des immeubles qui rognent mon horizon au nord et au sud. On pourrait croire que ça rend juste mes images pires. Ce que ça fait en réalité, c’est les rendre plus courtes, tout en gardant leur pleine largeur, à cause du mécanisme de balayage.
Chaque ligne de balayage est-ouest est tracée par le satellite qui regarde vers le bas et vers les côtés, sur une fauchée large d’environ 2 900 km. Il se moque complètement de l’allure de mon horizon : pour que je reçoive cette ligne entière, il me suffit d’entendre le satellite à cet instant précis, et au milieu du passage, il est haut dans le ciel, bien dégagé de tout bâtiment. Donc j’obtiens la pleine largeur, à chaque fois. Ce que les immeubles me volent, c’est le début et la fin du passage, les moments où le satellite est bas sur les horizons nord et sud, caché derrière du béton avant même d’avoir dégagé ma ligne de toits. Ce sont le haut et le bas de l’image. Du coup, mes captures ressemblent à une image large : le balayage est-ouest complet du continent, mais coupé court au nord et au sud, parce que les toits de Barcelone décident de la portion de chaque passage que j’ai le droit de voir.
Ce qui a planté une idée que je n’étais pas encore prêt à mettre en œuvre : certaines limites, on ne peut ni les amplifier ni les contourner en se réorientant. Cet immeuble sur mon horizon nord n’allait jamais bouger. Si je voulais un jour les tranches de ciel que Barcelone me cachait, je n’aurais pas besoin d’une meilleure antenne. J’aurais besoin d’un ciel différent. (Garde cette idée en tête, elle est à quelques pays de distance.)
🔧 Notes de construction : le dipôle en V, bien fait
Le montage, cette fois avec la bonne orientation et la bonne configuration. Il devrait te donner une assez bonne image de la Terre. 🌍
Dimensions : chaque bras à 53,4 cm (un quart de longueur d’onde à 137 MHz), mesuré depuis le connecteur central jusqu’à la pointe. Les deux bras de longueur égale.
Angle : environ 120° entre les deux bras, le « V ». (Cela élargit et uniformise le diagramme de réception zénithal par rapport à un dipôle droit à 180°.)
La mettre à l’horizontale : c’est le point le plus important. Pose le V bien à plat. « Pointes vers le haut » est l’erreur classique du débutant : ça dirige le trou sourd de l’antenne pile sur le satellite au zénith, c’est-à-dire au moment le plus fort du passage. À plat = sensibilité maximale au-dessus.
Choisis ensuite l’azimut : les éléments alignés est-ouest, avec un horizon dégagé.
Emplacement : plus ton horizon nord-sud est dégagé, plus tes images seront hautes (voir la note sur le balayage plus haut). Les obstructions est-ouest te coûtent à peine quelque chose.
Note sur la polarisation (le savais-tu ?) : la liaison descendante de METEOR est polarisée circulairement, alors qu’un dipôle droit (comme notre antenne en V) est polarisé linéairement. À cause de ça, on perd environ 3 dB à cause de ce décalage. Ça fonctionne quand même très bien. La version correctement adaptée est une antenne QFH (hélice quadrifilaire), qui figure sur ma liste des projets « un jour peut-être » et que je n’ai pas encore construite (un peu trop chère/compliquée à construire pour le gain réel qu’elle apporte).
L’antenne était enfin devenue un instrument plutôt qu’une décoration, et les images le prouvaient. Mais le signal restait faible chaque fois que le satellite était bas, faisant perdre une partie des images reçues. Et, l’antenne étant désormais bien réglée, mon hypothèse était qu’une autre partie de mon montage étouffait le signal. Ce qui a soulevé la question suivante.
Chapitre 3 : « Et si j’amplifiais le signal avant que le câble ne le dévore ? »
L’antenne était enfin devenue un instrument plutôt qu’une décoration, et mes images étaient passées de « rectangle noir » à « côte reconnaissable ». Des progrès. Mais elles portaient encore une blessure, qui ressemblait à ça :
Ces bandes noires horizontales sont des lignes perdues. Souviens-toi, dans le chapitre précédent, que l’image est peinte ligne par ligne. Donc, une bande noire correspond à un moment où le signal est tombé sous le seuil dont le décodeur a besoin, et il n’avait tout simplement rien à dessiner. L’image arrivait proprement pendant un moment, puis se déchirait en noir, puis se rétablissait. Des passages entiers gâchés par ces trous.
Je suis donc parti à la chasse pour trouver où je perdais du signal. Et je l’ai trouvé dans le composant le moins glamour de tout le montage : le câble.
Voici le truc : il y a environ 10 mètres de câble coaxial entre mon antenne et la clé. J’avais commencé avec 5 mètres, puis j’ai hissé l’antenne du sol de la terrasse jusqu’à la pergola pour dégager plus de ciel (des images plus hautes, exactement comme promis au chapitre précédent), ce qui a coûté 5 mètres de plus. 10 mètres, c’est beaucoup de câble à faire traverser à un signal déjà faible, et un câble coaxial n’est pas un tuyau gratuit. Chaque mètre atténue un peu le signal, grignotant ce signal ténu qui avait déjà traversé 800 km. Ça, c’est déjà gênant, mais supportable. Le vrai problème est plus subtil, et c’est le cœur de tout ce chapitre :
🤓 Le coin des curieux techniques : dans une chaîne de réception, l’ordre de tes composants détermine ton plancher de bruit, et la toute première chose que touche le signal compte plus que tout le reste combiné. C’est une vraie loi, qui porte un nom (la formule de Friis pour le bruit en cascade), et en version courte : chaque étage ajoute un peu de son propre bruit, mais la contribution de chaque étage est divisée par tout le gain qui le précède. Donc le premier composant apporte tout son bruit, le deuxième apporte son bruit réduit par le gain du premier étage, le troisième encore plus réduit. Place un bon amplificateur en premier, avec un vrai gain, et il noie mathématiquement le bruit de tout ce qui suit, y compris une clé RTL-SDR bon marché et électriquement bruyante !
Voici le piège dans lequel j’étais tombé, celui que personne ne te dit. La perte d’un câble n’est pas seulement une perte, la perte, c’est du bruit. Un câble avec pertes placé au début de ta chaîne se comporte comme un très mauvais premier étage, en installant tranquillement un plancher de bruit que rien en aval ne pourra jamais défaire. Donc la question n’est pas « comment amplifier le signal faible ? » mais plutôt « où l’amplifier ? », et la réponse décide si ça marche ou pas du tout.
Si tu places l’amplificateur près de la radio, à l’intérieur, là où c’est pratique à alimenter et facile d’accès, tu as déjà perdu. Le signal a d’abord traversé tout ce câble avec pertes, il arrive dégradé, et ensuite tu l’amplifies… mais tu amplifies alors le signal ET le bruit du câble ensemble. Tu as rendu la boue plus forte 🥲. Si au contraire tu places l’amplificateur au niveau de l’antenne, à son point d’alimentation même, avant le câble, il soulève le tout petit signal bien au-dessus du plancher de bruit dès le premier instant possible, et ensuite seulement envoie ce signal désormais robuste dans le câble coaxial. Le câble prend toujours sa part, mais c’est la part de quelque chose de fort. Même câble. Même amplificateur. Résultat opposé, décidé entièrement par l’extrémité à laquelle tu le boulonnes. Et avec 10 mètres de câble, se tromper sur ce choix aurait été brutal.
Le composant qui fait ça s’appelle un amplificateur faible bruit, ou LNA en abrégé, et celui que j’ai acheté est un Nooelec SAWbird+ NOAA, conçu spécifiquement pour cette bande météo d’environ 137 MHz. Il fait deux boulots à la fois. Il amplifie, en premier dans la chaîne, au niveau de l’antenne (l’emplacement qui compte). Et la partie « SAW » est un filtre à ondes acoustiques de surface, une petite porte passe-bande qui ne laisse passer qu’environ 137 MHz et rejette le reste.
🤓 Le coin des curieux techniques : ce filtrage est plus important qu’il n’y paraît, parce qu’un amplificateur amplifie tout, ABSOLUMENT TOUT !, y compris les signaux forts dont tu ne veux pas. Les villes regorgent d’émetteurs puissants juste au-dessus de la bande FM : radio professionnelle, contrôle du trafic aérien, balises de navigation, etc. Si tu laisses tout ça frapper un amplificateur grand ouvert, les signaux les plus forts peuvent le saturer et le désensibiliser au signal faible qui t’intéresse vraiment. Le filtre SAW claque la porte au bruit hors bande avant qu’il n’atteigne l’étage d’amplification, si bien que tout ce précieux gain est dépensé sur ton murmure à 137 MHz, et rien d’autre.
Note que ça signifie aussi que tu ne pourras pas capter de signaux hors 137 MHz avec ce LNA ; si le trafic aérien ou d’autres signaux de la ville t’intéressent, il te faudra une antenne séparée.
J’ai monté le SAWbird directement au point d’alimentation de l’antenne. Il a besoin d’être alimenté, et la clé RTL-SDR Blog vient à la rescousse : elle peut envoyer une petite tension continue vers le haut, dans le même câble coaxial qui fait descendre le signal (c’est ce qu’on appelle un bias tee), si bien que l’amplificateur puise son énergie dans le câble même qu’il alimente 😻. Une option en plus dans la commande, et le LNA sur la terrasse s’allume.
Et les bandes noires se sont refermées ✨.
Pas entièrement, pas sur tous les passages marginaux, mais la différence a été la plus satisfaisante de tout le projet. Les passages qui se déchiraient auparavant en bandes arrivaient maintenant entiers, de haut en bas. Les images sont passées de « reconnaissables mais abîmées » à « presque toujours complètes ». J’avais arrêté de perdre le satellite en pleine phrase.
🔧 Notes de construction : bien ajouter un LNA
Quoi acheter : un Nooelec SAWbird+ NOAA (~50 €), un LNA avec un filtre passe-bande SAW intégré, centré sur la bande météo 137 MHz. Il existe des variantes de SAWbird pour d’autres bandes, prends bien la version NOAA pour METEOR/NOAA en VHF. (Cible différente, filtre différent : un montage GOES/bande L a besoin d’un SAWbird complètement différent, on y reviendra bien plus tard.)
La seule règle qui compte : monte-le au point d’alimentation de l’antenne, pas près du récepteur. Un LNA côté radio lutte contre une perte de câble déjà survenue, un LNA côté antenne fixe un plancher de bruit bas avant le câble.
La longueur de câble fait partie de l’équation : je fais courir 10 m de câble coaxial d’une antenne montée sur la pergola jusqu’à la clé RTL-SDR. Plus la ligne est longue, plus la règle « LNA à l’antenne » compte : 10 m de perte avant l’amplificateur auraient fixé un plancher de bruit que rien en aval n’aurait pu corriger.
L’alimenter : active le bias tee sur une clé RTL-SDR Blog pour envoyer du courant continu dans le câble jusqu’au LNA (pas besoin de câble d’alimentation séparé jusqu’au toit). Dans SatDump/rtl_sdr, c’est une option/un bouton bias-tee ; rappelle-toi de le désactiver quand tu utilises la clé pour autre chose. Quand c’est activé, tu dois voir un voyant vert sur ton LNA.
Pourquoi le filtre SAW justifie son prix : un LNA non filtré amplifie tout, et un émetteur fort à proximité, hors bande, peut le saturer et le désensibiliser à ton signal faible. Le filtre rejette les déchets avant l’étage de gain. Dans un coin rural tranquille, tu pourrais t’en passer, en ville, non ! Note que le filtre fonctionne même quand le LNA n’est pas alimenté. Pour capter des signaux hors 137 MHz depuis la même antenne, il te faudra le débrancher physiquement.
Ordre du montage complet, de bout en bout : antenne → SAWbird (LNA + filtre) → câble coaxial → clé.
Après cette étape, j’avais une antenne bien conçue, orientée pour mon ciel, avec un amplificateur faible bruit qui soulevait le signal avant que le câble ne puisse le gâcher. Pour la première fois, capter un bon passage de METEOR paraissait fiable plutôt que dépendre de la chance.
Ce qui, bien sûr, est exactement le moment où un nouveau genre d’insatisfaction apparaît. Parce que maintenant je captais les passages de façon fiable… en restant debout devant mon ordinateur, à la bonne minute, en lançant manuellement un enregistrement, puis en lançant manuellement le décodeur, puis en sauvegardant manuellement l’image. Le goulot d’étranglement n’était plus la radio. Le goulot d’étranglement, c’était moi, pauvre être humain qui avait d’autres choses à faire que d’activer une antenne.
Chapitre 4 : « Et si un ordinateur faisait tout ça pendant que je dors ? »
Il y a une fatigue bien particulière qui vient du fait d’être la partie la plus lente de son propre système 🥲. Je pouvais désormais capter un bon passage, mais seulement en étant physiquement présent à la bonne minute, en démarrant l’enregistrement à la main, en attendant dix minutes, en lançant le décodeur, en sauvegardant l’image, et en recommençant pour le satellite suivant le lendemain. La radio fonctionnait. Le goulot d’étranglement avait un nom, c’était Yann (ouais, c’est moi !).
J’ai donc décidé de me retirer de la boucle. Et la machine que j’ai choisie pour me remplacer était de celles que la plupart des gens auraient jetées : un vieux MacBook, largement passé de mode, plus digne de confiance pour rien qui nécessite qu’un humain s’assoie devant. Je l’ai réinitialisé, j’y ai installé Debian, et je l’ai exilé dans une pièce de rangement pour qu’il vive sa seconde vie de serveur.
🤓 Le coin des curieux techniques : un ordinateur portable, surtout un vieux Mac avec un disque SSD, est en secret un excellent serveur maison, et il en dort un dans la moitié des tiroirs du monde. Réfléchis à ce qu’il a qu’un Raspberry Pi ou une VM dans le cloud n’a pas :
un onduleur intégré : la batterie encaisse les coupures et micro-coupures de courant qui, sinon, redémarreraient la machine en plein milieu d’un passage
un écran et un clavier intégrés, en permanence disponibles pour exactement le moment où le SSH plante et où tu dois voir ce qui cloche
des cartes Wi-Fi et Bluetooth intégrées, assurant toute la connectivité dont un serveur maison a besoin.
C’est un ordinateur tout-en-un, autoalimenté, avec son propre écran, et plutôt portable en plus ! On a juste appris à les voir comme jetables dès qu’ils ne peuvent plus faire tourner le dernier OS 💻💔.
Le cerveau de l’opération, c’est n8n : un outil d’automatisation de workflows très populaire et open source, qui permet de connecter différents services dans une seule et même application (par exemple, connecter Slack à Claude AI et à l’API LinkedIn pour générer et publier automatiquement des posts LinkedIn).
Mon flux de planification des passages Mon flux de capture d’images
n8n est l’orchestrateur de ma « station de réception satellite » : il calcule quand aura lieu le prochain passage, allume la radio RTL-SDR, enregistre le signal, le décode, traite l’image, et dépose le résultat dans la galerie publique. Tout cela via un planificateur, sans surveillance, pendant que je sirote ma Vodka Martini vierge 🍸.
🤓 Le coin des curieux techniques : tu peux savoir exactement quand un satellite va passer au-dessus de chez toi, plusieurs jours à l’avance, à la seconde près : leurs orbites sont déterministes. Leur trajectoire est publiée sous forme de TLE (« Two-Line Element », un jeu de deux lignes), un enregistrement texte laconique d’environ 140 caractères décrivant la forme et l’orientation de l’orbite à un instant connu. Donne ce TLE et tes coordonnées à un propagateur, il fait tourner la physique vers l’avant et te dit que le satellite apparaîtra au-dessus de ton horizon à, disons, 14h03min27s demain, montera jusqu’à 71° d’élévation, et se couchera à 14h16.
Je n’ai pas fait le calcul moi-même. Je fais plutôt une requête à l’API N2YO. En plus de la position du satellite, je calcule aussi le lever/coucher du soleil grâce à l’API Sunrise-Sunset : la caméra du satellite METEOR est trop faible pour détecter la moindre lumière nocturne venant de la Terre, les images capturées après le crépuscule sont pratiquement noires ⬛️.
Quand le satellite est juste au-dessus de mon antenne et que le soleil brille, n8n exécute ceci :
# 1. Enregistrer le passage en bande de base brute
rtl_sdr -f 137900000 -s 2400000 -g 20 ~/satellite-images/meteor_$(date +%H%M).raw
# 2. Décoder les échantillons bruts en image
./satdump pipeline meteor_m2-x_lrpt baseband \
meteor_HHMM.raw decoded_HHMM \
--samplerate=2400000 --baseband_format=cu8
Le décodeur, c’est SatDump, le couteau suisse de la réception d’images satellite. Il transforme des échantillons radio bruts en images jpg de la Terre.
Le dernier morceau, c’était la publication. Les images décodées avaient besoin d’un chez-elles sur Internet, et j’ai choisi Coolify pour déployer sans douleur une page web de galerie d’images satellite. Vois ça comme un Heroku ou un Vercel auto-hébergé. Il gère l’hébergement de mes sites (via des conteneurs Docker), me donne des tableaux de bord et des déploiements façon git-push, et transforme mon vieux MacBook Pro 2011 en ma propre petite plateforme cloud ☁️ 💻 ☁️.
La page de galerie elle-même est un simple conteneur nginx qui sert les images sur une page index.html. Elle est en ligne sur satellite.yannklein.dev, accessible depuis n’importe où dans le monde, malgré le fait que le MacBook soit sur une connexion domestique sans IP fixe, grâce à un tunnel Cloudflare. (Comment ce tunnel fonctionne sans IP fixe et sans port ouvert est assez intéressant, mais je garde ça pour le chapitre où il fait quelque chose de bien plus impressionnant : atteindre des signaux au-delà des frontières nationales.)
Pour la première fois, tout le système tournait sans moi. Je me réveillais, je regardais mon téléphone, et il y avait une image fraîche de la Méditerranée qu’un vieux MacBook avait captée, décodée, et publiée pendant que j’étais absent.
🔧 Notes de construction : automatiser la boucle capture→décodage→publication
Les parties de base (enregistrement + décodage) sont des commandes réelles, copiables-collables. La partie orchestration est décrite pour que tu puisses en reconstruire la forme. J’ai publié mes vrais flux et configs n8n dans ce dossier du dépôt.
Enregistrer un passage (bande de base brute, l’entrée de tout le reste) :
-f 137900000 = 137,9 MHz. Pour M2-3 et M2-4, 137,9 est la fréquence principale. (Le gain -g 20 fonctionne bien une fois que le SAWbird soulève le signal ; avec un LNA puissant en amont, tu ne veux souvent pas du gain max, qui peut saturer la clé.)
Le décoder avec le pipeline METEOR LRPT de SatDump :
--fill_missing interpole les lignes manquantes pour que le rare trou de signal restant soit rattrapé plutôt que laissé en bande noire, une jolie finition par-dessus le travail du SAWbird du Chapitre 3.
Le bug qui m’a coûté une soirée : si SatDump signale aucun décodeur/plugin, c’est que tu le lances depuis le mauvais endroit ; lance-le depuis son propre dossier build/, pas depuis une installation système.
dans mon cas, SatDump est compilé depuis les sources (il existe différentes façons de l’installer). Il compile et tourne très bien sur du matériel ancien et peu puissant, ne laisse donc pas un vieil ordinateur portable t’arrêter.
Prédire les passages : les orbites sont déterministes, utilise l’API N2YO pour planifier les captures.
Quand l’image est vide et que ce n’est pas de ta faute : METEOR-M2-3 a une antenne partiellement non déployée 😅, son signal est faible et intermittent. Vérifie l’état du satellite (la communauté APT Group rapporte en direct la qualité des passages) avant de blâmer ton montage.
Le stack, en résumé : vieux portable → Debian → n8n (orchestration) → SatDump (décodage) → Coolify (PaaS auto-hébergé gérant Docker) → conteneur nginx (la galerie) → tunnel Cloudflare (accès public, sans IP fixe). Chaque brique est gratuite et open source.
Quel voyage épique depuis mes premiers essais de capture d’images terrestres ! J’avais construit une machine qui captait le ciel à ma place et publiait les résultats en ligne. Mais les images qu’elle publiait étaient encore brutes, grises, et, j’allais bientôt le découvrir, certaines étaient à l’envers et inversées.
Chapitre 5 : « Et si ces scans gris devenaient de vraies cartes en couleur ? »
Mon vieux MacBook captait désormais les passages et les publiait sans moi. Il ne restait qu’un problème avec les images publiées : elles étaient grises et déformées. C’était encore de la sortie brute d’un scanner en orbite. Les magnifiques cartes en couleur que j’avais vues d’autres personnes publier, avec des côtes nettes sur une carte, des villes étiquetées ? Ça demandait trois étapes de plus. Ce chapitre parle de ces étapes.
Étape un : la couleur.
Un satellite METEOR ne « voit » pas en couleur comme ton œil. Son scanner, le MSU-MR, observe la Terre dans plusieurs bandes spectrales séparées, en même temps. Il produit 3 photos en noir et blanc simultanées, chacune prise à travers un filtre différent : une en lumière visible, une en proche infrarouge, une en infrarouge à ondes courtes. Chacune n’est qu’une grille de valeurs de luminosité.
Pour fabriquer une image couleur, tu assignes trois de ces bandes aux canaux rouge, vert et bleu d’une image et tu les laisses se mélanger. C’est un composite en fausses couleurs. « Fausses » parce que les couleurs ne sont pas ce que ton œil verrait, c’est un mappage choisi pour faire ressortir certaines caractéristiques.
J’utilise 3 recettes de SatDump pour produire des images en fausses couleurs qui mettent en évidence des éléments intéressants :
Fausses couleurs AVHRR 221 (Rouge = Ch.2, Vert = Ch.2, Bleu = Ch.1) : une vue générale en fausses couleurs construite à partir des deux canaux réflectifs ; mon réglage habituel pour le contraste terre/végétation.
Fausses couleurs AVHRR 3a21 (Rouge = Ch.3a/SWIR, Vert = Ch.2/proche IR, Bleu = Ch.1/visible) : le canal infrarouge à ondes courtes est sensible à la chaleur intense et aux terrains calcinés, donc c’est celui où les feux actifs et les cicatrices de brûlure ressortent en rouge/orange vif contre le reste de la scène.
MSA : une amélioration dédiée à la détection de points chauds plutôt qu’un simple réarrangement RVB ; elle signale directement les anomalies thermiques, ce qui permet de faire ressortir les feux plus faibles ou plus petits que les composites en fausses couleurs peuvent manquer.
Incendies et fumée en Espagne – 26 juillet 2026
—
🤓 Le coin des curieux techniques : sur ces images, tu peux distinguer un nuage d’un panache de fumée, et l’astuce, c’est la taille des particules ! Les nuages sont faits de gouttelettes d’eau et de glace relativement grosses, et les grosses gouttelettes diffusent toutes les longueurs d’onde de lumière plus ou moins également (visible, proche infrarouge, infrarouge à ondes courtes). Être lumineux dans les trois canaux signifie du rouge + vert + bleu vifs, ce qui se mélange en blanc. La fumée, c’est l’inverse : elle est faite de particules minuscules, et les minuscules particules diffusent préférentiellement seulement les longueurs d’onde les plus courtes, en laissant passer les plus longues. Donc la fumée est lumineuse dans la bande visible mais presque transparente en proche et en infrarouge à ondes courtes. Dans cette recette, la bande visible est câblée sur le Bleu, donc la fumée illumine le canal bleu et presque rien d’autre, et ressort dans un bleu distinct et fantomatique, contre les nuages blancs autour d’elle.
Et l’empreinte de l’incendie apparaît aussi, par la logique inverse : la végétation en bonne santé est intensément lumineuse en proche infrarouge (c’est le canal Vert ici, ce qui explique pourquoi l’Espagne brille en jaune-vert), donc une cicatrice de brûlure, là où la végétation a brûlé, devient sombre et ressort nettement contre le vert du terrain environnant. Dans une seule image, tu peux voir à la fois la cicatrice de l’incendie et sa fumée, grâce aux différentes façons dont la matière interagit avec différentes longueurs d’onde de lumière.
Étape deux : la projection. Maintenant les images étaient colorées mais toujours mal formées.
🤓 Le coin des curieux techniques : un scan satellite brut est fortement déformé, et la déformation est pire sur les bords. Le scanner balaie un immense arc, large de près de 3 000 km, et près des extrémités de chaque balayage, il regarde la Terre selon un angle rasant, si bien que chaque pixel étale bien plus de terrain qu’un pixel pris à la verticale. L’image brute est en « perspective satellite », pas dans la perspective habituelle d’une « carte du monde ».
La projection (ou géoréférencement) corrige ça. On connaît l’orbite exacte du satellite et son orientation pour chaque ligne de balayage, donc on peut calculer la vraie latitude et longitude que chaque pixel observe, et redessiner toute l’image déformée sur une vraie grille cartographique. Soudain, la côte déformée s’aligne sur la vraie côte à laquelle on est tous habitués. C’est l’une des améliorations les plus satisfaisantes du projet. (Côté technique, l’image brute d’un canal fait environ 1568 px de large, le composite corrigé est étiré à ~2800 px pour défaire la distorsion panoramique, soit environ 1,79× de correction horizontale.)
Une fois que chaque pixel a une coordonnée réelle, une jolie chose devient possible : on peut y ajouter des étiquettes.
J’ai écrit 2 petits scripts :
compute_barcelona_px.py : fait l’inverse de la projection : étant donné la latitude et la longitude d’un lieu, il calcule quel pixel correspond à ce lieu.
add_map_overlay.py : l’utilise pour placer des marqueurs de villes exactement où ils doivent être : Barcelone sur son cap, Madrid dans les terres, Marseille, Rome et Alger chacune épinglée au bon point. La carte a cessé d’être une jolie image pour devenir une image référencée.
Étape trois : le retournement
Environ la moitié de mes images ressortaient à l’envers et inversées en miroir. J’ai passé une soirée convaincu que quelque chose était cassé dans mon traitement. Mais j’ai vite compris que rien n’était cassé… !
Souviens-toi qu’un satellite polaire peint son image ligne par ligne pendant son vol, et qu’il peut traverser mon ciel dans l’une de deux directions : parfois il se dirige vers le sud (un passage « nord-sud »), parfois vers le nord. Quand il vole dans la direction opposée, il peint l’image dans le sens opposé, et comme il regarde aussi de l’autre côté, la gauche et la droite s’inversent aussi.
Le correctif, une fois compris, était presque trivial : déterminer dans quelle direction le satellite voyageait et retourner les images qui doivent l’être. Tu peux lire la direction directement dans la géométrie du passage fournie par l’API N2YO, l’azimut auquel le satellite se lève, et retourner ces images de 180°.
Un détail clé : je fais tourner deux SatDump.
SatDump est un projet formidable qui évolue vite, ce qui signifie parfois qu’une fonctionnalité dont tu dépends n’est pas ou seulement partiellement disponible dans la version que tu utilises. Mon décodeur principal, c’est la toute dernière version de SatDump, et elle est si récente que l’équipe de développement n’a pas encore eu le temps d’y ajouter la projection cartographique et la correction géographique. Donc, pour obtenir des cartes correctement projetées, j’ai installé une seconde version, plus ancienne (v1.2.2), à côté, réservée uniquement à l’étape de projection. Pas le flux de traitement d’image le plus propre, mais il a l’avantage de fonctionner pour l’instant 😬
Et puis, la récompense.
Avec la couleur, la projection et les étiquettes de villes qui fonctionnaient toutes, je pouvais enfin faire ce que je voulais secrètement depuis la première image noire : les empiler. J’ai construit un petit visualiseur (assisté par IA, j’y reviendrai plus tard sur cette façon de travailler) qui prend chaque passage d’une journée, les projette tous sur la même carte centrée sur Barcelone, et les joue en fondu enchaîné sous forme de timelapse. Cinquante-deux passages, la météo de toute une journée qui s’écoule sur une carte fixe de mon coin du monde, les villes restant immobiles pendant que les nuages se déplacent au-dessus d’elles.
🔧 Notes de construction : du scan gris à la carte étiquetée
Fausses couleurs : dans SatDump, le composite 321 / 3a21 fait correspondre ch3 (SWIR)→Rouge, ch2 (proche IR)→Vert, ch1 (visible)→Bleu. Très efficace pour séparer la végétation (vert), les nuages (blanc/cyan), la fumée (bleu), et les cicatrices de brûlure (sombre). Les composites sont définis dans satdump_cfg.json, sous les rgb_composites de l’instrument, chacun avec une equation du type "ch3, ch2, ch1".
Projection : active geo_correct et project (avec draw_map: true) dans la config du composite pour que SatDump projette la fauchée brute sur une vraie grille cartographique et dessine les côtes. Le géoréférencement est ce qui rend possibles les étiquettes et l’empilement.
Le retournement à 180° : si la moitié de tes passages arrive à l’envers et en miroir, c’est la direction du passage (ascendant ou descendant). Je détecte la direction à partir de l’azimut de lever (startAz entre 90 et 270° = NtoS) et je la stocke dans un champ direction, dans le meta.json de chaque passage et dans passes.json. Je corrige ensuite ça à deux endroits : l’étape de traitement fait pivoter les images du canal NtoS de 180° côté serveur avec ImageMagick (convert "$f" -rotate 180 "$f"), et la galerie retourne aussi les images NtoS à l’affichage avec du CSS transform: scale(-1,-1).
Étiquettes : une fois projeté, chaque pixel a un lat/lon, donc tu peux faire l’inverse, calculer le pixel correspondant aux coordonnées d’une ville, et superposer des marqueurs. (Mes scripts compute_barcelona_px.py + add_map_overlay.py font exactement ça ; je les publierai avec le reste.)
Plus de détails dans la doc de ce dépôt.
Pour la première fois, la galerie ressemblait à ce que je voulais construire. Vraie couleur, vraies cartes, ma ville étiquetée au centre. J’aurais pu m’arrêter là. C’était, selon n’importe quelle définition raisonnable, terminé.
Mais il restait cette limitation… les immeubles autour de mon toit, qui m’empêchaient d’obtenir plus qu’une fine bande de terrain européen sur mes images satellite.
Chapitre 6 : « Et s’il y avait une deuxième antenne, dans un autre pays ? »
On ne peut pas déplacer un immeuble, j’avais établi ça 🥲. Alors j’ai arrêté d’essayer de réparer mon ciel, et je suis parti en chercher un autre.
J’ai de la famille à Théding, une petite ville de la Moselle, dans le nord-est de la France. Un ciel ouvert, un vrai horizon, et la partie qui transforme ce projet matériel en histoire : mon père, prêt à être mon coéquipier dans cette aventure satellite, à 1 000 km de distance.
Voici comment la collaboration fonctionne concrètement. Je configure tout côté informatique depuis Barcelone, à distance, en SSH. Le boulot de mon père, c’est ce que je ne peux pas faire depuis 1 000 km : placer et orienter physiquement l’antenne. Et ensuite, c’est le côté sympa, j’ai créé sa propre copie du site de la galerie. Il l’ouvrira et l’utilisera dans son propre navigateur, guettera l’arrivée des images, et ajustera son antenne en fonction de ce qu’il voit. Il est effectivement l’ingénieur de terrain de la station de réception satellite de Théding.
La station de Théding avait une contrainte principale, qui m’a beaucoup appris sur mon système et sur comment je pourrais/voudrais le faire évoluer.
La machine à Théding est un vieux netbook i386, ancien et bien, bien, bien plus faible que même mon MacBook ressuscité. Il ne peut pas décoder un passage satellite dans un temps raisonnable. Il ne peut pas faire tourner l’étape de projection. Il ne peut même pas faire tourner mon habituel assistant IA embarqué sur la machine pour m’aider à travailler dessus, il est tout simplement trop faible pour servir d’environnement de développement du tout. À tous points de vue, c’est le mauvais ordinateur pour ce travail 😅.
Alors je lui ai confié exactement un seul job.
🤓 Le coin des curieux techniques : la bonne stratégie avec un nœud distant faible, c’est de lui faire faire presque rien, et de pousser tout le vrai travail là où le calcul est réellement disponible. Le netbook de Théding ne fait que ceci : quand un passage est prévu, il enregistre les échantillons radio bruts dans un fichier, écrit un petit fichier annexe de métadonnées (quel satellite, à quelle heure, dans quelle direction), et renvoie un compte-rendu. C’est tout. Le fichier brut est rapatrié vers le sud, et mon serveur maison à Barcelone le décode, le colorise, le projette, et le publie sur la galerie de mon père, exactement comme si le passage avait eu lieu sur mon propre toit.
Et c’est ce choix de conception qui explique pourquoi le détail suivant compte autant.
🤓 Le coin des curieux techniques : tu peux réduire tes données d’environ un facteur dix, en n’échantillonnant pas plus vite que nécessaire. À Barcelone, où le fichier brut ne quitte jamais la machine, j’enregistre à 2,4 millions d’échantillons par seconde (-s 2400000). À Théding, ce même fichier brut doit voyager sur 1 000 km via la connexion domestique modeste d’un netbook, donc j’enregistre plutôt à 250 000 échantillons par seconde (-s 250000). Ça représente environ un dixième de la taille du fichier, et la belle nouvelle, c’est que les images sont tout aussi bonnes ! Le signal LRPT de METEOR ne fait qu’environ 120 kHz de large. Le taux d’échantillonnage doit être au moins le double de la largeur du signal qu’on veut capturer (une règle appelée le théorème de Nyquist-Shannon), donc 250 kS/s couvre très bien un signal de 120 kHz.
La dernière question était de savoir comment Barcelone parle à un netbook en France, et c’est là qu’une astuce que je laisse entendre depuis le Chapitre 4 montre enfin son utilité.
🤓 Le coin des curieux techniques : normalement, pour atteindre une machine à distance, il faudrait qu’elle ait une adresse fixe et un port ouvert vers le monde, ce qui est à la fois contraignant (les IP domestiques changent) et un risque de sécurité (les ports ouverts se font scanner et attaquer). J’ai utilisé un tunnel Cloudflare, qui inverse le flux : un petit programme sur le netbook de Théding établit une connexion sortante vers Cloudflare et la maintient ouverte, et tout mon trafic atteint le netbook en remontant par cette même connexion que la machine a elle-même ouverte. Le netbook de Théding est joignable de n’importe où, et simultanément invisible pour tout le reste d’Internet. Depuis Barcelone, mon serveur l’atteint aussi simplement qu’avec ssh theding, et le tunnel fait le reste en coulisses.
Donc le trajet complet d’un passage à Théding ressemble à ceci :
mon serveur maison, à l’heure prévue, traverse la frontière via le tunnel et dit au netbook d’enregistrer
le netbook capture un fichier brut léger à 250 kS/s et renvoie le chemin du fichier
le serveur maison rapatrie ce fichier vers Barcelone par rsync, puis le pipeline habituel décodage-couleur-projection-publication du serveur maison, décrit dans les trois derniers chapitres, s’exécute dessus, et une image du ciel au-dessus de la France apparaît dans la galerie de mon père, et dans la mienne.
En septembre 2026, tout est en place et fonctionne, mais nous cherchons encore un bon emplacement pour installer l’antenne à Théding. J’espère avoir bientôt de belles images à vous montrer.
🔧 Notes de construction : un second site de capture, à distance
Répartis le travail selon où se trouve le calcul. Le nœud distant fait le minimum : enregistrer la bande de base brute, écrire un fichier annexe de métadonnées, renvoyer le chemin du fichier. Tout le décodage/la projection/la publication se fait de retour sur la machine capable. Une machine distante faible (la mienne est un netbook i386) suffit, c’est juste un capteur.
N’échantillonne qu’aussi vite que le signal est large. Le LRPT de METEOR fait environ 120 kHz de large, donc 250 kS/s le capture entièrement (Nyquist-Shannon : échantillonner à ≥ 2× la largeur du signal). C’est environ 10× plus petit qu’un fichier à 2,4 MS/s, ce qui est décisif quand le fichier brut doit voyager sur une connexion distante modeste. En local, où le fichier ne bouge jamais, 2,4 MS/s convient très bien.
Atteins le site distant avec un tunnel Cloudflare, pas avec du port-forwarding. Lance cloudflared sur le nœud distant ; il se connecte vers l’extérieur, donc tu n’as besoin ni d’IP statique ni de port entrant ouvert (ça fonctionne derrière NAT/CGNAT, ça survit aux changements d’IP, rien n’est exposé aux attaques). Ensuite, c’est juste ssh <alias> depuis chez toi.
Le saut n8n, honnêtement : n8n tourne sur le serveur maison et atteint le site distant via un alias SSH classique (ssh theding, avec le tunnel configuré en dessous dans ~/.ssh/config). Il enregistre à distance, puis rsync -e ssh theding:$RAW $LOCAL rapatrie le fichier pour le décodage. Garder le nœud distant simple garde aussi tout ça bête et disciplinée.
Développe à distance. J’édite le code du site distant depuis mon ordinateur portable avec VS Code en remote-SSH, via le même tunnel ; le netbook est trop faible pour héberger un vrai environnement de développement lui-même, mais il n’en a pas besoin ; les fichiers paraissent locaux, la machine se contente de les conserver.
J’avais désormais deux ciels potentiels. Un ouvert en France et un encaissé à Barcelone, tous deux alimentant le même pipeline, tous deux publiant vers des galeries que n’importe qui pouvait visiter. Le projet était devenu une petite station de réception distribuée, à cheval sur deux pays, quelque chose que je n’aurais jamais imaginé construire au départ 🚀.
Et j’aurais pu, enfin, m’arrêter là.
Mais il restait tout un autre genre de satellite que je ne pouvais toujours pas toucher : celui qui ne bouge jamais.
Un travail qui n’a l’air fancy en rien. Un travail que beaucoup ne comprennent pas (d’innombrables personnes m’ont demandé pourquoi je faisais ça). Mais un travail qui m’a beaucoup appris, qui m’a fait un peu rêver d’espace, qui m’a fait sentir que je pouvais accomplir beaucoup avec peu de ressources et un peu d’ambition.
Chaque chapitre de cette épopée a pris pas mal de temps, des heures de frustration, de recherche. J’ai utilisé d’innombrables contournements pour compenser mon montage très pauvre (je travaille quand même avec une vieille clé TV et deux ordinateurs portables dépassés..!). J’ai adoré/détesté chaque minute de tout ça !
Et la machine continue de tourner. Je ne fais plus rien maintenant, toute la boucle tourne toute seule. Les passages sont prédits, la radio est libérée, l’enregistrement démarre, le décodage tourne, les images sont colorisées, projetées, retournées et publiées, le tout sans surveillance, selon un planning, sur les deux sites. Je me réveille avec de nouvelles images de la Méditerranée que je n’ai rien fait pour mériter ce matin-là. J’en suis même à me demander ce que je devrais faire de toutes ces images..!
En plus de 3 mois, ça a rempli une galerie que n’importe qui peut ouvrir dès maintenant :
Théding (le ciel de mon père) : satellite.sergeklein.com(en ligne, mais encore vide, l’antenne n’est pas installée)
Mais je t’avais promis au début que cette saga n’était pas terminée, et je le pensais.
Tout ce que j’ai construit chasse des satellites qui bougent, qui se lèvent, décrivent un arc, et se couchent en dix minutes. Mais il existe toute une autre population là-haut qui fait quelque chose que mes satellites polaires ne font jamais.
Ils restent parfaitement immobiles.
Chapitre 8 : « Et si je pouvais capter un satellite qui ne bouge jamais ? »
Tout, jusqu’ici, a été une histoire de chasse. Les satellites polaires sont rapides, bas, et disparus en dix minutes. Toute l’architecture, la prédiction, les enregistrements chronométrés, la logique de retournement, existe pour capter leurs passages éphémères. Mais l’imagerie météo la plus spectaculaire au monde ne vient pas de ceux-là. Elle vient de satellites qui restent immobiles au-dessus de l’équateur, à 36 000 km d’altitude, fixant tout un hémisphère en même temps, toute la journée, tous les jours.
J’en voulais un. Précisément, je voulais Elektro-L, les satellites météo géostationnaires russes, les seuls à diffuser leur imagerie non chiffrée en bande L, autour de 1691 MHz. Il diffuse une vue en disque complet de la Terre, le genre où tu vois tout un quart de la planète tourner sous sa météo, en une seule image.
Et capter un satellite qui ne bouge jamais est, d’une manière cruciale, plus facile que d’en capter un qui bouge. Il n’y a pas de passage, il est toujours là, dehors. Il suffit de pointer une parabole (tu te souviens de ces paraboles satellite pour la télé ?) vers un seul point du ciel, exactement l’endroit où le satellite est garé, et de ne plus jamais la bouger. Alors je me suis procuré le matériel : une Discovery Dish, une petite parabole avec une source en bande L, réglée pour la bande ~1,7 GHz.
Il y avait juste un problème, et un gros.
🤓 Le coin des curieux techniques : l’Europe de l’Ouest n’a actuellement aucun satellite météo géostationnaire non chiffré en état de fonctionner à recevoir. Le créneau qui couvre ma partie du monde, 14,5° Ouest, au-dessus de l’Atlantique, est occupé par l’ancien Elektro-L2, mais son émetteur en bande L est mort suite à une panne d’alimentation. Il est toujours là-haut, mais silencieux sur la fréquence que je peux recevoir.
Mais voici pourquoi j’ai acheté la parabole malgré ce fait frustrant :
il existe un satellite plus récent, Elektro-L5, lancé en février 2026. Depuis début août 2026, il est devenu opérationnel sur le créneau 76° Est : au-dessus de l’océan Indien, trop loin pour moi pour l’instant. Mais son arrivée est une bénédiction pour moi : elle libère le satellite qui occupait auparavant le 76°E, Elektro-L3, pour qu’il se déplace. Et la nouvelle destination assignée à L3 est le 14,5° Ouest, mon créneau 🎉. Quand L3 arrivera, l’Europe de l’Ouest récupérera sa bande L géostationnaire non chiffrée pour la première fois depuis des années, et ma parabole aura enfin quelque chose de vivant à écouter.
Alors comment un satellite censé ne jamais bouger passe-t-il d’un côté de la planète à l’autre ?
🤓 Le coin des curieux techniques : on déplace un satellite géostationnaire en le mettant délibérément sur une mauvaise orbite, brièvement. Un satellite reste immobile par rapport au sol uniquement parce que son orbite est calée pour que sa vitesse corresponde exactement à la rotation de la Terre. Élève-le sur une orbite légèrement plus haute, et il parcourt alors une boucle plus longue à une allure plus lente, donc il prend du retard sur la rotation de la Terre et, vu du sol, il semble dériver vers l’ouest, un peu chaque jour. Tu le laisses dériver à cette altitude plus élevée, jusqu’à ce qu’il soit au-dessus de la longitude voulue. Puis tu le rabaisses jusqu’à l’altitude géostationnaire exacte, sa vitesse se recale sur celle de la Terre, et il se verrouille sur sa nouvelle position. Tu ne le fais pas voler de côté à travers le monde. Tu le soulèves, tu laisses la planète tourner en dessous, et tu le reposes.
On sait exactement à quoi ça ressemble parce que L3 est sur le point de refaire un trajet que son frère jumeau a déjà emprunté. Quand Elektro-L1 a fait ce même trajet 76°E → 14,5°O en 2016, il avait été élevé d’environ 289 km au-dessus de l’altitude géostationnaire, ce qui l’a fait dériver vers l’ouest à 2,03° par jour. Le trajet a duré environ 45 jours, après quoi les contrôleurs l’ont progressivement rabaissé, jusqu’à ce qu’il se stabilise précisément à 14,5°O. On s’attend à ce que L3 fasse la même chose : une lente glissade délibérée, de plusieurs semaines, à travers le ciel, propulsée par rien de plus spectaculaire que le fait d’être légèrement trop haut et de laisser le monde tourner en dessous. Au moment où j’écris ces lignes, L3 n’est pas encore parti. Je peux le voir dans mon traqueur de satellites, et il se trouve juste à côté de L5, tous deux côte à côte au-dessus de l’océan Indien. N’importe quel jour maintenant, L3 va allumer ses propulseurs, se glisser dans cette orbite légèrement trop haute, et entamer sa lente traversée vers l’ouest, vers le créneau vide au-dessus de l’Atlantique, vers moi.
Donc, à ce jour, ma parabole est pointée vers un coin de ciel vide au-dessus de l’Atlantique, en attente de L3 🛰️.
Épilogue : La suite du chemin
Chaque chapitre de cette histoire s’est terminé par un « et si » qui m’a entraîné vers le suivant, alors ce serait malhonnête de terminer l’article comme si les questions étaient épuisées. Elles ne le sont pas. Voici ce qui reste ouvert au moment où j’écris.
L’évidence : j’attends un satellite. Elektro-L3 est encore garé à côté de L5 au-dessus de l’océan Indien, et jusqu’à ce qu’il allume ses propulseurs et fasse sa traversée de six semaines vers l’ouest, ma parabole fixe un coin de ciel vide au-dessus de l’Atlantique. C’est le cliffhanger que je ne peux littéralement résoudre selon aucun autre calendrier que celui du satellite.
L’antenne de mon père a encore besoin d’un logement permanent. Le netbook doit rester au sec et à l’abri ; l’antenne doit vivre dehors avec une vue dégagée. Transformer ça en une installation étanche aux intempéries, qui ne nécessite pas d’échelle, dans un jardin en Moselle, c’est le prochain vrai chantier physique, et c’est pour ça que sa galerie est encore vide.
Et il y a une bifurcation que je n’ai pas encore choisie. Cette parabole fixe pourrait devenir quelque chose de plus ambitieux. METEOR ne diffuse pas seulement le LRPT basse résolution que je capte sur 137 MHz, il transmet aussi une image bien plus haute résolution appelée HRPT, en bande L, autour de 1700 MHz, pile dans la portée de la parabole. Le hic, c’est que METEOR bouge, donc pour recevoir son signal en bande L, il me faudrait suivre physiquement sa trajectoire dans le ciel, ce qui veut dire un rotor motorisé az/el. Il existe maintenant des options plutôt bon marché (le rotor portable AntRunner revient à environ 300 € livré).
Le but d’un projet comme celui-ci n’a jamais été de le finir. C’était de continuer à trouver la prochaine question qui valait la peine d’être poursuivie. J’ai commencé avec un bout de fil et un rectangle noir, et j’ai fini (je n’ai pas fini) avec une station de réception dans deux pays, un père en France, et un vaisseau spatial qui dérive lentement vers une parabole déjà pointée là où il va arriver. Si tu veux voir comment ça se termine, les galeries se mettent à jour toutes seules, et éventuellement, cette histoire aussi.
Le ciel continue de diffuser. Je continuerai d’écouter.
Envie de construire la tienne ?
Si tout ça t’a donné envie de capter un satellite, voici le chemin le plus court et le plus honnête, de rien du tout jusqu’à ta première image. (Les parties avancées, deux sites, automatisation et projection, se trouvent dans les chapitres ci-dessus et dans le dépôt compagnon)
Achète le matériel de départ (~60-100 €). Une clé RTL-SDR Blog V3 avec son kit dipôle télescopique, et dès que tu as passé ta première tentative, un LNA Nooelec SAWbird+ NOAA (~50 €) à monter sur l’antenne. C’est toute la radio.
Construis bien le dipôle en V. Chaque bras à 53,4 cm, 120° entre eux, posé bien à plat/à l’horizontale. Donne-lui l’horizon nord-sud le plus dégagé possible. Cette seule étape fait toute la différence entre une image noire et une vraie image. (Chapitre 2.)
Place le SAWbird à l’antenne, pas à la radio. Alimente-le via le bias tee de la clé. Amplifie avant la perte du câble, jamais après. (Chapitre 3.)
Installe SatDump et prédis un passage. Utilise n’importe quel prédicteur de passages (N2YO, ou des applis comme Look4sat / le traqueur de SDR++) pour trouver quand METEOR-M2-3 ou M2-4 (≈137,9 MHz) traverse ton ciel prochainement.
Enregistre, puis décode. Capture le passage dans un fichier brut, puis lance le pipeline METEOR LRPT de SatDump dessus :
Attends-toi à ce que la première soit ratée. Une image faible ou noire n’est pas un échec. Itère. Tout le loisir tient dans l’itération.
Voilà, c’est tout. Tout le reste de cet article : l’automatisation, le second pays, la couleur, la projection, le timelapse, c’est juste ce qui arrive quand on n’arrive pas à s’arrêter de se demander « et si ».
## Ressources et liens
SatDump : le couteau suisse du décodage/de la projection : satdump.org
RTL-SDR Blog : les clés, le guide du dipôle en V, et la meilleure source d’actualité pour ce loisir : rtl-sdr.com
Nooelec SAWbird+ NOAA : le LNA 137 MHz : nooelec.com
KrakenRF Discovery Dish : la parabole en bande L pour le géostationnaire/HRPT : krakenrf.com
N2YO : prédictions de passages et suivi en direct (METEOR-M2-3 = NORAD 57166, M2-4 = 59051) : n2yo.com
Dépôt compagnon(le pipeline, les flux n8n, la config SatDump, les scripts de projection/overlay, et les notes de montage) : github.com/yannklein/satellite-images/tree/main/docs(mis à jour en parallèle de cet article)