2023-08-15 • Décollage 10:23:43 • 9m 56s • 5.84 km
vol
Frassette
Vol de 9m 56s depuis Frassette (décollage 10:23:43). Gain d’altitude 20 m, vitesse max 55.8 km/h.
Date de publication
15 août 2023
✈️ Résumé du vol
Le 2023-08-15, décollage à 10:23:43 depuis Frassette. Nicolas a volé 9m 56s avec sa voile Hook 5P, pour atterrir à Vionnaz. Vol caractérisé par un gain d’altitude de 20 m et une vitesse maximale de 55.8 km/h.
📊 Statistiques clés
Valeur
🛫 Décollage
10:23:43 (heure locale)
🛬 Atterrissage
10:33:39 (heure locale)
⏱️ Durée
10 min
📈 Distance totale
5.84 km
📏 Distance directe
2.54 km
🏔️ Alt. décollage
1355 m
🏔️ Alt. max
1355 m
🏔️ Alt. atterrissage
445 m
📊 Gain altitude
20 m
🚀 Vitesse max
55.8 km/h
⬆️ Taux montée max
1.8 m/s
⬇️ Taux chute max
5.8 m/s
📐 Finesse
2.9 :1
📡 Qualité GPS
100 %
🛰️ Alt. GPS max
1355 m
📈 Profil d’altitude
🏃 Vitesse au sol
⬆️⬇️ Montées et chutes
🗺️ Trace de vol
Vue d’ensemble
Carte interactive
🗺️ Carte interactive du vol
🥾 Hike & Fly
🚗 Accès direct en véhicule
💡 Pour ajouter des infos hike & fly, créer le fichier : doc/2023-08-15-XSD-ULT-01_hike.md
📖 Mon récit de vol
Petit vol sympa et ambiance famille
Quelle belle journée en groupe ! Jean-Da, Sam et famille, Gary et famille - cette ambiance familiale donne une dimension particulièrement chaleureuse au vol. C’est toujours un plaisir de partager ces moments aériens avec les proches.
Mon atterrissage s’est très bien passé - tout était parfaitement maîtrisé. Ces vols en groupe ont quelque chose de rassurant et de convivial. Bien du plaisir dans cette sortie où la technique s’accompagne de moments de partage authentiques.
📸 Photos du vol
Galerie
2023-08-15-XSD-ULT-01_1
2023-08-15-XSD-ULT-01_2
📡 Informations techniques (IGC)
Qualité des données GPS
Validité GPS: 100% des points validés
Sources d’altitude: GPS pour affichage, barométrique pour calculs de vario
Altitude GPS max: 1355 m
Métadonnées automatiques
Ce vol a été traité depuis un fichier IGC avec extraction automatique des métadonnées (pilote, parapente, date).
Vol enregistré avec Ultrabip - Analysé automatiquement Template optimisé avec Claude
Code source
---title: "Frassette"subtitle: "2023-08-15 • Décollage 10:23:43 • 9m 56s • 5.84 km"date: "2023-08-15"categories: ["vol", "Frassette"]description: "Vol de 9m 56s depuis Frassette (décollage 10:23:43). Gain d'altitude 20 m, vitesse max 55.8 km/h."---```{r setup, include=FALSE}knitr::opts_chunk$set(echo =FALSE, warning =FALSE, message =FALSE)library(jsonlite)library(DT)# Chargement des données du voldb <-fromJSON("../../data/processed/flights.json", simplifyVector =FALSE)flight <- db$flights[sapply(db$flights, function(f) f$id =="2023-08-15-XSD-ULT-01")][[1]]```## ✈️ Résumé du volLe **2023-08-15**, décollage à **10:23:43** depuis **Frassette**. **Nicolas** a volé **9m 56s** avec sa voile **Hook 5P**, pour atterrir à **Vionnaz**. Vol caractérisé par un gain d'altitude de **20 m** et une vitesse maximale de **55.8 km/h**.```{r conditions, results='asis'}# Affichage des conditions si renseignéesconditions <-""if (!is.null(conditions) && conditions !=""&&!is.na(conditions) && conditions !=""&& conditions !="NA") {cat("### 🌤️ Conditions\n")cat(conditions, "\n\n")}```## 📊 Statistiques clés```{r stats-summary}# Tableau simple des stats principalesstats_data <-data.frame("🛫 Décollage"=paste(flight$takeoff_time, "(heure locale)"),"🛬 Atterrissage"=paste(flight$landing_time, "(heure locale)"),"⏱️ Durée"=paste(round(flight$duration_minutes), "min"),"📈 Distance totale"=paste(flight$total_distance_km, "km"),"📏 Distance directe"=paste(flight$straight_distance_km, "km"),"🏔️ Alt. décollage"=paste(flight$takeoff_coords$elevation, "m"),"🏔️ Alt. max"=paste(flight$max_elevation, "m"),"🏔️ Alt. atterrissage"=paste(flight$landing_coords$elevation, "m"),"📊 Gain altitude"=paste(flight$elevation_gain_total, "m"),"🚀 Vitesse max"=paste(flight$max_speed_kmh, "km/h"),"⬆️ Taux montée max"=paste(flight$max_climb_rate, "m/s"),"⬇️ Taux chute max"=paste(flight$max_sink_rate, "m/s"),"📐 Finesse"=ifelse(is.null(flight$glide_ratio) ||is.na(flight$glide_ratio) ||length(flight$glide_ratio) ==0, "N/A", paste(flight$glide_ratio, ":1")),check.names =FALSE)# Nouvelles métriques IGC si disponibles (avec vérification sécurisée)if (!is.null(flight$data_quality_percent) &&!is.na(flight$data_quality_percent) && flight$data_quality_percent !="") { stats_data[["📡 Qualité GPS"]] <-paste(flight$data_quality_percent, "%")}if (!is.null(flight$elevation_gps_available) &&isTRUE(flight$elevation_gps_available) &&!is.null(flight$max_elevation_gps) &&!is.na(flight$max_elevation_gps) && flight$max_elevation_gps !="") { stats_data[["🛰️ Alt. GPS max"]] <-paste(flight$max_elevation_gps, "m")}knitr::kable(t(stats_data), col.names ="Valeur",align ="c")```## 📈 Profil d'altitude::: {.flight-chart}:::## 🏃 Vitesse au sol ::: {.flight-chart}:::## ⬆️⬇️ Montées et chutes::: {.flight-chart}:::## 🗺️ Trace de vol### Vue d'ensemble::: {.flight-chart}:::### Carte interactive::: {.flight-map-container}::: {.map-header}**🗺️ Carte interactive du vol**::: {.map-controls}<button class="map-control-btn" onclick="toggleFullscreen('2023-08-15-XSD-ULT-01')">🔍 Plein écran</button><button class="map-control-btn" onclick="window.open('../../data/exports/2023-08-15-XSD-ULT-01/flight_map.html', '_blank')">🔗 Ouvrir</button>::::::::: {.flight-map-wrapper #flight-map-2023-08-15-XSD-ULT-01}```{r map, out.width="100%", out.height="400px", results='asis'}# Inclusion de la carte en tant que iframe pour éviter les conflicts HTMLmap_path <-file.path("../../data/exports", "2023-08-15-XSD-ULT-01", "flight_map.html")cat(sprintf('<iframe src="%s" width="100%%" height="400px" frameborder="0" style="border-radius: 6px;"></iframe>', map_path))```::::::```{js}functiontoggleFullscreen(flightId) {const mapWrapper =document.getElementById('flight-map-'+ flightId);const isFullscreen = mapWrapper.classList.contains('fullscreen');if (isFullscreen) {// Sortir du plein écran mapWrapper.classList.remove('fullscreen');const overlay =document.querySelector('.fullscreen-overlay');if (overlay) overlay.remove(); } else {// Entrer en plein écran mapWrapper.classList.add('fullscreen');// Ajouter un bouton de fermetureconst overlay =document.createElement('div'); overlay.className='fullscreen-overlay'; overlay.innerHTML='✕ Fermer'; overlay.onclick= () =>toggleFullscreen(flightId);document.body.appendChild(overlay); }}// Échapper avec la touche ESCdocument.addEventListener('keydown',function(e) {if (e.key==='Escape') {const mapWrapper =document.querySelector('.flight-map-wrapper.fullscreen');if (mapWrapper) {const flightId = mapWrapper.id.replace('flight-map-','');toggleFullscreen(flightId); } }});```## 🥾 Hike & Fly```{r hike-info, results='asis'}# Recherche d'un fichier hike & flyhike_file <-file.path("../../doc", paste0("2023-08-15-XSD-ULT-01", "_hike.md"))if (file.exists(hike_file)) {# Lecture et affichage des infos hike hike_content <-readLines(hike_file, warn =FALSE)cat(paste(hike_content, collapse ="\n"))} else {cat("🚗 *Accès direct en véhicule*\n\n")cat("💡 Pour ajouter des infos hike & fly, créer le fichier : `doc/2023-08-15-XSD-ULT-01_hike.md`")}```## 📖 Mon récit de vol```{r story, results='asis'}# Recherche d'un fichier récitstory_file <-file.path("../../doc", paste0("2023-08-15-XSD-ULT-01", ".md"))if (file.exists(story_file)) {# Lecture et affichage du récit story_content <-readLines(story_file, warn =FALSE)cat(paste(story_content, collapse ="\n"))} else {cat("*Pas de récit disponible pour ce vol.*\n\n")cat("💡 Pour ajouter un récit, créer le fichier : `doc/2023-08-15-XSD-ULT-01.md`")}```## 📸 Photos du vol```{r photos, results='asis'}# Recherche du dossier photosphotos_dir <-file.path("../../img", "2023-08-15-XSD-ULT-01")if (dir.exists(photos_dir)) {# Lister toutes les images image_files <-list.files( photos_dir, pattern ="\\.(jpg|jpeg|png|gif)$", ignore.case =TRUE,full.names =FALSE )if (length(image_files) >0) {cat("### Galerie\n\n")# Afficher chaque imagefor (img in image_files) { img_path <-file.path("../../img", "2023-08-15-XSD-ULT-01", img) img_name <- tools::file_path_sans_ext(img)cat(sprintf("\n\n", img_name, img_path)) } } else {cat("*Dossier photos vide.*") }} else {cat("*Pas de photos disponibles pour ce vol.*\n\n")cat("💡 Pour ajouter des photos, créer le dossier : `img/2023-08-15-XSD-ULT-01/`")}``````{r igc-info, results='asis'}# Affichage des infos techniques IGC si disponibles (avec vérifications)if (!is.null(flight$data_quality_percent) &&!is.na(flight$data_quality_percent) && flight$data_quality_percent !="") {cat("## 📡 Informations techniques (IGC)\n\n")cat("### Qualité des données GPS\n")cat(sprintf("- **Validité GPS**: %s%% des points validés\n", flight$data_quality_percent))if (!is.null(flight$elevation_gps_available) &&isTRUE(flight$elevation_gps_available)) {cat("- **Sources d'altitude**: GPS pour affichage, barométrique pour calculs de vario\n")if (!is.null(flight$max_elevation_gps) &&!is.na(flight$max_elevation_gps) && flight$max_elevation_gps !="") {cat(sprintf("- **Altitude GPS max**: %s m\n", flight$max_elevation_gps)) } } else {cat("- **Source d'altitude**: Barométrique uniquement (affichage + calculs)\n") }cat("\n### Métadonnées automatiques\n")cat("Ce vol a été traité depuis un fichier IGC avec extraction automatique des métadonnées (pilote, parapente, date).\n\n")}```---*Vol enregistré avec Ultrabip - Analysé automatiquement* *Template optimisé avec [Claude](https://claude.ai)*