OpenTrailPaper
LilyGO T5S3 4.7" E-Paper PRO용 오픈소스 자전거 컴퓨터 펌웨어, 오프라인 지도·GPX 경로·FIT 기록·블루투스 센서 지원
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Passerelle piétonne et écluse du bassin Morny en direct, marées et conditions de sortie bateau / kitesurf — Deauville-Trouville
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗➜ En ligne : https://pittilloni.github.io/creneau/
Bateau ou kitesurf à Deauville et sur la Côte Fleurie, et à Nouméa : savoir quand sortir (portes du bassin Morny, vent, vagues, marées, bouées, spots de kite). Anciennement « Port de Deauville » (dépôt deauville-passerelle-ecluse, l'ancienne adresse redirige ici).
Savoir en un coup d'œil, depuis son téléphone :
L'app est pensée pour un marin (profil Bateau) ou un pratiquant de glisse (profil Glisse : kite, windsurf, windfoil ou wingfoil, choisi dans l'en-tête avec le poids et le matériel). Chaque onglet de la barre du bas (Maintenant, Prévisions, Conseils, Calendrier, les mêmes dans les deux profils) est un écran à part. Les notes disent partout Favorable / Prudence / Déconseillé.
Bateau
Kitesurf
SPOTS dans index.html) ;⚠️ Horaires théoriques. Toujours confirmer avant une manœuvre via le VHF canal 9 ou la cabine de l'écluse (06 98 71 83 92).
| Deauville (Côte Fleurie) | Nouméa | |
|---|---|---|
| Fuseau | Europe/Paris | Pacific/Noumea |
| Bateau | portes du bassin Morny (PDF officiel), passerelle piétonne, bouées Candhis | Port Moselle, pas d'écluse : « sorties possibles » sur les heures de jour |
| Glisse | Deauville, Trouville, Houlgate, Cabourg | Anse Vata (243°), Méridien (279°), Aquarêve (198°), Magenta (95°), Îlot Maître (110°, à confirmer), Port Moselle (265°, à confirmer) |
| Vagues | Météo-France MFWAM | ignorées (le modèle ne voit pas la barrière de corail) : note sur le vent seul |
| Marées | PDF Ports du Calvados / SHOM, avec coefficients | calculées sur la hauteur d'eau prévue (Open-Meteo), sans coefficient |
| Urgence | 196 (CROSS), VHF 16 | 16 (COSS NC), VHF 16 ; météo VHF 65/66 |
Une seule zone par téléphone : déduite du fuseau horaire (ZONES). Un téléphone réglé sur Nouméa ne voit que Nouméa, les autres que Deauville ; aucune localisation n'est demandée. Pour forcer : ouvrir le lien avec ?zone=nc, ?zone=dv, ou ?zone=toutes pour voir les deux (réglage gardé sur le téléphone).
Clubs : bouton « Rejoindre un club » de l'onglet Conseils (code = clé de CLUBS), ou lien d'invitation ?club=<id> (gardé sur le téléphone, ?club=aucun pour le retirer). Sur iPhone, le lien n'atteint pas l'app de l'écran d'accueil (stockage séparé de Safari) : passer par le bouton. Chaque club de CLUBS a une zone, des supports avec une consigne par niveau (max:{deb:[vent, rafales, vagues], conf:[…]} : au-delà, la note bateau plafonne à « Déconseillé », à 3 nd près à « Prudence » ; voilure conseillée seulement pour un keel, habitable), choisis via la pastille de l'en-tête (support, niveau). Le club a aussi un sigle et une couleur (short, color) pour le bandeau de l'en-tête, qui ouvre la fiche club (licence FFVoile, licence : numéro et année). Démo des cours : cours du club (semaine type), carte « Cours du club » dans l'onglet Calendrier, rappel « Votre prochain cours » dans Maintenant, inscriptions locales (inscriptions) et un contact prérempli dans la fiche de sortie. Seul l'exemple fictif ycp (Yacht Club des Planches, alias demo) existe : un vrai club n'est ajouté qu'avec son accord. Champs facultatifs : burgee (couleurs du guidon), info (lieu, accueil, mail, VHF), actus.
Fiche de sortie (« Je pars en mer », mode bateau) : envoyée par SMS ou partage, sortie en cours gardée sur le téléphone (sortie, préférences sortiePrefs) jusqu'à « Je suis rentré ». Pas de serveur : aucune alerte automatique si le retour n'est pas signalé.
Tout est dans REGIONS, SPOTS et DESTS (index.html). Le bouton « Ajouter votre spot / port » des listes ouvre un e-mail prérempli (requestPlace).
L'app demande un mot de passe à la première ouverture sur chaque appareil (à demander au propriétaire du projet). Le code ne contient que son empreinte SHA-256 (PASS_HASH dans index.html). Pour le changer : printf '%s' 'nouveau-mot-de-passe' | shasum -a 256, puis remplacer PASS_HASH. Attention : c'est un verrou d'interface, pas une vraie sécurité, le dépôt et les données restent publics.
Ouvrir le lien dans Safari → bouton Partager → « Sur l'écran d'accueil ». L'app s'ouvre en plein écran avec sa propre icône, et se met à jour toute seule (voir Publier une mise à jour).
Voir ROADMAP.md pour ce qui est fait et ce qui reste à faire, et CHANGELOG.md pour l'historique des versions.
| Donnée | Source | Comment |
|---|---|---|
| Horaires des portes Morny, marées, coefficients | PDF officiel « Port de Deauville-Trouville — Horaires de manœuvres 2026 », Ports du Calvados avec le SHOM (autorisation n° 2024-282) — lien | Extrait par tools/extraire-horaires.mjs, embarqué dans la page |
| Vent (force, rafales, direction) | Météo-France, modèles AROME / ARPEGE | API Open-Meteo en direct, sans clé |
| Vagues et houle | Météo-France, modèle de vagues MFWAM | API marine Open-Meteo |
| Lever / coucher du soleil | Open-Meteo | idem |
| Vent consolidé | Météo-France (compte double), ECMWF, ICON (DWD), UKMO (Met Office), GFS (NOAA) | Open-Meteo, un seul appel models=… ; médiane par heure (attachModels dans index.html) |
| Vagues mesurées (bouées 07609 et 07611) | Candhis — Port du Havre et Cerema, Licence Ouverte Etalab — candhis.cerema.fr | Page publique relevée toutes les 30 min par GitHub Actions (tools/bouees.py), publiée sur la branche donnees (bouees.json) |
Liens de vérification affichés sur la page : bulletin météo marine Météo-France, marées SHOM de Deauville.
CORRECTIONS dans index.html.Les seuils sont expliqués sur la page (« Comment est calculé… ») et réglés dans index.html (scoreBoat, scoreKite, BEACH_ONSHORE) :
SPORTS dans index.html), parmi le matériel coché du rider. Combinaison selon la température de l'eau (modèle de courants Météo-France).index.html la page (HTML + CSS + JS, aucune dépendance à installer)
manifest.webmanifest nom et icônes pour l'écran d'accueil
icons/ icône « La fenêtre » (SVG + PNG 180/192/512 + maskable 512)
docs/logo/ logo : kit, règles d'usage, pistes, présentation
version.json numéro de version en ligne, lu par la page pour se recharger
sw.js service worker minimal, sans cache (installation Android, page hors ligne)
tools/
extraire-horaires.mjs extraction du PDF officiel -> données JSON + contrôle des incohérences
publier-version.sh nouveau numéro de version avant chaque publication
logo-creneau.py génère le kit du logo (Geist en tracés, fonttools)
bouees.py relevé des bouées Candhis (lancé par .github/workflows/bouees.yml)
krea-generer.py génération des illustrations via l'API Krea (jeton dans ~/.config/krea/token)
annotations-kite.py annotations précises (vent, bord d'attaque, positions) et carrousels
tuto/ illustrations des tutos kite (décollage, atterrissage, water start)
docs/
DESIGN.md choix de design et d'ergonomie
krea-prompts.md prompts Krea des illustrations du tuto kite
Prérequis : Node 18+ et pdftotext (brew install poppler).
curl -L -o horaires.pdf "<lien du PDF Ports du Calvados>"
pdftotext -layout horaires.pdf horaires.txt
node tools/extraire-horaires.mjs horaires.txt > data.json # les anomalies s'affichent dans le terminal
Remplacer ensuite le contenu de const DATA = …; dans index.html par celui de data.json, adapter l'année (2026) dans le code, et reporter les anomalies détectées dans ANOMALIES.
sh tools/publier-version.sh # nouveau numéro dans index.html et version.json
git commit -am "…" && git push
GitHub Pages republie main en une minute environ. La page vérifie version.json à l'ouverture, au retour sur l'app et toutes les 5 minutes. Si la version a changé, elle se recharge avec une adresse neuve (?v=…), ce qui contourne le cache de GitHub Pages et celui de l'app écran d'accueil.
Une icône ajoutée à l'écran d'accueil avant le 17 octobre 2026 (11h) n'a pas ce mécanisme : il faut la supprimer et la rajouter une fois.
Projet indépendant, non affilié à Ports du Calvados, à la mairie de Deauville, au SHOM ni à Météo-France. Les prévisions ne remplacent pas le bulletin météo marine officiel.