Trois éléments clés
intégrés dans
mon site

· ·

⌨  Navigation : Espace / Flèches / Boutons

Une question, trois réponses

01

Score météo

Le ciel est-il bon pour observer ce soir ? Un indice 0–100 calculé à partir des données météo.

Durée : ~ 4 min
02
🌌

Estimateur OVATION

Les aurores boréales seront-elles visibles ? Une probabilité contextuelle 0–100 %.

Durée : ~ 4 min
03
🔭

LLM + RAG

Comment décrire automatiquement 13 000 objets du ciel ? Une pipeline IA ancrée dans les données.

Durée : ~ 6 min
01

Le ciel est-il prêt
pour l'observation ?

Un indice 0–100 calculé à partir de 4 facteurs météo.
Une réponse immédiate, calibrée, cohérente.

☁ Nuages 55 % 👁 Visibilité 22 % 💧 Humidité 13 % 🌙 Lune 10 %

Durée estimée : ~ 4 min

01 — Score Météo

La question de base

« Il y a 40 % de nuages sur Météo France…
Je sors avec le télescope ? »

📱

Consultation manuelle

3–5 sources, 20 min, décision incertaine

VS

Score 0–100

Réponse immédiate, calibrée, cohérente

Le score d'observation

75
/ 100
▲ Bon
☁ Nuages
39.6
👁 Visibilité
22.0
💧 Humidité
7.8
🌙 Lune
10.0
0–44 ✕ Mauvais 45–64 ◆ Moyen 65–81 ▲ Bon 82+ ✦ Excellent

Facteur Nuages

55 %

du score total

contribution = (100 − C) × 0.55

C = couverture nuageuse en %. Fournie par l'API météo.
0 = ciel dégagé · 100 = totalement couvert.

⊿  Chaque +1 % de nuages soustrait −0.55 pt au score.

C = 0 % → +55 pts

C = 40 % → +33 pts

C = 100 % → 0 pt

Visibilité · Humidité

22 %

Visibilité

vis_pct = min(5 × V, 100)
contribution = vis_pct × 0.22

V en km. Normalisé à 20 km = 100 %.
Capte turbulence, aérosols, brume.

V = 10 km → vis_pct = 50 % → +11 pts
13 %

Humidité

contribution = (100 − H) × 0.13

H = humidité relative en %. Favorise la rosée sur l'optique et la turbulence atmosphérique.

H = 80 % → +2.6 pts

Facteur Lune

10 %
🌙
contribution = (1 − 0.6 × I) × 10

I = illumination lunaire de 0 (nouvelle lune) à 1 (pleine lune).
α = 0.6 : même la pleine lune s'atténue partiellement.

🌑

I = 0 → +10 pts

🌕

I = 1 → +4 pts

Effet physique : pleine lune ≈ magnitude −12.7 → fond de ciel ≈ +1.5 mag plus lumineux.

La formule additive

S  =  (100 − C) × 0.55  +  min(5V, 100) × 0.22  +  (100 − H) × 0.13  +  (1 − 0.6·I) × 10
Nuages 55 % poids dominant
Visibilité 22 % normalisée 20 km
Humidité 13 % humidité relative
Lune 10 % illumination α=0.6

Appuyez sur Espace pour révéler chaque terme.

Exemple numérique

C = 20 % V = 12 km H = 60 % I = 0 (nouvelle lune)
1 ☁ Nuages (100−20)×0.55 = 80×0.55 = 44.0
2 👁 Visibilité min(5×12,100)×0.22 = 60×0.22 = 13.2
3 💧 Humidité (100−60)×0.13 = 40×0.13 = 5.2
4 🌑 Lune (1−0.6×0)×10 = 1×10 = 10.0
Score total 44.0 + 13.2 + 5.2 + 10.0 =  72.4  ▲ Bon

Vers une formule multiplicative

⚠ Limite de la formule additive — ciel 100 % bouché, mais bonne visibilité :

C=100 %, V=15 km, H=40 %, I=0 → Score = 0×0.55 + 16.5 + 7.8 + 10 = 34 ≠ 0 !

S  =  fCloud  ×  fVis  ×  (fHum + fMoon) / 2  × 100
fCloud (100−C)/100 0 si 100 % nuages
fVis min(5V,100)/100 0 si visibilité nulle
(fHum + fMoon)/2 moyenne des pénalités douces fHum=1−H/200 ∈ [0.5,1] · fMoon=1−0.6×I ∈ [0.4,1] · combiné ∈ [0.45, 1.0]

ou Espace facteur par facteur

▶ BLOQUANTS DURS — si = 0, le score entier = 0 ▶ MODULATIONS DOUCES — réduisent le score, ne peuvent pas l'annuler seuls 0 0.25 0.5 0.75 1.0 f_Cloud (100−C)/100 C=0 → f=1.0 C=50 → f=0.5 C=100 → f=0.0 ! 0 peut = 0 annule tout f_Vis min(5V,100)/100 V≥20km → f=1.0 V=10km → f=0.5 V=0km → f=0.0 ! 0 peut = 0 annule tout f_Hum 1 − H/200 H=0 → f=1.0 H=50 → f=0.75 H=100 → f=0.5 min inaccessible min = 0.5 ∈ [0.5, 1.0] jamais nul f_Moon 1 − 0.6×I I=0 → f=1.0 I=0.5 → f=0.7 I=1 → f=0.4 min inaccessible min = 0.4 ∈ [0.4, 1.0] jamais nul

✓ fCloud = 0 ou fVis = 0 → score nul (bloquants durs).

La moyenne (fHum+fMoon)/2 ∈ [0.45, 1.0] : module le score, ne peut jamais l'annuler seule.

Cliquez sur les boutons dans la légende ou le diagramme pour détailler chaque facteur.

Exemple numérique cas critique

C = 100 % V = 15 km H = 40 % I = 0 (nouvelle lune)
1 ☁ fCloud (100−100)/100 = 0/100 = 0
2 👁 fVis min(5×15,100)/100 = 75/100 = 0.75
3 💧 fHum 1−40/200 = 1−0.20 = 0.80
4 🌑 fMoon (1−0.6×0) = 1.00
Score total 0 × 0.75 × (0.80+1.00)/2 × 100 = 0 × 0.75 × 0.90 × 100 =  0  ✗ Ciel bouché → Score 0

Même conditions, formule additive (slide précédente + vis/hum) : 0 + 16.5 + 7.8 + 10 = 34.3 — ciel bouché mais score ≠ 0 ✗
Formule multiplicative : si fCloud = 0, le score est garanti nul, quelle que soit la météo restante. ✓

Calculateur météo

Σ poids — score 0–100
0 %
20 %
100 %
0 km
15 km
40 km
0 %
55 %
100 %
🌑 0
0.1
1 🌕
👁
💧
🌙

Calibration des poids

Les poids 55/22/13/10 sont-ils optimaux ?

📊

Données historiques

Soirs d'observation réels + météo associée

⚙️

Régression logistique

y = "ai-je observé ce soir ?"

🔒

Contrainte monotone

Plus de nuages = toujours moins bon

Poids calibrés

Optimaux pour le profil d'usage

Les poids sont appris sur les données passées. La contrainte de monotonicité garantit que le modèle reste physiquement cohérent — plus de nuages ne peut jamais améliorer le score.

📖 Pour aller plus loin — La régression logistique permet de prédire une probabilité via une fonction sigmoïde (non linéaire). Son frein : les données doivent être linéairement séparables pour être distinguées. Lorsque ce n'est pas le cas, les SVM à noyau et les réseaux de neurones permettent de tracer des frontières non linéaires plus complexes. Avec plus de données, ils pourraient capturer des interactions (ex : humidité + vent nocturne → turbulence atmosphérique).

02

Les aurores boréales
seront-elles visibles ?

Une probabilité 0–100 % basée sur 5 facteurs contextuels.
Kp, latitude et conditions locales combinés.

🌞 Indice Kp 📍 Latitude ☁ Nuages 🌃 Nuit 🌙 Lune

Durée estimée : ~ 4 min

02 — Estimateur OVATION

Les aurores boréales

« Un ami publie des photos d'aurores depuis la Finlande…
Pourquoi moi je ne vois rien depuis la France ? »

Deux facteurs clés

  • Activité magnétique solaire → indice Kp
  • Latitude géographique → distance à l'ovale auroral

Deux facteurs observatoires

  • Nuages → transparence du ciel
  • Nuit / Lune → contraste visuel nécessaire

L'indice Kp

Mesure globale de l'activité géomagnétique (0–9). Mis à jour toutes les 3 heures par le NOAA.

0–2
3
4
5
6
7
8
9

Kp 0–2

Calme

Aurores ≥ 65°N (Laponie)

Kp 5–6

Tempête modérée

Aurores ≥ 55°N (Écosse)

Kp 8–9

Tempête forte

Aurores ≥ 45°N (France !)

fKp : réponse de l'ovale à l'activité

0 2 3 5 8 9 0 0.2 0.5 1.0 Indice Kp f_Kp Calme Modéré Tempête
Kp < 3 → f = 0 3 ≤ Kp ≤ 8 → rampe 0.2 → 1.0 Kp ≥ 8 → f = 1.0

Latitude & Kp : deux facteurs liés

L'ovale auroral descend en latitude quand Kp monte :
lat_seuil ≈ 71° − 3.2 × Kp  →  Kp_min(lat) = (71 − lat) / 3.2

Latitude Région Kp minimum Difficulté d'accès
65°Laponie, Islande Kp ≥ 1.9
60°Helsinki, Oslo Kp ≥ 3.4
55°Copenhague, Édimbourg Kp ≥ 5.0
50°Londres, Bruxelles Kp ≥ 6.6
48° Paris, Strasbourg ← ici Kp ≥ 7.2
45°Nice, Turin Kp ≥ 8.1

Au-delà du seuil, la visibilité monte progressivement : f_KpLat = max(0, min(1, (Kp − Kp_min) / 3))
À Paris avec Kp = 9 : f_KpLat = (9−7.2)/3 = 0.6060 % de probabilité (ovale en limite sud).

Nuages · Nuit · Lune

☁ fNuages

f = 1 − cloud / 100

Linéaire. 0 % nuages → f=1, 100 % → f=0.
Même principe que le score météo.

🌃 fNuit

Soleil < −12° → 1.0
−12° à −6° → 0.5
Soleil visible → 0.0

Nuit astronomique requise pour voir les aurores faibles.

🌙 fLune

Nouvelle lune → 1.0
Pleine lune → 0.35
Croissant → ~0.70

La pleine lune masque les aurores faibles par diffusion lumineuse.

Les 5 facteurs sont multiplicatifs : si un facteur = 0, la probabilité finale = 0 quel que soit Kp.

La formule multiplicative

P = fKpLat × fNuages × fNuit × fLune

fKpLat remplace l'ancien fKp × fLat fixe. Il est nul si Kp < Kp_min(lat), puis monte de 0 à 1 sur 3 points Kp — capturant que l'ovale descend physiquement avec Kp.

Kp=5, Paris (48°), conditions parfaites

f_KpLat = max(0, (5−7.2)/3) = 0
P = 0 % — ovale trop haut

Kp=9, Paris (48°), conditions parfaites

f_KpLat = (9−7.2)/3 = 0.60
P = 60 % — visible mai 2024

Pourquoi un produit ? — Chaque facteur est une condition nécessaire. Si vous êtes de jour (fNuit = 0), aucun Kp ne sauvera le résultat. Logique ET : un facteur nul annule tout.

Appuyez sur Espace pour révéler chaque facteur.

Finlande 🇫🇮  vs  France 🇫🇷 — même Kp = 7

🇫🇮

Finlande

Lat 65° · Kp 7 · Ciel dégagé · Nuit

0 %
Kp_min(65°) = 1.9 · f_KpLat = 1.00
Probabilité : certaine
vs
🇫🇷

France

Lat 48° · Kp 7 · Ciel dégagé · Nuit

0 %
Kp_min(48°) = 7.2 · seuil non atteint (7 < 7.2)
f_KpLat = 0 → Probabilité : nulle

Même Kp, mêmes conditions météo : Finlande 100 % — France 0 %. À Kp = 7, le seuil français (Kp ≥ 7.2) n'est pas atteint : l'ovale reste trop haut. Il faut Kp ≥ 9 pour que la France atteigne ~ 60 % — l'ovale est en limite sud, aurore visible mais non garantie.

Calculateur OVATION

0
5.0
9
35°
48°
75°
0 %
20 %
100 %
Jour
Nuit sombre
Nuit
🌑
Nouvelle lune
🌕
%
fKp fLat fCloud fNight fMoon
03

13 000 objets du ciel
décrits automatiquement

Une pipeline IA ancrée dans des données vérifiées.
Zéro hallucination, 100 % traçabilité.

📚 Catalogue 🔭 SIMBAD 📰 Wikipedia 🤖 Groq LLM

Durée estimée : ~ 6 min

03 — Description automatique

13 000 objets du ciel

13 000

objets NGC / IC dans la base Orbitalis

« Décrire chaque objet à la main : 100+ heures.
Laisser l'IA inventer : risque de hallucination. »

Solution : LLM + RAG — le modèle ne parlera que de ce qu'il peut vérifier.

Trois approches

Approche Avantages Inconvénients Échelle
✏ Manuel Précis, vérifié ~100 h de rédaction ✕ Impossible
🤖 LLM seul Rapide, 13 000 objets Hallucinations (distances, noms) ⚠ Risqué
✦ LLM + RAG Rapide et ancré Pipeline plus complexe ✓ Optimal

Le problème des hallucinations

SANS RAG

M42, la nébuleuse d'Orion, est située à environ 1 500 années-lumière de la Terre.

⚠  Valeur inventée par le modèle — non tracée. La vraie distance est 1 344 al.

AVEC RAG

M42, la nébuleuse d'Orion, est située à 1 344 années-lumière de la Terre, d'après le catalogue SIMBAD.

✓  Valeur extraite de SIMBAD — traçable jusqu'à sa source.

Les LLM "complètent" le texte de manière plausible. Sans ancrage dans des données fiables, ils inventent des faits vraisemblables.

RAG — Retrieval Augmented Generation

R
🔍
Retrieval

Recherche de faits vérifiés dans des sources fiables

A
📎
Augmented

Les faits sont injectés dans le prompt du LLM

G
Generation

Le LLM rédige une description
basée uniquement sur ces faits

Le LLM n'invente plus des faits : il les reformule depuis des données vérifiées.

La pipeline technique

🖥
Frontend Vue.js
Utilisateur demande la description de M42
Backend FastAPI
Reçoit la requête · appelle gallery_groq_service
📚
Cascade de Retrieval
Catalogue local → Alias → SIMBAD → Wikipedia
🤖
Groq LLM (mixtral-8x7b)
Prompt construit avec les faits injectés
💾
Base de données SQLite
Description stockée pour les accès futurs
Réponse utilisateur
Description affichée dans Orbitalis

La cascade de retrieval

1
Catalogue local
Données NGC/IC pré-chargées en base SQLite
→ Hit si objet connu
2
Dictionnaire d'alias
M42 → NGC 1976 · M31 → NGC 224, etc.
→ Résolution du nom
3
SIMBAD TAP API
Base astronomique CDS Strasbourg
→ Distance, type, coordonnées
4
Wikipedia API
Extrait des 2 premiers paragraphes de l'article
→ Description textuelle
5
Fallback générique
Pour les objets sans données connues
→ Description minimale

Chaque niveau est tenté dans l'ordre. On s'arrête dès qu'on a assez de données pour alimenter le LLM.

Construction du prompt

🔒 Rôle de l'IA — fixe, écrit une fois
Tu es un expert en astronomie. Génère des descriptions scientifiques en français, 4-5 phrases, claires pour des amateurs.
N'invente aucune donnée. Utilise uniquement ce qui est fourni.
📎 Contexte injecté par le RAG — dynamique, récupéré automatiquement
• Catalogue : M42 / NGC 1976, nébuleuse HII, Orion, mag 4.0, 1 344 al, 65×60′
• SIMBAD : distance 412 pc, vitesse radiale +27 km/s
• Wikipedia : “Le Trapèze (θ¹ Ori C) ionise le gaz par rayonnement UV…
👤 Requête utilisateur — dynamique
Génère une description pour M42 — Nébuleuse d'Orion.
🔒 Rôle fixe 📎 Contexte RAG 👤 Requête

Démonstration en direct

Catalogue
Alias
SIMBAD
Wikipedia
LLM
Stockage

Sortie annotée

🗂 Catalogue local
M42 / NGC 1976
Type : nébuleuse HII
Constellation : Orion
Magnitude : 4.0
Dimensions : 65′×60′
🔭 SIMBAD TAP
Distance : 1 344 al (412 pc)
Vit. radiale : +27 km/s
Coord. : 05h35m17s −05°23′
Classe spectrale : O7V
📰 Wikipedia
Le Trapèze (θ¹ Ori C)
ionise le gaz par UV
Région de formation stellaire
Plus proche région active connue
La nébuleuse d'Orion (M42, NGC 1976) est une région de formation d'étoiles située à environ 1 344 années-lumière dans la constellation d'Orion.
D'un diamètre apparent de 65 × 60 minutes d'arc, elle est l'une des nébuleuses en émission les plus brillantes du ciel nocturne, avec une magnitude de 4.0.
Elle abrite le Trapèze (θ¹ Ori C), dont le rayonnement UV ionise le gaz ; la distance précise de 412 pc a été mesurée par parallaxe.
Catalogue local SIMBAD TAP Wikipedia → survoler pour voir la source

Les fonctions cachées du site…

Score météo

Formule additive sur 4 facteurs. Poids calibrés par régression logistique avec contrainte de monotonicité.

0 – 100
🌌

Estimateur OVATION

Formule × Kp × Lat × Nuages × Nuit × Lune. La latitude est le facteur limitant en France.

Probabilité %
🔭

LLM + RAG

Cascade Catalogue→SIMBAD→Wikipedia + LLM ancré. Descriptions vérifiées pour 13 000 objets.

Sans hallucination

Tout est accessible sur orbitalis.fr — ouvert, documenté, en production.

En production

🌐 En ligne

orbitalis.fr

🤝 Open source

Code documenté, contributions bienvenues

Questions ?

← Utilisez les flèches pour revoir une section