📍 45.59°N 🌕 --% 💡 -- 📡 …
🎯 Cibles
📈 Courbes
🗓️ Planification
⚙️ Config
ℹ️ Infos
FENÊTRE DE LA NUIT
--:--:--
--
TSL local
--h--m
🌕
--
--
--%
Ce soir 📅
--h--
--h-- --h--
Fais glisser le curseur pour parcourir la nuit
Tous
🌹 Nébuleuses
🌀 Galaxies
Amas
💛 Planét.
💥 SNR
🔴 Sh2
🪐 Planètes
Accessibles
Double bande
Anti-pollution
🌱 Printemps
☀️ Été
🍂 Automne
❄️ Hiver
⭐ 1
⭐⭐ 2
⭐⭐⭐ 3
⭐⭐⭐⭐ 4
⭐⭐⭐⭐⭐ 5
ZOOM:
Ce soir 📅
— même filtre que Cibles —
Tous
🌹 Nébuleuses
🌀 Galaxies
Amas
💛 Planét.
💥 SNR
🔴 Sh2
🪐 Planètes
Accessibles
Double bande
Anti-pollution
🌱 Printemps
☀️ Été
🍂 Automne
❄️ Hiver
⭐ 1
⭐⭐ 2
⭐⭐⭐ 3
⭐⭐⭐⭐ 4
⭐⭐⭐⭐⭐ 5
Courbes :
⟵ glisser le graphe pour naviguer · appui = détails · ⛶ plein écran
📂 Profil du site
Charger un profil
Importer un fichier .json de configuration de site
Sauvegarder le profil
Exporter les paramètres actuels en .json
Géolocaliser
Détecter automatiquement votre position GPS
📍 Localisation
Rechercher un lieu
Met à jour le nom du site + les coordonnées GPS via OpenStreetMap
Important : la recherche de lieu change seulement le nom et les coordonnées. Elle ne remplit pas automatiquement l'horizon, les obstacles de balcon ni l'éclairage local. Pour retrouver un site complet calibré, utilise 📥 Charger avec un profil JSON.
Nom du site
Ex : Mon observatoire, Balcon Paris
Latitude
degrés N
Longitude
degrés E
GPS auto
Non détecté
🔭 Optique
Focale (mm)
ex: 450 mm
Capteur
ex: APS-C
🧭 Contrainte d'horizon
Contrainte d'horizon active
Activez si un obstacle limite la hauteur max visible
Avec contrainte : balcon sous un étage, toit, mur, arbre  |  Sans contrainte : jardin ouvert, terrasse, observatoire
Orientation principale (°)
Pointer la boussole vers le centre de votre champ dégagé
N=0° · E=90° · S=180° · O=270°
Azimut min (°)
Bord gauche visible
Azimut max (°)
Bord droit visible
Hauteur min (°)
Horizon/bâtiments
Hauteur max (°)
Obstacle supérieur à cet azimut
Az référence (°)
Az de l'objet bloqué
Az direction obstacle (°)
Direction de l'obstacle supérieur
🌃 Éclairage local
Mode d'éclairage
Éclairage public / urbain au niveau de votre site
Libellé
Nom affiché dans les courbes
Extinction (heure locale)
Heure d'extinction des lumières
Rallumage (heure locale)
Heure de rallumage des lumières
🎛️ Familles de filtres
Neutre / sans filtre
Ex. sans filtre, UV/IR cut, filtre L
Anti-pollution
Ex. L-Pro, IDAS LPS, Antlia broadband / light-pollution
Double bande
Ex. L-eXtreme, ALP-T, NBZ, D1/D2
Bande étroite
Ex. Hα, OIII, SII
📊 Catalogue
Meilleurs objets à afficher
… objets dans le catalogue

🚀 Guide de configuration

Suivez ces étapes pour configurer SkyFrame pour votre site d'observation.

Étape 1 — Localisation GPS
Dans ⚙️ Config › Localisation, utilisez le bouton 📍 Localiser ou la recherche de ville pour renseigner vos coordonnées GPS.
Ou saisissez manuellement latitude et longitude.
Étape 2 — Orientation avec une boussole
Sortez sur votre site d'observation avec une boussole (ou l'app boussole de votre téléphone).

N=0° · E=90° · S=180° · O=270°

• Pointez vers le centre de votre champ dégagé → notez l'angle → Orientation principale
• Pointez vers le bord gauche de votre champ → azMin
• Pointez vers le bord droit de votre champ → azMax

Exemple vue SUD : orientation=155°, azMin=70°, azMax=240°
Exemple balcon EST : orientation=95°, azMin=30°, azMax=160°
Étape 3 — Hauteur minimale
Réglez altMin = la hauteur en dessous de laquelle vous ne shootez pas.
Recommandé : 30-35° en site urbain, 20° en site rural dégagé.
Plus l'altMin est bas, plus d'objets seront accessibles.
Étape 4 — Obstacles de bord (optionnel)
Si un obstacle (toit, balcon, arbre) bloque une partie du ciel au-delà d'une certaine hauteur :

azBord = azimut de l'obstacle (boussole)
kBord = coefficient de hauteur (calibrer par observation)

Pour calibrer kBord : notez l'heure à laquelle un objet connu disparaît derrière l'obstacle, relevez son altitude et azimut dans l'app, puis calculez :
kBord = tan(altitude) × |cos(az − azBord)|
Étape 5 — Éclairage local
Dans ⚙️ Config › Éclairage local, choisissez le mode :
Aucun — site rural, pas d'éclairage public
Toute la nuit — site urbain
Extinction nocturne — commune avec extinction programmée (ex: 22h30–6h00)
Étape 6 — Sauvegarder votre profil
Une fois configuré, cliquez sur 📤 Sauvegarder dans ⚙️ Config › Profil du site.
Cela génère un fichier skyframe-profile.json que vous pouvez recharger à tout moment via 📥 Charger.

Vous pouvez aussi placer ce fichier dans profiles/default.json pour qu'il soit chargé automatiquement.

Comprendre les paramètres du site

Ce schéma explique visuellement à quoi correspondent les paramètres de configuration de votre site d'observation.

Le schéma montre le principe général : EST n'est qu'un exemple. Votre site peut être orienté vers l'EST, le SUD, l'OUEST ou ailleurs.
SkyFrame — Comprendre l'orientation et l'horizon L'idée clé : EST n'est qu'un exemple. Vous pouvez configurer un balcon, une terrasse, un jardin ou une vue SUD/OUEST. Méthode boussole — les 3 mesures de départ 1. Pointez la boussole vers le centre du champ dégagé → Orientation principale (azCenter) 2. Pointez vers le bord gauche → azMin · 3. Pointez vers le bord droit → azMax Vue du dessus Azimuts : N=0° · E=90° · S=180° · O=270° N S E O 180° 90° 270° vous azMin azMax azCenter centre du champ azBord obstacle principal Exemple 1 — Balcon orienté EST • Orientation principale : 95° • Champ visible : 30° → 160° • Vue majoritairement ouverte vers l'EST EST est un cas fréquent, mais pas obligatoire. Exemple 2 — Vue orientée SUD • Orientation principale : 155° • Champ visible : 70° → 240° • Le champ est ouvert vers le SUD, pas vers l'EST SkyFrame doit fonctionner dans les deux cas. Vue de côté Altitudes : altMin + obstacle supérieur éventuel vous zone encore exploitable altMin obstacle supérieur balcon, toit, mur, arbre... Horizon = 0° azBord / kBord décrivent l'obstacle principal azBordEst / kBordEst décrivent un second obstacle si besoin S'il n'y a pas d'obstacle : désactive simplement la contrainte d'horizon. À retenir Orientation principale = le centre de votre champ dégagé, mesuré à la boussole. azMin / azMax = les deux bords du ciel réellement visible. azBord / kBord = obstacle supérieur si un toit ou un balcon coupe le ciel. Le but n'est pas d'être orienté EST : le but est de décrire correctement votre propre site.

Guide des paramètres

Localisation
lat / lon — Coordonnées GPS de votre site. Utilisées pour calculer la position des objets dans le ciel.
Champ azimutal (vue du dessus)
azMin / azMax — Limites gauche et droite de votre champ de vision horizontal (en degrés depuis le Nord, sens horaire). Ex : azMin=30°, azMax=160° pour un balcon orienté EST ; azMin=70°, azMax=240° pour une vue SUD.
💡 0°=Nord, 90°=Est, 180°=Sud, 270°=Ouest
Méthode boussole — trouver azMin / azMax / azCenter
Utilisez une boussole (ou l'app boussole de votre téléphone) depuis votre point d'observation.

Orientation principale (azCenter) — Pointez vers le centre de votre champ dégagé. Ce cap est votre orientation principale.
azMin — Pointez vers le bord gauche visible (plus petit azimut, plus proche du Nord).
azMax — Pointez vers le bord droit visible (plus grand azimut, plus proche de l'Ouest).

Exemples :
  • Balcon EST : azCenter=95°, azMin=30°, azMax=160°
  • Vue SUD : azCenter=155°, azMin=70°, azMax=240°
  • Vue SSO : azCenter=210°, azMin=150°, azMax=270°
💡 0°=Nord, 90°=Est, 180°=Sud, 270°=Ouest — même convention qu'une boussole standard.
Altitude minimale
altMin — Hauteur minimale utile au-dessus de l'horizon. En dessous, la turbulence atmosphérique dégrade trop les images. Recommandé : 30-35° en site urbain, 20° en site rural.
Contrainte d'horizon (obstacle supérieur)
kBord / azBord — Modélise un obstacle qui bloque la vue au-dessus d'un certain angle (balcon du dessus, toit, mur).
kBord = tangente de la hauteur angulaire de l'obstacle dans sa direction principale.
azBord = direction (azimut) perpendiculaire à l'obstacle.
💡 Calibrage : notez l'heure exacte où un objet disparaît derrière l'obstacle, calculez son Alt et Az à ce moment. kBord = tan(Alt) × |cos(Az - azBord)|
Si votre site n'a pas d'obstacle supérieur (jardin, terrasse ouverte) : désactivez la contrainte d'horizon.

📂 Système de profil de site

Comment configurer votre site
SkyFrame utilise un fichier profiles/default.json pour charger automatiquement votre configuration au démarrage.
Si ce fichier n'existe pas, les valeurs par défaut sont utilisées.
Vous pouvez aussi importer/exporter votre profil depuis les paramètres.
Format du fichier JSON (v2)
{
  "name": "Mon site",
  "site": { "lat": 48.8566, "lon": 2.3522 },
  "instrument": { "focal": 450, "sensor": "apsc" },
  "horizon": {
    "enabled": false,
    "azMin": 0, "azMax": 360, "altMin": 20,
    "azBord": 0, "kBord": 0,
    "azBordEst": 90, "kBordEst": 0
  },
  "lighting": {
    "mode": "none",
    "offTime": "22:30",
    "onTime": "06:00",
    "label": "Éclairage public"
  },
  "filters": { "available": ["neutral", "lightpollution", "dualband"] }
}
🎛️ Familles de filtres
SkyFrame classe les filtres par famille d'usage plutôt que par marque, pour rester générique et open source.

Neutre / sans filtre — continuum sans filtrage sélectif fort. Exemples : sans filtre, UV/IR cut, filtre L.
Anti-pollution — filtres large bande utiles sous ciel pollué. Exemples : Optolong L-Pro, IDAS LPS, Antlia broadband / light-pollution.
Double bande — filtres de type Hα/OIII pour nébuleuses en émission. Exemples : L-eXtreme, ALP-T, NBZ, D1/D2.
Bande étroite — filtres spécialisés Hα, OIII, SII pour imagerie narrowband dédiée.

💡 Un filtre Antlia large bande utile sous pollution lumineuse entre dans la famille Anti-pollution, pas dans “sans filtre”.
Bloc lighting — éclairage local
Ce bloc décrit l'éclairage public ou urbain autour de votre site. Il influence l'affichage de la zone "lumières éteintes" dans les Courbes et le calcul des créneaux optimaux.

mode — comportement de l'éclairage :
  • none — aucun éclairage local (site rural, ciel non pollué par des lumières proches)
  • always_on — éclairage présent toute la nuit (ville, zone urbaine dense)
  • night_off — extinction nocturne entre offTime et onTime (éclairage public à extinction programmée)

offTime / onTime — heures locales d'extinction et de rallumage (format HH:MM), utilisées uniquement en mode night_off.
label — texte affiché dans le graphique Courbes pour identifier la zone.

💡 Ces réglages sont disponibles dans ⚙️ Config › Éclairage local.
Import / Export du profil
Les boutons 📥 Charger et 📤 Sauvegarder se trouvent dans ⚙️ Config › Profil du site.
La recherche de lieu sert à remplir rapidement le nom du site et les coordonnées GPS, mais elle ne reconstitue pas à elle seule un site calibré complet (horizon, obstacles, éclairage, filtres).
L'export génère un fichier skyframe-profile.json au nouveau format structuré, incluant tous les blocs ci-dessus.

Familles de filtres :
  • Neutre / sans filtre — sans filtre, UV/IR cut, filtre L
  • Anti-pollution — Optolong L-Pro, IDAS LPS, Antlia broadband / light-pollution
  • Double bande — L-eXtreme, ALP-T, NBZ, D1/D2
  • Bande étroite — Hα, OIII, SII

SkyFrame affiche des familles génériques pour rester indépendant des marques. Les noms commerciaux ne sont donnés qu'à titre d'exemple.

⚖️ Open source & licence

Code source public
SkyFrame est publié en GNU AGPL v3.0 ou ultérieure.
Dépôt source : github.com/sparrowjack63/SkyFrame
Licence complète : LICENSE

Si vous exécutez une version modifiée de SkyFrame accessible à des utilisateurs via un réseau, vous devez leur fournir le code source correspondant.
Schéma — paramètres du site