24 files added
6 files modified
91 files deleted
changed files
.gitignore patch | view | blame | history
Glidr.md patch | view | blame | history
SPL Exam Questions DE/30 - Flugleistung und Flugplanung.md patch | view | blame | history
SPL Exam Questions DE/80 - Grundlagen des Fliegens.md patch | view | blame | history
SPL Exam Questions EN/30 - Flight Performance and Planning.md patch | view | blame | history
SPL Exam Questions EN/80 - Principles of Flight.md patch | view | blame | history
SPL Exam Questions FR/30 - Performances et planification du vol.md patch | view | blame | history
SPL Exam Questions FR/80 - Principes du vol.md patch | view | blame | history
SPL Exam Questions FR/figures/t10_q114 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t10_q70 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t10_q77 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t10_q88 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t10_q94 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t20_q103 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t20_q87 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t20_q90 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t20_q96 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q19 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q20 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q21 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q27 2.svg patch | view | blame | history
SPL Exam Questions FR/figures/t30_q28 2.svg patch | view | blame | history
SPL Exam Questions FR/figures/t30_q29 2.svg patch | view | blame | history
SPL Exam Questions FR/figures/t30_q36 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q40 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q41 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q44 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q46 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q47 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q57 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q58 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q59 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q61 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q62 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q63 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q68 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q69 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q72 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q75 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q77 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q80 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q81 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q82 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q83 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q88 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q91 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q92 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q93 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q94 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q95 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t30_q96 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t40_q111 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t40_q114 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t40_q48 2.svg patch | view | blame | history
SPL Exam Questions FR/figures/t40_q49 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q101 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q103 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q107 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q129 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q131 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q145 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q162 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q179 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q182 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q200 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q57 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q61 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q65 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q66 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q71 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q73 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q76 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q77 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q82 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q90 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q92 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t50_q93 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q153 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q161 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q164 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q167 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q171 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q46 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t60_q6 2.svg patch | view | blame | history
SPL Exam Questions FR/figures/t80_q102 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q111 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q112 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q113 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q123 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q129 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q132 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q150 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q151 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q152 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q66 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q75 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q87 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q90 2.png patch | view | blame | history
SPL Exam Questions FR/figures/t80_q95 2.png patch | view | blame | history
app/glidr patch | view | blame | history
articles/how-it-works.md patch | view | blame | history
articles/supermemo-wired.md patch | view | blame | history
business.md patch | view | blame | history
fix_explanation_formatting.py patch | view | blame | history
privacy.md patch | view | blame | history
screenshots/IMG_0737.PNG patch | view | blame | history
screenshots/IMG_0738.PNG patch | view | blame | history
screenshots/IMG_0739.PNG patch | view | blame | history
screenshots/IMG_0740.PNG patch | view | blame | history
screenshots/IMG_0741.PNG patch | view | blame | history
screenshots/IMG_0742.PNG patch | view | blame | history
screenshots/IMG_0743.PNG patch | view | blame | history
screenshots/ipad/ipad_home.png patch | view | blame | history
tasks/PRD-Glidr.md patch | view | blame | history
tasks/research-api-security.md patch | view | blame | history
tasks/research-content-analysis.md patch | view | blame | history
tasks/research-supermemo-sm2.md patch | view | blame | history
tasks/research-tech-stack.md patch | view | blame | history
tasks/restructure_explanations.py patch | view | blame | history
tasks/todo.md patch | view | blame | history
xcode_initial.png patch | view | blame | history
.gitignore
....@@ -0,0 +1,5 @@
1
+.DS_Store
2
+.obsidian
3
+__pycache__
4
+*.pyc
5
+
Glidr.md
....@@ -0,0 +1,6 @@
1
+---
2
+icloud-sync: true
3
+icloud-sync-exclude:
4
+ - "app/"
5
+---
6
+
SPL Exam Questions DE/30 - Flugleistung und Flugplanung.md
....@@ -592,20 +592,22 @@
592592
593593 ![ICAO Hindernis-Symbole](figures/t30_q27.svg)
594594
595
-- **A)** D
596
-- **B)** C
597
-- **C)** B
598
-- **D)** A
595
+- **A)** Einzelnes beleuchtetes Hindernis
596
+- **B)** Einzelnes unbeleuchtetes Hindernis
597
+- **C)** Gruppe beleuchteter Hindernisse
598
+- **D)** Gruppe unbeleuchteter Hindernisse
599599
600600 #### Antwort
601601
602
-B)
602
+D)
603603
604604 #### Erklärung
605605
606
-Die richtige Antwort ist B (Symbol C in der Abbildung), da die ICAO Annex 4-Kartensymbologie spezifische Symbole verwendet, um zwischen Einzelhindernissen und Gruppen sowie zwischen beleuchteten und unbeleuchteten Hindernissen zu unterscheiden. Das Symbol für eine Gruppe unbeleuchteter Hindernisse ist in der Referenzabbildung als C bezeichnet. Die Kenntnis dieser Symbole ist entscheidend für die Streckenplanung und Hindernisumgehung.
606
+Die richtige Antwort ist D, da die ICAO Annex 4-Kartensymbologie spezifische Symbole verwendet, um zwischen Einzelhindernissen und Gruppen sowie zwischen beleuchteten und unbeleuchteten Hindernissen zu unterscheiden. Das Symbol für eine Gruppe unbeleuchteter Hindernisse ist in der Abbildung als D dargestellt — zwei nebeneinander stehende gefüllte Kreise ohne Lichtstrahlen. Die Kenntnis dieser Symbole ist entscheidend für die Streckenplanung und Hindernisumgehung.
607607
608
-- **Option A** — A, C und D repräsentieren andere Hinderniskategorien wie Einzelhindernisse, beleuchtete Gruppen oder andere Typen.
608
+- **Option A** — stellt ein einzelnes beleuchtetes Hindernis dar (gefüllter Kreis mit Lichtstrahlen).
609
+- **Option B** — stellt ein einzelnes unbeleuchtetes Hindernis dar (gefüllter Kreis ohne Lichtstrahlen).
610
+- **Option C** — stellt eine Gruppe beleuchteter Hindernisse dar (zwei gefüllte Kreise mit Lichtstrahlen).
609611
610612 #### Begriffe
611613
....@@ -617,20 +619,22 @@
617619
618620 ![ICAO Flughafen-Symbole](figures/t30_q28.svg)
619621
620
-- A) C
621
-- B) A
622
-- C) B
623
-- D) D
622
+- **A)** Ziviler Flugplatz, befestigte Piste
623
+- **B)** Militärischer Flugplatz, befestigte Piste
624
+- **C)** Ziviler Flugplatz, unbefestigte Piste
625
+- **D)** Hubschrauberlandeplatz
624626
625627 #### Antwort
626628
627
-B)
629
+A)
628630
629631 #### Erklärung
630632
631
-Die richtige Antwort ist B (Symbol A in der Abbildung), da die ICAO-Luftfahrtkartensymbologie Flugplätze nach zivilem vs. militärischem Status, internationalem vs. inländischem Betrieb und befestigter vs. unbefestigter Piste unterscheidet. Ein ziviler inländischer Flugplatz mit befestigter Piste hat ein spezifisches Symbol, das in der -Anlage als A dargestellt ist. Segelflugpiloten verwenden diese Symbole bei der Planung von Außenlandefeldern oder Ausweichflugplätzen.
633
+Die richtige Antwort ist A, da die ICAO-Luftfahrtkartensymbologie Flugplätze nach zivilem vs. militärischem Status und Pistenbelag unterscheidet. Ein ziviler Flugplatz mit befestigter Piste wird als Symbol A in der Abbildung dargestellt — ein Kreis mit einem durchgehenden gefüllten Pistenbalken in der Mitte. Segelflugpiloten verwenden diese Symbole bei der Planung von Außenlandefeldern oder Ausweichflugplätzen.
632634
633
-- **Option A** — A, C und D repräsentieren andere Flugplatzkategorien wie internationale Flughäfen, Militärflugplätze oder Flugplätze mit Graspiste.
635
+- **Option B** — stellt einen militärischen Flugplatz mit befestigter Piste dar (Kreis mit Pistenbalken und Querbalken).
636
+- **Option C** — stellt einen zivilen Flugplatz mit unbefestigter Piste dar (Kreis mit offenem/umrissenem Pistenbalken).
637
+- **Option D** — stellt einen Hubschrauberlandeplatz dar (Quadrat mit H).
634638
635639 #### Begriffe
636640
....@@ -642,10 +646,10 @@
642646
643647 ![ICAO Geländepunkt-Symbole](figures/t30_q29.svg)
644648
645
-- A) C
646
-- B) B
647
-- C) A
648
-- D) D
649
+- **A)** Allgemeiner Geländepunkt
650
+- **B)** Höchster Geländepunkt auf der Karte
651
+- **C)** Berggipfel / Gipfelpunkt
652
+- **D)** Trigonometrischer Punkt
649653
650654 #### Antwort
651655
....@@ -653,9 +657,11 @@
653657
654658 #### Erklärung
655659
656
-Die richtige Antwort ist A (Symbol C in der Abbildung), da ICAO-Karten spezifische Symbole verwenden, um zwischen allgemeinen Geländepunkten, vermessenen Höhenpunkten und Hindernishöhen zu unterscheiden. Ein allgemeiner Geländepunkt markiert einen bemerkenswerten Geländehochpunkt für die Situationswahrnehmung und ist gemäß ICAO Annex 4-Standards dargestellt. Die Kenntnis dieser Symbole ist für die Geländefreiheitsplanung unerlässlich.
660
+Die richtige Antwort ist A, da ICAO-Karten spezifische Symbole verwenden, um zwischen allgemeinen Geländepunkten, dem höchsten Punkt auf einer Karte, Berggipfeln und trigonometrischen Punkten zu unterscheiden. Ein allgemeiner Geländepunkt wird als Symbol A dargestellt — ein kleiner Punkt mit einer einfachen Höhenangabe daneben. Die Kenntnis dieser Symbole ist für die Geländefreiheitsplanung unerlässlich.
657661
658
-- **Option B** — B, C und D repräsentieren andere höhenbezogene Symbole wie maximale Geländehöhen oder Hindernismarkierungen.
662
+- **Option B** — stellt den höchsten Geländepunkt auf der Karte dar (größerer fetter Punkt mit fetter unterstrichener Höhenangabe).
663
+- **Option C** — stellt einen Berggipfel oder Gipfelpunkt dar (gefülltes Dreieck mit Höhenangabe).
664
+- **Option D** — stellt einen trigonometrischen Punkt dar (offenes Dreieck mit Mittelpunkt und Höhenangabe).
659665
660666 #### Begriffe
661667
SPL Exam Questions DE/80 - Grundlagen des Fliegens.md
....@@ -637,7 +637,7 @@
637637
638638 Turbulenzgeneratoren sind kleine Finnen, die aus der Flügeloberfläche herausragen und winzige Wirbel erzeugen, die Energie aus der Außenströmung in die langsamere Grenzschicht nahe der Oberfläche einmischen. Diese energetisierte Grenzschicht kann ungünstigen Druckgradienten besser widerstehen, verzögert die Strömungsablösung und verbessert die Steuerungswirksamkeit bei großen Anstellwinkeln. Sie erkaufen eine leichte Zunahme des Reibungswiderstands mit einer deutlichen Verzögerung des Strömungsabrisses und besserer Querruderwirksamkeit nahe dem Überziehen.
639639
640
-### Q36: Die Auftriebsformel ^t80q36
640
+### Q36: Welchen der folgenden Faktoren kann ein Pilot direkt steuern, der den Auftrieb beeinflusst? ^t80q36
641641
642642 [EN](../SPL%20Exam%20Questions%20EN/80%20-%20Principles%20of%20Flight.md#^t80q36) · [FR](../SPL%20Exam%20Questions%20FR/80%20-%20Principes%20du%20vol.md#^t80q36)
643643
SPL Exam Questions EN/30 - Flight Performance and Planning.md
....@@ -599,20 +599,22 @@
599599
600600 ![ICAO Obstacle Symbols](figures/t30_q27.svg)
601601
602
-- **A)** D
603
-- **B)** C
604
-- **C)** B
605
-- **D)** A
602
+- **A)** Single lighted obstacle
603
+- **B)** Single unlighted obstacle
604
+- **C)** Group of lighted obstacles
605
+- **D)** Group of unlighted obstacles
606606
607607 #### Answer
608608
609
-B)
609
+D)
610610
611611 #### Explanation
612612
613
-The correct answer is B (symbol C in the figure) because ICAO Annex 4 chart symbology uses distinct symbols to differentiate between single obstacles versus groups, and lighted versus unlighted. The symbol for a group of unlighted obstacles is specifically designated in the reference figure as C. Knowing these symbols is critical for cross-country planning and obstacle avoidance.
613
+The correct answer is D because ICAO Annex 4 chart symbology uses distinct symbols to differentiate between single obstacles versus groups, and lighted versus unlighted. The symbol for a group of unlighted obstacles is shown as D in the figure — two filled circles side by side with no light rays. Knowing these symbols is critical for cross-country planning and obstacle avoidance.
614614
615
-- **Option A** — A, C, and D represent other obstacle categories such as single obstacles, lighted groups, or other types.
615
+- **Option A** — represents a single lighted obstacle (filled circle with light rays).
616
+- **Option B** — represents a single unlighted obstacle (filled circle only).
617
+- **Option C** — represents a group of lighted obstacles (two filled circles with light rays).
616618
617619 #### Key Terms
618620
....@@ -624,20 +626,22 @@
624626
625627 ![ICAO Airport Symbols](figures/t30_q28.svg)
626628
627
-- A) C
628
-- B) A
629
-- C) B
630
-- D) D
629
+- **A)** Civil airport, paved runway
630
+- **B)** Military airport, paved runway
631
+- **C)** Civil airport, unpaved runway
632
+- **D)** Heliport
631633
632634 #### Answer
633635
634
-B)
636
+A)
635637
636638 #### Explanation
637639
638
-The correct answer is B (symbol A in the figure) because ICAO aeronautical chart symbology differentiates airports by civil versus military status, international versus domestic, and runway surface type. A civil domestic airport with a paved runway has a specific symbol shown as A in the annex. Glider pilots use these symbols when planning outlanding fields or alternate airports.
640
+The correct answer is A because ICAO aeronautical chart symbology differentiates airports by civil versus military status and runway surface type. A civil airport with a paved runway is shown as symbol A in the figure — a circle with a solid filled runway bar through the centre. Glider pilots use these symbols when planning outlanding fields or alternate airports.
639641
640
-- **Option A** — A, C, and D represent other aerodrome categories such as international airports, military airfields, or unpaved-runway airports.
642
+- **Option B** — represents a military airport with paved runway (circle with runway bar and crossbar).
643
+- **Option C** — represents a civil airport with unpaved runway (circle with open/outlined runway bar).
644
+- **Option D** — represents a heliport (square with H).
641645
642646 #### Key Terms
643647
....@@ -649,10 +653,10 @@
649653
650654 ![ICAO Spot Elevation Symbols](figures/t30_q29.svg)
651655
652
-- A) C
653
-- B) B
654
-- C) A
655
-- D) D
656
+- **A)** General spot elevation
657
+- **B)** Highest spot elevation on chart
658
+- **C)** Mountain peak / summit
659
+- **D)** Trigonometric point
656660
657661 #### Answer
658662
....@@ -660,9 +664,11 @@
660664
661665 #### Explanation
662666
663
-The correct answer is A (symbol C in the figure) because ICAO charts use specific symbols to differentiate between general spot elevations, surveyed elevation points, and obstruction heights. A general spot elevation marks a notable terrain high point for situational awareness and is depicted according to ICAO Annex 4 standards. Familiarity with these symbols is essential for terrain clearance planning.
667
+The correct answer is A because ICAO charts use specific symbols to differentiate between general spot elevations, the highest elevation on a chart, mountain peaks, and trigonometric points. A general spot elevation is shown as symbol A — a small dot with a plain elevation number beside it. Familiarity with these symbols is essential for terrain clearance planning.
664668
665
-- **Option B** — B, C, and D represent other elevation-related symbols such as maximum elevation figures or obstruction markers.
669
+- **Option B** — represents the highest spot elevation on the chart (larger bold dot with bold underlined number).
670
+- **Option C** — represents a mountain peak or summit (filled triangle with elevation number).
671
+- **Option D** — represents a trigonometric point (open triangle with centre dot and elevation number).
666672
667673 #### Key Terms
668674
SPL Exam Questions EN/80 - Principles of Flight.md
....@@ -653,7 +653,7 @@
653653
654654 Vortex generators are small tabs that protrude from the wing surface and create tiny vortices that mix high-energy air from outside the boundary layer into the slower boundary layer flow near the surface. This energised boundary layer can resist adverse pressure gradients more effectively, delaying flow separation and improving control effectiveness at high angles of attack. They trade a small increase in skin friction for a significant delay in stall onset and better aileron authority near the stall.
655655
656
-### Q36: The lift formula ^t80q36
656
+### Q36: Which of the following factors does a pilot directly control that affects lift? ^t80q36
657657
658658 [DE](../SPL%20Exam%20Questions%20DE/80%20-%20Grundlagen%20des%20Fliegens.md#^t80q36) · [FR](../SPL%20Exam%20Questions%20FR/80%20-%20Principes%20du%20vol.md#^t80q36)
659659
SPL Exam Questions FR/30 - Performances et planification du vol.md
....@@ -48,7 +48,7 @@
4848
4949 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q3) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q3)
5050
51
-- **A)** Que l'aéronef ne se mette pas en décrochage.
51
+- **A)** Que l'aéronef ne décroche pas.
5252 - **B)** Que l'aéronef ne dépasse pas la vitesse maximale admissible lors d'une descente.
5353 - **C)** Que l'aéronef ne bascule pas sur sa queue lors du chargement.
5454 - **D)** La stabilité et la maniabilité de l'aéronef.
....@@ -59,24 +59,24 @@
5959
6060 #### Explication
6161
62
-La bonne réponse est D car la position du C.G. par rapport au point neutre aérodynamique détermine la stabilité statique en tangage. Un C.G. en avant du point neutre crée un moment de rappel stabilisateur, tandis que l'autorité de commande assure la maniabilité. Si le C.G. est hors limites, l'une de ces deux propriétés est compromise.
62
+La bonne réponse est D car la position du C.G. par rapport au point neutre détermine la stabilité statique longitudinale (la tendance à revenir à l'équilibre après une perturbation), tandis que la capacité de la gouverne de profondeur à commander des changements d'assiette assure la maniabilité. Ces deux propriétés doivent être maintenues tout au long du vol, et l'enveloppe de centrage le garantit.
6363
64
-- **B** est faux car la VNE dépend des caractéristiques structurelles et aérodynamiques.
65
-- **C** est faux car il ne s'agit pas d'une préoccupation en vol.
66
-- **A** est faux car le décrochage est principalement lié à l'angle d'incidence, pas directement à la position du C.G.
64
+- **A** est faux car la vitesse de décrochage dépend principalement de la charge alaire et de l'angle d'attaque, pas de la position du C.G.
65
+- **B** est faux car la VNE est une limite structurelle sans rapport avec le C.G.
66
+- **C** décrit un problème de manutention au sol, pas une exigence de sécurité en vol.
6767
6868 #### Termes clés
6969
70
-CG = Centre de gravité ; VNE = Vitesse à ne jamais dépasser
70
+CG = Centre de Gravité
7171
7272 ### Q4: La masse à vide et le centre de gravité (CG) correspondant d'un aéronef sont initialement déterminés ^t30q4
7373
7474 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q4) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q4)
7575
76
-- A) Pour un seul aéronef d'un type, car tous les aéronefs du même type ont la même masse et la même position du CG.
76
+- A) Pour un seul aéronef d'un type donné, puisque tous les aéronefs du même type ont la même masse et la même position du C.G.
7777 - B) Par calcul.
78
-- C) Par pesage.
79
-- D) Par les données fournies par le constructeur de l'aéronef.
78
+- C) Par pesée.
79
+- D) À partir des données fournies par le constructeur de l'aéronef.
8080
8181 #### Réponse
8282
....@@ -84,22 +84,22 @@
8484
8585 #### Explication
8686
87
-La bonne réponse est C car chaque aéronef individuel est physiquement pesé — généralement sur des balances à trois points — pour déterminer sa masse à vide réelle et la position de son C.G. Les tolérances de fabrication, réparations et équipements installés varient d'un numéro de série à l'autre du même type.
87
+La bonne réponse est C car chaque cellule individuelle doit être physiquement pesée — généralement sur des balances calibrées en trois points d'appui — pour déterminer sa masse à vide réelle et la position de son C.G. Les tolérances de fabrication, les réparations, les modifications et l'équipement installé varient d'un numéro de série à l'autre.
8888
89
-- **B** est faux car le calcul seul n'est pas suffisamment précis.
90
-- **A** est faux car les variations entre les aéronefs individuels sont significatives.
91
-- **D** est faux car les données du constructeur sont des valeurs génériques, insuffisantes pour un aéronef particulier.
89
+- **A** est faux car deux aéronefs du même type ne sont jamais garantis d'avoir une masse et un C.G. identiques.
90
+- **B** est faux car le calcul seul ne peut prendre en compte toutes les variables.
91
+- **D** est faux car les données du constructeur fournissent des valeurs de référence pour le type, pas les valeurs spécifiques de chaque aéronef individuel.
9292
9393 #### Termes clés
9494
95
-CG = Centre de gravité
95
+CG = Centre de Gravité
9696
97
-### Q5: Les bagages et le fret doivent être correctement arrimés et fixés, sinon un déplacement du fret peut causer ^t30q5
97
+### Q5: Les bagages et le fret doivent être correctement arrimés et fixés, sinon un déplacement du chargement peut causer ^t30q5
9898
9999 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q5) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q5)
100100
101
-- A) Des dommages structurels, une instabilité en incidence, une instabilité en vitesse.
102
-- B) Des attitudes continues pouvant être corrigées par le pilote au moyen des commandes de vol.
101
+- A) Des dommages structurels, une instabilité en angle d'attaque, une instabilité de vitesse.
102
+- B) Des attitudes continues pouvant être corrigées par le pilote à l'aide des commandes de vol.
103103 - C) Des attitudes incontrôlables, des dommages structurels, un risque de blessures.
104104 - D) Une instabilité calculable si le C.G. se déplace de moins de 10 %.
105105
....@@ -109,19 +109,19 @@
109109
110110 #### Explication
111111
112
-La bonne réponse est C car du fret non arrimé peut se déplacer brusquement lors de turbulences, provoquant un déplacement instantané du C.G. hors limites, plus rapidement que le pilote ne peut réagir. Ce déplacement peut entraîner des attitudes de vol incontrôlables, des dommages structurels et des blessures aux occupants.
112
+La bonne réponse est C car un chargement non arrimé peut se déplacer brusquement lors de turbulences ou de manœuvres, déplaçant instantanément le C.G. hors des limites approuvées — plus vite que le pilote ne peut réagir. Un déplacement soudain du C.G. vers l'arrière peut provoquer un cabrage irrécupérable, les objets non fixés peuvent devenir des projectiles blessant les occupants ou bloquant les commandes, et une charge asymétrique peut surcharger la structure.
113113
114
-- **D** est faux car une instabilité imprévisible n'est jamais « calculable ».
115
-- **B** est faux car un déplacement du C.G. hors limites peut dépasser l'autorité des commandes.
116
-- **A** est faux car ce n'est pas la meilleure description des conséquences.
114
+- **A** est faux car la terminologie est inexacte.
115
+- **B** est faux car un déplacement soudain et important du C.G. peut être incontrôlable, pas simplement « continu ».
116
+- **D** est faux car aucune analyse préalable ne rend un chargement non arrimé acceptable.
117117
118118 ### Q6: Le poids total d'un aéronef agit verticalement vers le bas à travers le ^t30q6
119119
120120 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q6) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q6)
121121
122
-- **A)** Centre de gravité.
123
-- **B)** Point de stagnation.
124
-- **C)** Centre aérodynamique.
122
+- **A)** Centre de gravité
123
+- **B)** Point d'arrêt.
124
+- **C)** Centre de poussée.
125125 - **D)** Point neutre.
126126
127127 #### Réponse
....@@ -130,20 +130,20 @@
130130
131131 #### Explication
132132
133
-La bonne réponse est A car, par définition, le centre de gravité est le point unique à travers lequel la résultante de toutes les forces gravitationnelles agit sur l'aéronef.
133
+La bonne réponse est A car le centre de gravité est, par définition, le point unique à travers lequel la force gravitationnelle résultante (le vecteur poids) agit sur l'ensemble de l'aéronef.
134134
135
-- **B** est faux car le point de stagnation est le point sur la voilure où la vitesse de l'écoulement est nulle.
136
-- **C** est faux car le centre aérodynamique est le point où agit la résultante des forces aérodynamiques.
137
-- **D** est faux car le point neutre est la référence aérodynamique pour l'analyse de stabilité.
135
+- **B** est faux car le point d'arrêt est l'endroit où la vitesse de l'écoulement atteint zéro sur le bord d'attaque de l'aile — un concept aérodynamique sans rapport avec le poids.
136
+- **C** est faux car le centre de poussée est l'endroit où la force aérodynamique résultante agit.
137
+- **D** est faux car le point neutre est la référence aérodynamique utilisée pour l'analyse de stabilité.
138138
139
-### Q7: Quel est l'effet d'une augmentation de masse sur les performances d'un planeur ? ^t30q7
139
+### Q7: Le terme « centre de gravité » est décrit comme ^t30q7
140140
141141 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q7) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q7)
142142
143
-- **A)** L'augmentation de la masse n'a pas d'effet sur les performances.
144
-- **B)** L'augmentation de la masse entraîne un accroissement de la vitesse de décrochage.
145
-- **C)** L'augmentation de la masse entraîne une augmentation du taux de montée.
146
-- **D)** L'augmentation de la masse entraîne une diminution de la vitesse de décrochage.
143
+- **A)** Le point le plus lourd d'un aéronef.
144
+- **B)** La moitié de la distance entre le point neutre et la ligne de référence.
145
+- **C)** Une autre désignation pour le point neutre.
146
+- **D)** La distance entre le bord d'attaque et le bord de fuite de l'aile.
147147
148148 #### Réponse
149149
....@@ -151,20 +151,20 @@
151151
152152 #### Explication
153153
154
-La bonne réponse est B car une masse accrue signifie une charge alaire plus élevée, ce qui nécessite une vitesse plus grande pour générer suffisamment de portance. La vitesse de décrochage augmente proportionnellement à la racine carrée du rapport des masses.
154
+La bonne réponse est B. Le centre de gravité est la position moyenne pondérée par la masse de tous les éléments de masse individuels — le point où la force de poids totale est considérée comme agissant. Il est trouvé en additionnant tous les moments par rapport à la référence et en divisant par la masse totale.
155155
156
-- **A** est faux car la masse affecte de nombreux paramètres de performances.
157
-- **C** est faux car un poids accru dégrade le taux de montée.
158
-- **D** est faux car la vitesse de décrochage augmente, elle ne diminue pas.
156
+- **A** est faux car le C.G. n'est pas un « point le plus lourd » mais un point d'équilibre.
157
+- **C** est faux car le point neutre est un concept aérodynamique distinct lié à la stabilité.
158
+- **D** ne définit pas correctement le C.G. non plus.
159159
160
-### Q8: Le déplacement du fret en vol est dangereux car il entraîne un déplacement du centre de gravité pouvant provoquer ^t30q8
160
+### Q8: Le centre de gravité (CG) définit ^t30q8
161161
162162 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q8) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q8)
163163
164
-- **A)** La traction d'un câble de remorquage au-delà du plan de centrage.
165
-- **B)** Des déviations de trajectoire qui peuvent être compensées par le pilote.
166
-- **C)** Des oscillations calculables.
167
-- **D)** Des attitudes de vol incontrôlables.
164
+- **A)** Le point sur l'axe longitudinal ou son prolongement à partir duquel les centres de gravité de toutes les masses sont référencés.
165
+- **B)** La distance entre le plan de référence et le centre de gravité d'une masse individuelle.
166
+- **C)** Le produit de la masse et du bras de levier.
167
+- **D)** Le point à travers lequel la force de gravité est considérée comme agissant sur une masse.
168168
169169 #### Réponse
170170
....@@ -172,20 +172,21 @@
172172
173173 #### Explication
174174
175
-La bonne réponse est D car un déplacement non contrôlé du fret en vol peut déplacer instantanément le C.G. hors des limites approuvées, entraînant des attitudes de vol que le pilote ne peut pas corriger avec les commandes disponibles.
175
+La bonne réponse est D car le C.G. est le point à travers lequel l'ensemble de la force gravitationnelle (le poids) agit comme si toute la masse y était concentrée. C'est la définition fondamentale utilisée en physique et en masse et centrage des aéronefs. A et B décrivent tous deux le plan de référence (datum), pas le C.G. lui-même.
176
+- **C** décrit un moment (masse fois bras), qui est une grandeur de calcul, pas la définition du centre de gravité.
176177
177
-- **C** est faux car les oscillations résultantes ne sont pas prévisibles.
178
-- **B** est faux car si le C.G. dépasse les limites, les commandes peuvent être insuffisantes.
179
-- **A** est faux car cela ne décrit pas le risque principal du déplacement du fret.
178
+#### Termes clés
180179
181
-### Q9: À une masse en vol de 400 kg, quel est le facteur de charge dans un virage à 60° d'inclinaison ? ^t30q9
180
+CG = Centre de Gravité
181
+
182
+### Q9: Le terme « moment » dans le cadre d'un calcul de masse et centrage désigne ^t30q9
182183
183184 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q9) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q9)
184185
185
-- **A)** 1,4.
186
-- **B)** 4,0.
187
-- **C)** 2,0.
188
-- **D)** 0,5.
186
+- A) La somme d'une masse et d'un bras de levier.
187
+- B) La différence entre une masse et un bras de levier.
188
+- C) Le produit d'une masse et d'un bras de levier.
189
+- D) Le quotient d'une masse et d'un bras de levier.
189190
190191 #### Réponse
191192
....@@ -193,16 +194,20 @@
193194
194195 #### Explication
195196
196
-La bonne réponse est C car le facteur de charge dans un virage coordonné est n = 1/cos(angle d'inclinaison). Pour 60°: n = 1/cos(60°) = 1/0,5 = 2,0. Cela signifie que la portance doit être le double du poids pour maintenir l'altitude en virage. B (1,4) correspondrait à environ 45° d'inclinaison. C (0,5) est physiquement impossible en vol coordonné. D (4,0) correspondrait à environ 75° d'inclinaison.
197
+La bonne réponse est C car en masse et centrage, le moment est égal à la masse multipliée par le bras de levier (M = m × d), exprimé en unités telles que kg·m ou lb·in. La position totale du C.G. est ensuite trouvée en divisant la somme de tous les moments par la masse totale.
197198
198
-### Q10: Quelle est la limite inférieure du facteur de charge pour la catégorie utilitaire ? ^t30q10
199
+- **A** est faux car additionner masse et bras n'a aucune signification physique.
200
+- **B** est faux car les soustraire est tout aussi dénué de sens.
201
+- **D** est faux car diviser la masse par le bras ne produit pas un moment — cela donnerait une dimension incorrecte.
202
+
203
+### Q10: Le terme « bras de levier » dans le contexte d'un calcul de masse et centrage désigne ^t30q10
199204
200205 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q10) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q10)
201206
202
-- **A)** +2,0.
203
-- **B)** -1,0.
204
-- **C)** -1,5.
205
-- **D)** +3,8.
207
+- **A)** Le point à travers lequel la force de gravité est considérée comme agissant sur une masse.
208
+- **B)** Le point sur l'axe longitudinal d'un aéronef ou son prolongement à partir duquel les centres de gravité de toutes les masses sont référencés.
209
+- **C)** La distance entre le plan de référence et le centre de gravité d'une masse.
210
+- **D)** La distance d'une masse par rapport au centre de gravité.
206211
207212 #### Réponse
208213
....@@ -210,16 +215,20 @@
210215
211216 #### Explication
212217
213
-La bonne réponse est C car la catégorie utilitaire impose un facteur de charge négatif minimal de -1,5 g selon les normes de certification. Cela définit la charge structurelle négative maximale que l'aéronef doit supporter. B (+2,0) et D (+3,8) sont des facteurs de charge positifs. C (-1,0) est inférieur à la limite requise pour la catégorie utilitaire.
218
+La bonne réponse est C car le bras de levier (ou bras de moment) est la distance horizontale mesurée depuis le plan de référence de l'aéronef jusqu'au centre de gravité d'un élément de masse spécifique. Cette distance détermine le levier que cette masse exerce par rapport au plan de référence.
214219
215
-### Q11: Quels facteurs augmentent la distance de décollage en remorqué ? ^t30q11
220
+- **A** est faux car cela définit le centre de gravité, pas le bras.
221
+- **B** est faux car cela définit le plan de référence lui-même.
222
+- **D** est faux car les bras de levier sont mesurés depuis le plan de référence, pas depuis le C.G. global de l'aéronef.
223
+
224
+### Q11: La distance entre le centre de gravité et le plan de référence s'appelle ^t30q11
216225
217226 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q11) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q11)
218227
219
-- **A)** Piste en herbe, vent de face fort.
220
-- **B)** Haute température, vent arrière.
221
-- **C)** Pression atmosphérique élevée.
222
-- **D)** Basse température, vent de face.
228
+- **A)** Envergure.
229
+- **B)** Bras de levier.
230
+- **C)** Couple.
231
+- **D)** Levier.
223232
224233 #### Réponse
225234
....@@ -227,20 +236,20 @@
227236
228237 #### Explication
229238
230
-La bonne réponse est B car une température élevée réduit la densité de l'air, diminuant la portance générée à toute vitesse sol donnée, ce qui nécessite une plus longue accélération pour atteindre la vitesse de vol. Un vent arrière réduit la composante de vent de face, ce qui signifie que l'aéronef a besoin d'une vitesse sol plus élevée pour atteindre la même vitesse air, allongeant encore la distance de décollage.
239
+La bonne réponse est B car dans la terminologie de masse et centrage, le bras de levier est la distance horizontale entre le plan de référence et tout point d'intérêt, y compris le C.G. global une fois calculé.
231240
232
-- **D** est faux car une basse température augmente la densité de l'air et un vent de face raccourcit la distance.
233
-- **A** est faux car un vent de face fort raccourcit la distance.
234
-- **C** est faux car une pression élevée augmente la densité, ce qui aide au décollage.
241
+- **A** est faux car l'envergure est un paramètre géométrique de l'aile.
242
+- **C** est faux car le couple (ou moment) est le produit de la force et de la distance, pas la distance elle-même.
243
+- **D** est faux car « levier » est un terme mécanique général, pas le terme spécifique de masse et centrage utilisé en aviation.
235244
236
-### Q12: La position du centre de gravité la plus dangereuse pour un planeur est ^t30q12
245
+### Q12: Le bras de levier est la distance horizontale entre ^t30q12
237246
238247 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q12) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q12)
239248
240
-- **A)** Trop en avant.
241
-- **B)** Trop basse.
242
-- **C)** Trop en arrière.
243
-- **D)** Trop haute.
249
+- **A)** Le C.G. d'une masse et la limite arrière du C.G.
250
+- **B)** La limite avant du C.G. et le plan de référence.
251
+- **C)** Le C.G. d'une masse et le plan de référence.
252
+- **D)** La limite avant du C.G. et la limite arrière du C.G.
244253
245254 #### Réponse
246255
....@@ -248,16 +257,20 @@
248257
249258 #### Explication
250259
251
-La bonne réponse est C car lorsque le C.G. est trop en arrière, le planeur perd sa stabilité statique longitudinale — le nez tend à cabrer sans revenir à l'équilibre, pouvant mener à des oscillations divergentes incontrôlables ou à un décrochage/vrille. A (trop en avant) est moins dangereux car l'aéronef reste stable, bien que l'autorité de la gouverne de profondeur puisse être insuffisante pour l'atterrissage. B et D sont faux car le déplacement vertical du C.G. n'est pas la préoccupation principale dans l'analyse standard de masse et centrage des planeurs.
260
+La bonne réponse est C car le bras de levier de tout élément de masse est mesuré comme la distance horizontale entre le plan de référence de l'aéronef et le centre de gravité de cet élément. Le plan de référence est un point fixe défini dans le manuel de vol.
252261
253
-### Q13: Comment la masse totale de l'aéronef doit-elle être déterminée pour le calcul de masse et centrage avant le vol ? ^t30q13
262
+- **A** est faux car il fait référence à la limite arrière du C.G., pas au plan de référence.
263
+- **B** est faux car il décrit la distance entre la limite avant du C.G. et le plan de référence.
264
+- **D** décrit la plage de centrage autorisée, pas un bras de levier.
265
+
266
+### Q13: Les données nécessaires pour un calcul de masse et centrage, y compris les masses et les bras de levier, se trouvent dans ^t30q13
254267
255268 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q13) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q13)
256269
257
-- **A)** Par estimation du pilote.
258
-- **B)** À partir du dernier rapport de maintenance.
259
-- **C)** À partir de la fiche technique du constructeur.
260
-- **D)** À partir de la pesée la plus récente.
270
+- **A)** La documentation de l'inspection annuelle.
271
+- **B)** Le certificat de navigabilité.
272
+- **C)** La section performances du manuel de vol de cet aéronef particulier.
273
+- **D)** La section masse et centrage du manuel de vol de cet aéronef particulier.
261274
262275 #### Réponse
263276
....@@ -265,20 +278,20 @@
265278
266279 #### Explication
267280
268
-La bonne réponse est D car le pilote doit utiliser les données de la pesée la plus récente (masse à vide et position du C.G. à vide) consignées dans la documentation de l'aéronef, puis y ajouter les charges variables (pilote, passager, carburant, bagages) pour obtenir la masse totale et le C.G. de vol.
281
+La bonne réponse est D car le manuel de vol (POH) ou le manuel d'utilisation de l'aéronef (AFM) contient une section dédiée à la masse et au centrage avec la masse à vide de l'aéronef, la position du C.G. à vide, la référence du plan de référence, les limites de centrage et les configurations de chargement.
269282
270
-- **B** est faux car un rapport de maintenance ne contient pas nécessairement les données de pesée actualisées.
271
-- **C** est faux car les données constructeur sont génériques.
272
-- **A** est faux car l'estimation n'est pas une méthode acceptable.
283
+- **A** est faux car les documents d'inspection annuelle consignent les travaux de maintenance, pas les données de chargement.
284
+- **B** est faux car le certificat de navigabilité certifie simplement le type d'aéronef.
285
+- **C** est faux car la section performances couvre les vitesses et les taux de montée, pas les données de masse et centrage.
273286
274
-### Q14: Quels éléments doit contenir le calcul de masse et centrage avant le vol ? ^t30q14
287
+### Q14: Quelle section du manuel de vol décrit la masse de base à vide d'un aéronef ? ^t30q14
275288
276289 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q14) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q14)
277290
278
-- **A)** Uniquement la masse totale.
279
-- **B)** La masse du pilote et la masse du carburant.
280
-- **C)** La masse à vide, le carburant, les occupants, les bagages et leurs bras de levier respectifs.
281
-- **D)** Uniquement la position du C.G. et la masse totale.
291
+- **A)** Procédures normales
292
+- **B)** Performances
293
+- **C)** Masse et centrage
294
+- **D)** Limitations
282295
283296 #### Réponse
284297
....@@ -286,20 +299,20 @@
286299
287300 #### Explication
288301
289
-La bonne réponse est C car un calcul complet de masse et centrage exige de lister chaque masse individuelle (masse à vide de l'aéronef, carburant, occupants, bagages) avec les bras de levier correspondants, puis de calculer les moments pour déterminer la masse totale et la position du C.G.
302
+La bonne réponse est C car la section Masse et centrage du manuel de vol contient la masse de base à vide, la position du C.G. à vide, la plage de centrage admissible et les instructions de chargement.
290303
291
-- **A** est faux car la masse totale seule ne garantit pas que le C.G. est dans les limites.
292
-- **D** est faux car il faut connaître les détails de chaque composante.
293
-- **B** est faux car cela omet plusieurs éléments essentiels.
304
+- **A** est faux car les Procédures normales couvrent les listes de vérification et les séquences opérationnelles.
305
+- **B** est faux car la section Performances couvre les vitesses, les taux de montée et les distances de plané.
306
+- **D** est faux car les Limitations couvrent les vitesses maximales, les facteurs de charge et l'enveloppe opérationnelle — pas les données de masse à vide de base.
294307
295
-### Q15: Quelles sont les unités utilisées dans un calcul de masse et centrage ? ^t30q15
308
+### Q15: Quel facteur raccourcit la distance d'atterrissage ? ^t30q15
296309
297310 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q15) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q15)
298311
299
-- **A)** La masse en newtons et les bras de levier en pieds.
300
-- **B)** La masse en kilogrammes et les bras de levier en mètres (ou pouces).
301
-- **C)** La masse en litres et les bras de levier en secondes.
302
-- **D)** La masse en tonnes et les bras de levier en kilomètres.
312
+- **A)** Altitude-pression élevée
313
+- **B)** Vent de face fort
314
+- **C)** Pluie forte
315
+- **D)** Altitude-densité élevée
303316
304317 #### Réponse
305318
....@@ -307,20 +320,24 @@
307320
308321 #### Explication
309322
310
-La bonne réponse est B car les calculs de masse et centrage utilisent la masse en kilogrammes (ou livres) et les bras de levier en mètres (ou pouces), ce qui donne des moments en kg·m (ou lb·in).
323
+La bonne réponse est B car un vent de face réduit la vitesse sol au toucher des roues pour une vitesse indiquée donnée, de sorte que l'aéronef franchit le seuil avec moins d'énergie cinétique par rapport au sol, ce qui raccourcit considérablement le roulement au sol.
311324
312
-- **C** est faux car les litres sont une unité de volume, pas de masse.
313
-- **A** est faux car le newton est une unité de force, pas de masse.
314
-- **D** est faux car les tonnes et kilomètres ne sont pas les unités standard utilisées dans ce contexte.
325
+- **A** est faux car une altitude-pression élevée signifie une densité d'air plus faible, une vitesse vraie plus élevée pour la même IAS, et donc une distance d'atterrissage plus longue.
326
+- **C** est faux car la pluie forte peut dégrader l'efficacité du freinage et contaminer la surface de l'aile.
327
+- **D** est faux pour la même raison que A — une altitude-densité élevée augmente la vitesse sol et allonge le roulement à l'atterrissage.
315328
316
-### Q16: Un planeur a une masse à vide de 300 kg. Le pilote pèse 80 kg. Le bras de levier du pilote est de 0,4 m en avant du plan de référence. Le bras de levier de la masse à vide est de 0,2 m en arrière du plan de référence. Où se situe le C.G. ? ^t30q16
329
+#### Termes clés
330
+
331
+IAS = Vitesse indiquée (Indicated Airspeed)
332
+
333
+### Q16: Sauf si l'aéronef est équipé et certifié en conséquence ^t30q16
317334
318335 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q16) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q16)
319336
320
-- **A)** Au plan de référence.
321
-- **B)** 0,08 m en arrière du plan de référence.
322
-- **C)** 0,12 m en avant du plan de référence.
323
-- **D)** 0,2 m en arrière du plan de référence.
337
+- A) Le vol dans des conditions de givrage prévues est interdit. Si l'aéronef entre dans une zone de givrage par inadvertance, le vol peut être poursuivi tant que les conditions météorologiques de vol à vue sont maintenues.
338
+- B) Le vol dans des conditions de givrage connues ou prévues est interdit. Si l'aéronef entre dans une zone de givrage par inadvertance, il doit en sortir sans délai.
339
+- C) Le vol dans des conditions de givrage connues ou prévues n'est autorisé que s'il est garanti que l'aéronef peut encore être exploité sans dégradation des performances.
340
+- D) Le vol dans des zones de précipitations est interdit.
324341
325342 #### Réponse
326343
....@@ -328,20 +345,24 @@
328345
329346 #### Explication
330347
331
-La bonne réponse est B car le moment total = (300 × 0,2) + (80 × (−0,4)) = 60 − 32 = 28 kg·m. La masse totale = 380 kg. Le C.G. = 28/380 = 0,074 m, arrondi à 0,08 m en arrière du plan de référence.
348
+La bonne réponse est B car pour les aéronefs non certifiés FIKI, voler dans des conditions de givrage connues ou prévues est une interdiction réglementaire. Si du givrage est rencontré par inadvertance, le pilote doit en sortir immédiatement en changeant d'altitude ou de cap.
332349
333
-- **A** est faux car le C.G. n'est pas exactement au plan de référence.
334
-- **C** est faux car le C.G. ne se trouve pas en avant.
335
-- **D** est faux car la valeur est trop grande.
350
+- **A** est faux car le maintien des conditions VMC ne rend pas le givrage sûr — la glace s'accumule indépendamment des conditions visuelles.
351
+- **C** est faux car cela implique que le vol en conditions de givrage est autorisé avec surveillance des performances, ce qui n'est pas le cas.
352
+- **D** est faux car toutes les précipitations n'impliquent pas des conditions de givrage.
336353
337
-### Q17: Comment le vent affecte-t-il les performances d'un planeur par rapport au sol ? ^t30q17
354
+#### Termes clés
355
+
356
+VMC = Conditions météorologiques de vol à vue (Visual Meteorological Conditions)
357
+
358
+### Q17: L'angle de descente est décrit comme ^t30q17
338359
339360 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q17) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q17)
340361
341
-- **A)** Un vent de face améliore la finesse par rapport au sol.
342
-- **B)** Un vent de face dégrade la finesse par rapport au sol.
343
-- **C)** Le vent n'a aucun effet sur la finesse par rapport au sol.
344
-- **D)** Un vent arrière dégrade la finesse par rapport au sol.
362
+- A) Le rapport entre le changement d'altitude et la distance horizontale parcourue dans le même temps, exprimé en degrés [°].
363
+- B) L'angle entre un plan horizontal et la trajectoire de vol réelle, exprimé en degrés [°].
364
+- C) Le rapport entre le changement d'altitude et la distance horizontale parcourue dans le même temps, exprimé en pourcentage [%].
365
+- D) L'angle entre un plan horizontal et la trajectoire de vol réelle, exprimé en pourcentage [%].
345366
346367 #### Réponse
347368
....@@ -349,20 +370,21 @@
349370
350371 #### Explication
351372
352
-La bonne réponse est B car un vent de face réduit la vitesse sol tout en maintenant le même taux de chute dans la masse d'air. Le planeur parcourt donc moins de distance horizontale par unité d'altitude perdue, ce qui dégrade la finesse par rapport au sol.
373
+La bonne réponse est B car l'angle de descente (angle de plané) est géométriquement défini comme l'angle entre l'horizontale et le vecteur de trajectoire de vol, mesuré en degrés.
353374
354
-- **A** est faux car un vent de face a l'effet inverse.
355
-- **C** est faux car le vent affecte significativement la finesse sol.
356
-- **D** est faux car un vent arrière améliore la finesse par rapport au sol en augmentant la vitesse sol.
375
+- **A** est faux car un « rapport exprimé en degrés » est contradictoire — un rapport est adimensionnel ou exprimé en pourcentage, pas en degrés.
376
+- **C** décrit un gradient (pourcentage), pas un angle.
377
+- **D** exprime incorrectement un angle en pourcentage.
378
+- Pour un planeur avec une finesse de 1:30, l'angle de plané est d'environ 1,9 degrés.
357379
358
-### Q18: Que se passe-t-il si la charge alaire est augmentée (par exemple avec du ballast d'eau) ? ^t30q18
380
+### Q18: Quel est le but des « lignes d'interception » en navigation visuelle ? ^t30q18
359381
360382 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q18) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q18)
361383
362
-- **A)** Le taux de chute minimum diminue.
363
-- **B)** La finesse maximale augmente significativement.
364
-- **C)** La vitesse de décrochage diminue.
365
-- **D)** La vitesse de décrochage augmente, mais la finesse maximale reste essentiellement la même.
384
+- **A)** Elles permettent de poursuivre le vol lorsque la visibilité en vol descend sous les minima VFR.
385
+- **B)** Visualiser la limite de rayon d'action depuis l'aérodrome de départ.
386
+- **C)** Marquer le prochain aérodrome disponible en route pendant le vol.
387
+- **D)** Elles servent de repères facilement reconnaissables en cas de perte d'orientation éventuelle.
366388
367389 #### Réponse
368390
....@@ -370,20 +392,26 @@
370392
371393 #### Explication
372394
373
-La bonne réponse est D car l'augmentation de la charge alaire déplace la polaire des vitesses vers des vitesses plus élevées. La vitesse de décrochage augmente proportionnellement à la racine carrée du rapport de masse, mais la finesse maximale (rapport L/D) reste essentiellement inchangée (à un léger effet de nombre de Reynolds près).
395
+La bonne réponse est D car les lignes d'interception (également appelées lignes de rattrapage) sont des éléments linéaires au sol proéminents — rivières, autoroutes, voies ferrées, côtes — sélectionnés lors de la préparation du vol, vers lesquels le pilote peut naviguer en cas de perte d'orientation. Voler vers la ligne d'interception la plus proche fournit un repère indubitable pour retrouver sa position.
374396
375
-- **B** est faux car la finesse maximale ne change pas de manière significative.
376
-- **C** est faux car la vitesse de décrochage augmente avec la masse.
377
-- **A** est faux car le taux de chute minimum augmente avec la masse.
397
+- **A** est faux car rien ne permet de poursuivre le vol sous les minima VFR.
398
+- **B** est faux car les lignes d'interception ne sont pas des indicateurs de rayon d'action.
399
+- **C** est faux car ce sont des éléments géographiques, pas des marqueurs d'aérodrome.
378400
379
-### Q19: Selon la théorie de MacCready, dans quelles conditions est-il avantageux de voler avec du ballast d'eau ? ^t30q19
401
+#### Termes clés
402
+
403
+VFR = Règles de vol à vue (Visual Flight Rules)
404
+
405
+### Q19: La limite supérieure de LO R 16 est égale à ^t30q19
380406
381407 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q19) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q19)
382408
383
-- **A)** Quel que soit le temps.
384
-- **B)** Lorsque les conditions sont faibles et irrégulières.
385
-- **C)** Uniquement par vent fort.
386
-- **D)** Lorsque les ascendances sont fortes et régulières.
409
+![](figures/t30_q19.png)
410
+
411
+- A) 1 500 m MSL.
412
+- B) FL150.
413
+- C) 1 500 ft GND.
414
+- D) 1 500 ft MSL.
387415
388416 #### Réponse
389417
....@@ -391,20 +419,26 @@
391419
392420 #### Explication
393421
394
-La bonne réponse est D car le ballast d'eau augmente la charge alaire, permettant de voler plus vite entre les thermiques avec une finesse pratiquement identique. Cet avantage n'est rentable que si les ascendances sont suffisamment fortes pour compenser le taux de chute accru et la vitesse de décrochage plus élevée.
422
+La bonne réponse est D car les zones réglementées de basse altitude (LO R) sur les cartes VFR expriment généralement leurs limites verticales en pieds MSL (au-dessus du niveau moyen de la mer). La valeur de 1 500 ft MSL est une référence d'altitude fixe et absolue.
395423
396
-- **B** est faux car dans des conditions faibles, la masse supplémentaire est un handicap.
397
-- **A** est faux car le ballast n'est pas toujours avantageux.
398
-- **C** est faux car le vent seul ne détermine pas l'utilité du ballast.
424
+- **A** est faux car 1 500 mètres MSL correspondrait à environ 4 900 ft — une altitude entièrement différente.
425
+- **B** est faux car le FL150 (15 000 ft d'altitude-pression) est bien trop élevé pour une restriction typique de basse altitude.
426
+- **C** est faux car 1 500 ft GND (au-dessus du sol) varierait avec le terrain et n'est pas la limite publiée.
399427
400
-### Q20: Quel est l'effet de l'altitude sur la vitesse vraie (TAS) par rapport à la vitesse indiquée (IAS) ? ^t30q20
428
+#### Termes clés
429
+
430
+FL = Niveau de vol (Flight Level) ; MSL = Niveau moyen de la mer (Mean Sea Level) ; VFR = Règles de vol à vue (Visual Flight Rules)
431
+
432
+### Q20: La limite supérieure de LO R 4 est égale à ^t30q20
401433
402434 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q20) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q20)
403435
404
-- **A)** La TAS est supérieure à l'IAS en altitude.
405
-- **B)** La TAS est inférieure à l'IAS en altitude.
406
-- **C)** La TAS et l'IAS sont toujours identiques.
407
-- **D)** La TAS diminue avec l'altitude.
436
+![](figures/t30_q20.png)
437
+
438
+- A) 4 500 ft MSL
439
+- B) 1 500 ft AGL
440
+- C) 4 500 ft AGL.
441
+- D) 1 500 ft MSL.
408442
409443 #### Réponse
410444
....@@ -412,24 +446,26 @@
412446
413447 #### Explication
414448
415
-La bonne réponse est A car en altitude, la densité de l'air diminue. Pour une même IAS, la TAS est plus élevée car l'aéronef doit se déplacer plus vite dans l'air raréfié pour produire la même pression dynamique. La relation approximative est TAS = IAS × √(densité au niveau de la mer / densité réelle).
449
+La bonne réponse est A car LO R 4 a sa limite supérieure publiée à 4 500 ft MSL — une altitude fixe au-dessus du niveau moyen de la mer.
416450
417
-- **B** est faux car la TAS est toujours supérieure ou égale à l'IAS.
418
-- **C** est faux car elles ne sont identiques qu'au niveau de la mer en atmosphère standard.
419
-- **D** est faux car la TAS augmente avec l'altitude pour une IAS donnée.
451
+- **B** est faux car 1 500 ft AGL fait référence au-dessus du sol, ce qui varie avec le terrain.
452
+- **C** est faux car 4 500 ft AGL ne serait pas une limite fixe.
453
+- **D** est faux car 1 500 ft MSL est trop bas et ne correspond pas aux données cartographiques pour cette zone réglementée particulière.
420454
421455 #### Termes clés
422456
423
-IAS = Vitesse indiquée (Indicated Airspeed) ; TAS = Vitesse vraie (True Airspeed)
457
+AGL = Au-dessus du sol (Above Ground Level) ; MSL = Niveau moyen de la mer (Mean Sea Level)
424458
425
-### Q21: Qu'est-ce que la VNO (vitesse maximale en air turbulent) ? ^t30q21
459
+### Q21: Jusqu'à quelle altitude le survol est-il interdit selon le NOTAM ? ^t30q21
426460
427461 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q21) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q21)
428462
429
-- A) La vitesse de décrochage.
430
-- B) La vitesse maximale en air calme.
431
-- C) La vitesse maximale à ne pas dépasser en conditions normales d'exploitation en air turbulent.
432
-- D) La vitesse de meilleure finesse.
463
+![](figures/t30_q21.png)
464
+
465
+- A) Niveau de vol 95
466
+- B) Hauteur 9 500 ft
467
+- C) Altitude 9 500 ft MSL
468
+- D) Altitude 9 500 m MSL
433469
434470 #### Réponse
435471
....@@ -437,24 +473,24 @@
437473
438474 #### Explication
439475
440
-La bonne réponse est C car la VNO est la vitesse maximale d'exploitation en conditions normales, qui ne doit pas être dépassée sauf en air calme. Au-delà de cette vitesse, les rafales pourraient causer des charges structurelles dépassant les limites de conception.
476
+La bonne réponse est C car les références d'altitude dans les NOTAM suivent les conventions OACI où « altitude » désigne la hauteur au-dessus du niveau moyen de la mer (MSL). Le NOTAM interdit le survol jusqu'à 9 500 ft MSL.
441477
442
-- **B** est faux car c'est la VNE qui constitue la vitesse à ne jamais dépasser.
443
-- **A** est faux car la vitesse de décrochage est beaucoup plus basse.
444
-- **D** est faux car la vitesse de meilleure finesse est un concept différent.
478
+- **A** est faux car le FL 95 est une référence d'altitude-pression (basée sur 1013,25 hPa), ce qui n'est pas la même chose qu'une altitude MSL.
479
+- **B** est faux car « hauteur » implique au-dessus du sol (AGL).
480
+- **D** est faux car 9 500 m MSL correspondrait à environ 31 000 ft — clairement incohérent avec une restriction VFR typique.
445481
446482 #### Termes clés
447483
448
-VNE = Vitesse à ne jamais dépasser ; VNO = Vitesse maximale en croisière
484
+AGL = Au-dessus du sol (Above Ground Level) ; FL = Niveau de vol (Flight Level) ; OACI = Organisation de l'aviation civile internationale ; MSL = Niveau moyen de la mer (Mean Sea Level) ; NOTAM = Avis aux navigants (Notice to Air Missions) ; VFR = Règles de vol à vue (Visual Flight Rules)
449485
450
-### Q22: Comment se détermine la vitesse de meilleure finesse à partir de la polaire des vitesses ? ^t30q22
486
+### Q22: Que faut-il prendre en compte pour les vols transfrontaliers ? ^t30q22
451487
452488 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q22) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q22)
453489
454
-- A) En traçant une horizontale passant par le minimum de la courbe.
455
-- B) En trouvant le point le plus à gauche de la courbe.
456
-- C) En traçant la tangente depuis l'origine à la courbe de la polaire.
457
-- D) En trouvant le point le plus bas de la courbe.
490
+- A) Transmission de rapports de danger
491
+- B) Exceptions approuvées
492
+- C) Exige un plan de vol
493
+- D) Messages de position réguliers
458494
459495 #### Réponse
460496
....@@ -462,20 +498,24 @@
462498
463499 #### Explication
464500
465
-La bonne réponse est C car la tangente tirée depuis l'origine jusqu'à la courbe de la polaire des vitesses donne le point de rapport vitesse horizontale / taux de chute maximal, qui correspond à la meilleure finesse.
501
+La bonne réponse est C car selon l'Annexe 2 de l'OACI et les réglementations nationales, un plan de vol est obligatoire pour tout vol international franchissant des frontières étatiques, même pour les vols VFR en planeur. Cela assure la coordination pour le contrôle aux frontières, l'alerte recherche et sauvetage, et les procédures douanières et d'immigration.
466502
467
-- **D** est faux car le point le plus bas donne la vitesse de taux de chute minimum (meilleure endurance).
468
-- **B** est faux car cela donnerait la vitesse de décrochage.
469
-- **A** est faux car une horizontale ne représente pas le rapport finesse.
503
+- **A** est faux car les rapports de danger (PIREP) sont une procédure de communication distincte.
504
+- **B** est faux car « exceptions approuvées » est trop vague et n'est pas l'exigence principale.
505
+- **D** est faux car les comptes rendus de position réguliers sont distincts de l'exigence de plan de vol.
470506
471
-### Q23: Comment varie la distance de décollage en remorqué avec l'altitude de l'aérodrome ? ^t30q23
507
+#### Termes clés
508
+
509
+OACI = Organisation de l'aviation civile internationale ; VFR = Règles de vol à vue (Visual Flight Rules)
510
+
511
+### Q23: Pendant un vol, un plan de vol peut être déposé auprès du ^t30q23
472512
473513 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q23) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q23)
474514
475
-- **A)** Elle dépend uniquement de la température.
476
-- **B)** Elle augmente avec l'altitude.
477
-- **C)** Elle diminue avec l'altitude.
478
-- **D)** Elle reste constante.
515
+- A) Prochain exploitant d'aérodrome en route.
516
+- B) Service d'information de vol (FIS).
517
+- C) Service d'information aéronautique (AIS).
518
+- D) Service de recherche et sauvetage (SAR).
479519
480520 #### Réponse
481521
....@@ -483,20 +523,20 @@
483523
484524 #### Explication
485525
486
-La bonne réponse est B car en altitude, la densité de l'air diminue, ce qui réduit la portance et la traction disponibles à toute vitesse sol donnée. L'aéronef a besoin d'une vitesse sol plus élevée pour atteindre la même vitesse aérodynamique, allongeant la distance de décollage.
526
+La bonne réponse est B car le Service d'information de vol (FIS), joignable sur la fréquence FIS publiée, peut accepter un plan de vol en vol (AFIL) pendant le vol. C'est la procédure standard pour le dépôt en vol.
487527
488
-- **C** est faux car la densité réduite allonge la distance.
489
-- **D** est faux car l'altitude affecte directement les performances.
490
-- **A** est faux car la température n'est qu'un des facteurs, l'altitude (pression) en est un autre.
528
+- **A** est faux car les exploitants d'aérodrome gèrent les opérations au sol locales, pas le dépôt de plans en route.
529
+- **C** est faux car l'AIS distribue les publications aéronautiques mais n'accepte pas les plans de vol en temps réel.
530
+- **D** est faux car le SAR est un service de réponse activé lorsqu'un aéronef est en retard ou en détresse.
491531
492
-### Q24: Quel est l'effet d'une piste en herbe mouillée sur la distance d'atterrissage d'un planeur ? ^t30q24
532
+### Q24: Lors de la planification d'un vol de campagne en planeur, quelles structures au sol doivent être évitées en route ? ^t30q24
493533
494534 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q24) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q24)
495535
496
-- **A)** Le planeur risque de sortir de piste (tête-à-queue).
497
-- **B)** La distance d'atterrissage est plus courte.
498
-- **C)** Aucun effet.
499
-- **D)** La distance d'atterrissage est plus longue.
536
+- **A)** Carrières de pierre et grandes zones de sable
537
+- **B)** Sol humide, surfaces d'eau, zones marécageuses
538
+- **C)** Autoroutes, voies ferrées et canaux.
539
+- **D)** Zones avec des bâtiments, du béton et de l'asphalte.
500540
501541 #### Réponse
502542
....@@ -504,20 +544,20 @@
504544
505545 #### Explication
506546
507
-La bonne réponse est B car une surface herbeuse détrempée crée une friction et une résistance au roulement plus importantes sur le train d'atterrissage, ce qui freine le planeur plus rapidement et réduit la distance d'arrêt.
547
+La bonne réponse est B car les sols humides, les étendues d'eau et les marécages ont une inertie thermique et une capacité calorifique spécifique élevées — ils absorbent le rayonnement solaire sans chauffer rapidement, supprimant le développement thermique au-dessus d'eux. Voler au-dessus de ces zones signifie moins de portance et potentiellement un atterrissage en campagne sur un terrain inadapté.
508548
509
-- **D** est faux car l'herbe mouillée augmente la résistance au roulement.
510
-- **A** est faux car l'effet principal est le raccourcissement de la distance d'arrêt.
511
-- **C** est faux car l'état de la surface affecte toujours la distance d'atterrissage.
549
+- **A** est faux car les carrières de pierre et les zones sablonneuses chauffent bien et produisent souvent de bons thermiques.
550
+- **C** est faux car les éléments linéaires comme les autoroutes et les voies ferrées sont des aides à la navigation utiles.
551
+- **D** est faux car les zones bâties avec des surfaces sombres (asphalte, béton) génèrent de forts thermiques.
512552
513
-### Q25: Comment la vitesse de décrochage varie-t-elle en virage ? ^t30q25
553
+### Q25: Lors d'un vol de campagne, vous approchez un point de virage sous le vent. Ce point doit être pris ... ^t30q25
514554
515555 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q25) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q25)
516556
517
-- **A)** Elle augmente avec le facteur de charge.
518
-- **B)** Elle diminue en virage.
519
-- **C)** Elle reste identique.
520
-- **D)** Elle dépend de la direction du virage.
557
+- **A)** Le plus haut possible.
558
+- **B)** Avec le moins d'inclinaison possible.
559
+- **C)** Le plus bas possible.
560
+- **D)** Le plus serré possible.
521561
522562 #### Réponse
523563
....@@ -525,20 +565,20 @@
525565
526566 #### Explication
527567
528
-La bonne réponse est A car en virage coordonné, le facteur de charge augmente (n = 1/cos φ), et la vitesse de décrochage augmente proportionnellement à la racine carrée du facteur de charge: Vs_virage = Vs_palier × √n.
568
+La bonne réponse est A car à un point de virage sous le vent, le planeur doit inverser sa direction et voler face au vent. Cela réduit immédiatement la vitesse sol et raccourcit la distance de plané réalisable par rapport au sol. Arriver haut fournit une réserve d'altitude maximale pour la branche face au vent suivante.
529569
530
-- **B** est faux car le facteur de charge accru exige davantage de portance.
531
-- **C** est faux car la vitesse de décrochage n'est jamais identique en virage.
532
-- **D** est faux car la direction du virage n'affecte pas le facteur de charge.
570
+- **B** est faux car l'angle d'inclinaison est une préoccupation secondaire par rapport à l'altitude.
571
+- **C** est faux car arriver bas avec un virage à effectuer et un retour face au vent est tactiquement dangereux.
572
+- **D** est faux car les virages serrés perdent plus d'altitude, aggravant le problème.
533573
534
-### Q26: Quelle est la relation entre la polaire des vitesses d'un planeur et sa masse en vol ? ^t30q26
574
+### Q26: Après avoir contourné un point de virage, à quoi un pilote de planeur doit-il être préparé ? ^t30q26
535575
536576 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q26) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q26)
537577
538
-- **A)** La polaire se déplace vers des vitesses plus basses lorsque la masse augmente.
539
-- **B)** La polaire se déplace uniquement verticalement lorsque la masse augmente.
540
-- **C)** La polaire ne change pas avec la masse.
541
-- **D)** La polaire se déplace vers des vitesses plus élevées et des taux de chute plus grands lorsque la masse augmente.
578
+- **A)** À un affaiblissement des thermiques dû à l'avancement de la journée
579
+- **B)** À un panorama horizontal modifié en raison de bases de nuages plus basses
580
+- **C)** À une dissipation accrue des nuages due à l'avancement de la journée
581
+- **D)** À un panorama nuageux modifié en raison de la position apparemment changée du soleil
542582
543583 #### Réponse
544584
....@@ -546,62 +586,76 @@
546586
547587 #### Explication
548588
549
-La bonne réponse est D car une augmentation de masse déplace la polaire des vitesses vers la droite (vitesses plus élevées) et vers le bas (taux de chute accrus). Pour chaque coefficient de portance, la vitesse requise augmente proportionnellement à la racine carrée du rapport de masse.
589
+La bonne réponse est D car lorsqu'un planeur vire de 90 ou 180 degrés à un point de virage, toute la perspective visuelle du pilote change radicalement. Le soleil semble s'être déplacé par rapport au cap, et les cumulus qui étaient derrière ou à côté de l'appareil apparaissent maintenant à des positions différentes. Ce changement de perception peut rendre le ciel complètement différent.
550590
551
-- **C** est faux car la masse a un effet significatif sur la polaire.
552
-- **A** est faux car les vitesses augmentent, elles ne diminuent pas.
553
-- **B** est faux car le déplacement est à la fois horizontal et vertical.
591
+- **A** est faux car l'affaiblissement des thermiques est un problème lié à l'heure de la journée, pas au point de virage.
592
+- **B** est faux car les bases des nuages ne changent pas lors d'un virage.
593
+- **C** est faux car la dissipation des nuages n'a aucun rapport avec les changements de cap.
554594
555
-### Q27: Qu'arrive-t-il à la finesse maximale lorsque la masse d'un planeur augmente (en négligeant l'effet de Reynolds) ? ^t30q27
595
+### Q27: Selon l'OACI, quel symbole indique un groupe d'obstacles non éclairés ? ^t30q27
556596
557597 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q27) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q27)
558598
559
-- **A)** Elle diminue.
560
-- **B)** Elle reste essentiellement inchangée.
561
-- **C)** Elle est divisée par deux.
562
-- **D)** Elle augmente.
599
+![Symboles d'obstacles OACI](figures/t30_q27.svg)
600
+
601
+- **A)** Obstacle isolé éclairé
602
+- **B)** Obstacle isolé non éclairé
603
+- **C)** Groupe d'obstacles éclairés
604
+- **D)** Groupe d'obstacles non éclairés
563605
564606 #### Réponse
565607
566
-B)
608
+D)
567609
568610 #### Explication
569611
570
-La bonne réponse est B car la finesse maximale (rapport L/D maximal) est déterminée par l'aérodynamique de la voilure et ne dépend pas de la masse. En augmentant la masse, la tangente depuis l'origine touche la polaire à un angle identique, mais à une vitesse plus élevée.
612
+La bonne réponse est D car la symbologie cartographique de l'OACI (Annexe 4) utilise des symboles distincts pour différencier les obstacles isolés des groupes, et les éclairés des non éclairés. Le symbole pour un groupe d'obstacles non éclairés est représenté comme D dans la figure — deux cercles pleins côte à côte sans rayons lumineux. Connaître ces symboles est essentiel pour la planification de vols de campagne et l'évitement d'obstacles.
571613
572
-- **D** est faux car la finesse ne s'améliore pas avec la masse.
573
-- **A** est faux car la finesse ne se dégrade pas non plus.
574
-- **C** est faux car aucune réduction n'est attendue.
614
+- **Option A** — représente un obstacle isolé éclairé (cercle plein avec rayons lumineux).
615
+- **Option B** — représente un obstacle isolé non éclairé (cercle plein sans rayons lumineux).
616
+- **Option C** — représente un groupe d'obstacles éclairés (deux cercles pleins avec rayons lumineux).
575617
576
-### Q28: Comment la VNE indiquée varie-t-elle avec l'altitude ? ^t30q28
618
+#### Termes clés
619
+
620
+OACI = Organisation de l'aviation civile internationale
621
+
622
+### Q28: Selon l'OACI, quel symbole indique un aéroport civil (pas un aéroport international) avec piste revêtue ? ^t30q28
577623
578624 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q28) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q28)
579625
580
-- **A)** Elle augmente.
581
-- **B)** Elle reste la même ; le badin compense automatiquement.
582
-- **C)** Elle varie en fonction de la température extérieure.
583
-- **D)** Elle diminue.
626
+![Symboles d'aéroports OACI](figures/t30_q28.svg)
627
+
628
+- **A)** Aéroport civil, piste revêtue
629
+- **B)** Aéroport militaire, piste revêtue
630
+- **C)** Aéroport civil, piste non revêtue
631
+- **D)** Héliport
584632
585633 #### Réponse
586634
587
-B)
635
+A)
588636
589637 #### Explication
590638
591
-La bonne réponse est B car le badin mesure la pression dynamique, qui tient intrinsèquement compte de la densité de l'air. Le repère VNE sur le badin (trait rouge) représente une valeur fixe d'IAS correspondant à la limite structurelle. Cependant, la VNE admissible en IAS doit effectivement être réduite en haute altitude selon le tableau vitesse-altitude du manuel de vol. A et B/D sont faux car le repère physique sur l'instrument ne bouge pas.
639
+La bonne réponse est A car la symbologie des cartes aéronautiques de l'OACI différencie les aéroports selon leur statut civil ou militaire et le type de surface de piste. Un aéroport civil avec piste revêtue est représenté par le symbole A dans la figure — un cercle avec une barre de piste pleine traversant le centre. Les pilotes de planeur utilisent ces symboles lors de la planification de terrains de déroutement ou d'aéroports alternatifs.
640
+
641
+- **Option B** — représente un aéroport militaire avec piste revêtue (cercle avec barre de piste et barre transversale).
642
+- **Option C** — représente un aéroport civil avec piste non revêtue (cercle avec barre de piste en contour ouvert).
643
+- **Option D** — représente un héliport (carré avec H).
592644
593645 #### Termes clés
594646
595
-IAS = Vitesse indiquée (Indicated Airspeed) ; VNE = Vitesse à ne jamais dépasser
647
+OACI = Organisation de l'aviation civile internationale
596648
597
-### Q29: Quelle est la vitesse de meilleure finesse en air calme pour une masse en vol de 350 kg ? (Voir feuille annexée.) ^t30q29
649
+### Q29: Selon l'OACI, quel symbole indique un point coté général ? ^t30q29
598650
599651 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q29) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q29)
600652
601
-- A) 75 km/h
602
-- B) 95 km/h
603
-- C) 55 km/h
604
-- D) 65 km/h
653
+![Symboles de points cotés OACI](figures/t30_q29.svg)
654
+
655
+- **A)** Point coté général
656
+- **B)** Point coté le plus élevé de la carte
657
+- **C)** Sommet de montagne / cime
658
+- **D)** Point trigonométrique
605659
606660 #### Réponse
607661
....@@ -609,16 +663,24 @@
609663
610664 #### Explication
611665
612
-La bonne réponse est A (75 km/h) car la vitesse de meilleure finesse se trouve en traçant la tangente depuis l'origine jusqu'à la courbe de la polaire pour 350 kg. Le point de tangence donne la vitesse correspondant au rapport portance/traînée maximal. B (95 km/h) est trop rapide. C (55 km/h) est proche de la vitesse de décrochage. D (65 km/h) est en dessous de la vitesse optimale.
666
+La bonne réponse est A car les cartes OACI utilisent des symboles spécifiques pour différencier les points cotés généraux, le point le plus élevé d'une carte, les sommets de montagne et les points trigonométriques. Un point coté général est représenté par le symbole A — un petit point avec un simple numéro d'altitude à côté. La familiarité avec ces symboles est essentielle pour la planification du franchissement du relief.
613667
614
-### Q30: Vous souhaitez voler de l'aérodrome A (altitude 500 m) à l'aérodrome B situé à 45 km, avec un vent de face de 20 km/h. La finesse de votre planeur est de 30. Pouvez-vous atteindre l'aérodrome B ? ^t30q30
668
+- **Option B** — représente le point coté le plus élevé de la carte (point plus grand en gras avec numéro d'altitude en gras souligné).
669
+- **Option C** — représente un sommet de montagne ou une cime (triangle plein avec numéro d'altitude).
670
+- **Option D** — représente un point trigonométrique (triangle ouvert avec point central et numéro d'altitude).
671
+
672
+#### Termes clés
673
+
674
+OACI = Organisation de l'aviation civile internationale
675
+
676
+### Q30: Quelle distance peut être parcourue lors d'un plané dans un planeur avec une finesse de 1/30 depuis une hauteur de 1 500 m ? (Négliger le vent et les effets thermiques) ^t30q30
615677
616678 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q30) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q30)
617679
618
-- **A)** Oui, exactement.
619
-- **B)** Oui, vous arrivez avec de la marge.
620
-- **C)** Non, la distance franchissable est insuffisante.
621
-- **D)** Cela dépend de la température.
680
+- A) 45 NM
681
+- B) 30 km
682
+- C) 45 km
683
+- D) 81 NM
622684
623685 #### Réponse
624686
....@@ -626,16 +688,25 @@
626688
627689 #### Explication
628690
629
-La bonne réponse est C car la finesse de 30 donne une distance franchissable en air calme de 30 × 500 m = 15 km d'altitude ×... (cette question nécessite les données spécifiques de l'exercice). Avec un vent de face de 20 km/h, la vitesse sol diminue, ce qui réduit la distance franchissable par rapport au sol. Le calcul montre que la distance est insuffisante pour atteindre B.
691
+La bonne réponse est C car la distance de plané est égale à la finesse multipliée par la hauteur : 30 × 1 500 m = 45 000 m = 45 km. La finesse de 1:30 signifie que le planeur parcourt 30 mètres horizontalement pour chaque mètre de hauteur perdu.
630692
631
-### Q31: À quelle vitesse doit voler un planeur par vent de face pour maximiser la distance franchissable par rapport au sol ? ^t30q31
693
+- **A** est faux car 45 NM équivalent à environ 83 km, ce qui nécessiterait une finesse d'environ 1:55.
694
+- **B** est faux car 30 km correspondraient à une finesse de seulement 1:20.
695
+- **D** est faux car 81 NM (150 km) nécessiteraient une finesse de 1:100.
696
+- Vérifiez toujours la cohérence des unités — mélanger milles nautiques et mètres est un piège courant à l'examen.
697
+
698
+#### Termes clés
699
+
700
+NM = Mille(s) nautique(s) (Nautical Mile)
701
+
702
+### Q31: Pourquoi la charge alaire peut-elle être augmentée lorsque les conditions de vol à voile sont bonnes ? ^t30q31
632703
633704 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q31) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q31)
634705
635
-- **A)** À la vitesse de taux de chute minimum.
636
-- **B)** À une vitesse supérieure à la vitesse de meilleure finesse en air calme.
637
-- **C)** À la vitesse de meilleure finesse en air calme.
638
-- **D)** À la vitesse de décrochage.
706
+- A) Parce que la vitesse de décrochage diminue.
707
+- B) Parce que le planeur atteint une meilleure finesse à haute vitesse même si la vitesse minimale augmente.
708
+- C) Parce que le planeur peut voler plus lentement et atteint une meilleure finesse.
709
+- D) Parce que le planeur a un meilleur taux de montée même s'il doit voler plus lentement.
639710
640711 #### Réponse
641712
....@@ -643,20 +714,20 @@
643714
644715 #### Explication
645716
646
-La bonne réponse est B car avec un vent de face, le point d'origine de la tangente sur la polaire se déplace vers la droite (vers des vitesses plus élevées). Cela signifie que la vitesse optimale de finesse sol est supérieure à celle en air calme. Voler plus vite compense partiellement la perte de vitesse sol due au vent de face.
717
+La bonne réponse est B car dans des conditions thermiques fortes, le planeur bénéficie de voler plus vite entre les thermiques (théorie de MacCready). L'ajout de ballast d'eau augmente la charge alaire, ce qui décale la polaire des vitesses vers la droite — améliorant la finesse aux vitesses de croisière élevées tout en acceptant une vitesse de décrochage et une vitesse de chute minimale plus élevées.
647718
648
-- **C** est faux car cette vitesse n'est optimale qu'en air calme.
649
-- **A** est faux car la vitesse de taux de chute minimum maximise la durée de vol, pas la distance.
650
-- **D** est faux car la vitesse de décrochage donne une très mauvaise finesse.
719
+- **A** est faux car l'augmentation de la charge alaire élève la vitesse de décrochage.
720
+- **C** est faux car une charge alaire plus élevée signifie que le planeur doit voler plus vite, pas plus lentement.
721
+- **D** est faux car un planeur plus lourd a un taux de montée inférieur dans les thermiques en raison de sa vitesse de chute minimale plus élevée.
651722
652
-### Q32: À quelle vitesse doit voler un planeur par vent arrière pour maximiser la distance franchissable par rapport au sol ? ^t30q32
723
+### Q32: La roulette de queue d'un planeur n'a pas été retirée avant le départ. Quelle en sera la conséquence ? ^t30q32
653724
654725 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q32) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q32)
655726
656
-- **A)** À la vitesse de meilleure finesse en air calme.
657
-- **B)** À une vitesse supérieure à la vitesse de meilleure finesse en air calme.
658
-- **C)** À la VNE.
659
-- **D)** À une vitesse inférieure à la vitesse de meilleure finesse en air calme.
727
+- **A)** Meilleure maniabilité au décollage.
728
+- **B)** Le centre de gravité se déplace vers l'avant.
729
+- **C)** Aucune conséquence. La roue ne représente qu'une fraction infime du poids total du planeur et n'a aucun effet sur le centre de gravité.
730
+- **D)** Le centre de gravité sera plus en arrière et possiblement trop en arrière, ce qui est dangereux.
660731
661732 #### Réponse
662733
....@@ -664,24 +735,20 @@
664735
665736 #### Explication
666737
667
-La bonne réponse est D car avec un vent arrière, le point d'origine de la tangente sur la polaire se déplace vers la gauche (vers des vitesses plus basses). La vitesse optimale de finesse sol est donc inférieure à celle en air calme.
738
+La bonne réponse est D car la roulette de queue est montée à l'extrémité arrière du fuselage, loin en arrière du C.G. nominal. Même si sa masse absolue est faible, son grand bras de levier produit un moment significatif qui déplace le C.G. vers l'arrière — potentiellement au-delà de la limite arrière, rendant l'aéronef instable en tangage et difficile à contrôler.
668739
669
-- **A** est faux car cette vitesse n'est optimale qu'en air calme.
670
-- **B** est faux car voler plus vite serait contre-productif avec un vent arrière.
671
-- **C** est faux car la VNE donne une très mauvaise finesse.
740
+- **A** est faux car la roulette de queue n'améliore pas la maniabilité.
741
+- **B** est faux car la roulette de queue est en arrière du C.G., donc sa présence déplace le C.G. vers l'arrière, pas vers l'avant.
742
+- **C** est faux car le grand bras amplifie l'effet même d'une petite masse.
672743
673
-#### Termes clés
674
-
675
-VNE = Vitesse à ne jamais dépasser
676
-
677
-### Q33: Quel est le taux de chute minimum d'un planeur ASK 21 à 500 kg de masse en vol ? (Voir polaire annexée.) ^t30q33
744
+### Q33: Le pilote dépasse la charge maximale du cockpit de 10 kg. Que faut-il faire ? ^t30q33
678745
679746 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q33) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q33)
680747
681
-- A) 1,00 m/s
682
-- B) 0,65 m/s
683
-- C) 0,80 m/s
684
-- D) 1,20 m/s
748
+- **A)** Compenser vers l'arrière.
749
+- **B)** Compenser vers l'avant.
750
+- **C)** Réduire la charge utile.
751
+- **D)** Compenser en réduisant légèrement le ballast d'eau.
685752
686753 #### Réponse
687754
....@@ -689,16 +756,18 @@
689756
690757 #### Explication
691758
692
-La bonne réponse est C (0,80 m/s) car en lisant la polaire des vitesses pour une masse de 500 kg, le point le plus bas de la courbe (taux de chute minimum) est situé à environ 0,80 m/s. A (0,65 m/s) est trop bas pour cette masse. C (1,00 m/s) est trop élevé pour le point minimum. D (1,20 m/s) correspond à une vitesse bien supérieure.
759
+La bonne réponse est C car la charge maximale du siège est une limite de certification qui ne peut être contournée. La dépasser peut placer le C.G. en dehors de la limite avant et soumettre la structure à des charges supérieures à celles testées. Le seul remède est de réduire la charge utile jusqu'à ce que les limites soient respectées. A et B sont faux car le trim modifie les forces aérodynamiques sur la gouverne de profondeur mais ne change pas la masse ni la position du C.G. de l'aéronef.
693760
694
-### Q34: Dans l'espace aérien au-dessus de l'aérodrome de Langenthal (47°10'58''N / 007°44'29''E) à une altitude de 2000 m AMSL (QNH 1013 hPa), dans quelle classe d'espace aérien êtes-vous, et quelles sont les exigences minimales de visibilité et de distance aux nuages ? ^t30q34
761
+- **D** est faux car réduire le ballast d'eau modifie la masse totale mais ne traite pas la limitation spécifique de charge du siège.
762
+
763
+### Q34: Qu'est-ce qui propulse un planeur pur vers l'avant ? ^t30q34
695764
696765 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q34) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q34)
697766
698
-- **A)** Espace aérien de classe G, visibilité horizontale 1,5 km, hors des nuages avec vue continue du sol.
699
-- **B)** Espace aérien de classe D, visibilité horizontale 5 km, distance aux nuages : 1,5 km horizontalement, 300 m verticalement.
700
-- **C)** Espace aérien de classe E, visibilité horizontale 5 km, distance aux nuages : 1,5 km horizontalement, 300 m verticalement.
701
-- **D)** Espace aérien de classe C, visibilité horizontale 5 km, distance aux nuages : 1,5 km horizontalement, 300 m verticalement.
767
+- **A)** Les courants d'air ascendants.
768
+- **B)** La traînée dirigée vers l'avant.
769
+- **C)** La composante de la gravité agissant dans la direction de la trajectoire de vol.
770
+- **D)** Un vent arrière.
702771
703772 #### Réponse
704773
....@@ -706,24 +775,20 @@
706775
707776 #### Explication
708777
709
-La bonne réponse est C car à 2000 m AMSL au-dessus de Langenthal, vous êtes en espace aérien de classe E. Le vol VFR en classe E exige une visibilité horizontale de 5 km, un espacement horizontal aux nuages de 1500 m et un espacement vertical de 300 m.
778
+La bonne réponse est C car en vol plané stabilisé, le vecteur poids peut être décomposé en deux composantes : l'une perpendiculaire à la trajectoire de vol (équilibrée par la portance) et l'autre le long de la trajectoire de vol. Cette composante de la gravité le long de la trajectoire fournit la force motrice vers l'avant qui équilibre la traînée et maintient la vitesse.
710779
711
-- **A** est faux car la classe G avec ses minima réduits ne s'applique qu'à très basse altitude.
712
-- **B** est faux car il n'y a pas de TMA de classe D à cet endroit et à cette altitude.
713
-- **D** est faux car la classe C commence au FL 130 dans cette région, bien au-dessus de 2000 m AMSL.
780
+- **A** est faux car les ascendances peuvent réduire le taux de descente mais ne propulsent pas le planeur vers l'avant dans la masse d'air.
781
+- **B** est faux car la traînée s'oppose toujours à la direction du mouvement.
782
+- **D** est faux car un vent arrière affecte la vitesse sol mais ne propulse pas l'aéronef dans la masse d'air.
714783
715
-#### Termes clés
716
-
717
-AMSL = Au-dessus du niveau moyen de la mer ; FL = Niveau de vol (Flight Level) ; QNH = Pression ramenée au niveau de la mer ; TMA = Région de contrôle terminale ; VFR = Règles de vol à vue
718
-
719
-### Q35: Quelle est la charge alaire ? ^t30q35
784
+### Q35: La masse actuelle d'un aéronef est de 610 kg et la position du centre de gravité (C.G.) est à 80,0. Vous retirez un élément de bagage de 10 kg situé à un bras de levier de 150. Quel est le nouveau centre de gravité ? ^t30q35
720785
721786 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q35) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q35)
722787
723
-- A) Le rapport entre la portance et la traînée.
724
-- B) Le poids des ailes de l'aéronef.
725
-- C) La charge maximale que les ailes peuvent supporter.
726
-- D) Le rapport entre la masse de l'aéronef et la surface alaire.
788
+- **A)** 75,0
789
+- **B)** 81,166
790
+- **C)** 70,0
791
+- **D)** 78,833
727792
728793 #### Réponse
729794
....@@ -731,20 +796,40 @@
731796
732797 #### Explication
733798
734
-La bonne réponse est D car la charge alaire est définie comme le rapport entre la masse totale de l'aéronef (en kg) et la surface alaire (en m²), exprimée en kg/m². C'est un paramètre fondamental qui influence la vitesse de décrochage, les performances en virage et la réponse aux turbulences.
799
+La bonne réponse est D. Le calcul se déroule comme suit : Moment initial = 610 × 80,0 = 48 800. Moment retiré = 10 × 150 = 1 500. Nouveau moment total = 48 800 − 1 500 = 47 300. Nouvelle masse = 610 − 10 = 600 kg. Nouveau C.G. = 47 300 / 600 = 78,833. Puisque le bagage était situé en arrière du C.G. actuel (bras 150 > 80), le retirer déplace le C.G. vers l'avant — cohérent avec le résultat (78,833 < 80,0).
735800
736
-- **B** est faux car il ne s'agit pas du poids des ailes.
737
-- **C** est faux car c'est le facteur de charge qui détermine la charge maximale.
738
-- **A** est faux car le rapport portance/traînée est la finesse.
801
+- **Option A** (75,0) et C (70,0) sont trop en avant.
802
+- **Option B** (81,166) montre incorrectement un déplacement vers l'arrière.
739803
740
-### Q36: Si la charge alaire augmente de 40 % par du ballast d'eau, de quel pourcentage la vitesse minimale augmente-t-elle ? ^t30q36
804
+### Q36: La masse à vide du Discus B est de 245 kg. Vous prévoyez d'emporter 184 kg de ballast d'eau. Quelle est la charge maximale au siège du pilote ? ^t30q36
741805
742806 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q36) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q36)
743807
744
-- **A)** 100 %.
745
-- **B)** 40 %.
746
-- **C)** 18 %.
747
-- **D)** 0 %.
808
+> **Extrait du manuel de vol du Discus B — Tableau de chargement avec ballast d'eau**
809
+
810
+> ![[figures/t30_q36.png]]
811
+
812
+> Masse maximale autorisée y compris ballast d'eau : **525 kg**
813
+> Bras de levier du ballast d'eau : **203 mm en arrière du plan de référence (BE)**
814
+
815
+> *Tableau des charges de ballast d'eau pour différentes masses à vide et charges au siège :*
816
+
817
+| Masse à vide (kg) | Charge siège 70 kg | 80 kg | 90 kg | 100 kg | 110 kg |
818
+|---|---|---|---|---|---|
819
+| 220 | 184 | 184 | 184 | 184 | 184 |
820
+| 225 | 184 | 184 | 184 | 184 | 184 |
821
+| 230 | 184 | 184 | 184 | 184 | 184 |
822
+| 235 | 184 | 184 | 184 | 184 | 180 |
823
+| 240 | 184 | 184 | 184 | 184 | 175 |
824
+| 245 | 184 | 184 | 184 | 180 | 170 |
825
+| 250 | 184 | 184 | 184 | 175 | 165 |
826
+
827
+> *Ballast d'eau dans les deux réservoirs d'aile (kg). Pour une masse à vide de 245 kg et un ballast de 184 kg : la charge maximale au siège est de **90 kg** (colonne 90 kg → valeur 184, mais colonne 100 kg → 180 et colonne 110 kg → 170 ; avec un ballast de 184 requis, lire la ligne 245 kg et trouver la charge au siège correspondant à un ballast de 184, soit max 90 kg autorisés selon le tableau).*
828
+
829
+- **A)** 100 kg
830
+- **B)** 110 kg
831
+- **C)** 90 kg
832
+- **D)** 80 kg
748833
749834 #### Réponse
750835
....@@ -752,22 +837,19 @@
752837
753838 #### Explication
754839
755
-La bonne réponse est C car la vitesse de décrochage (et donc la vitesse minimale) est proportionnelle à la racine carrée de la charge alaire. Si la charge alaire augmente de 40 % (facteur 1,4), la nouvelle vitesse minimale est l'originale multipliée par √1,4 ≈ 1,183 — soit une augmentation d'environ 18,3 %.
840
+La bonne réponse est C (90 kg). En lisant le tableau de chargement du Discus B à la ligne de masse à vide 245 kg : avec une charge au siège de 90 kg, le ballast d'eau autorisé est de 184 kg (correspondant à notre besoin), mais à 100 kg de charge au siège seuls 180 kg de ballast sont autorisés, et à 110 kg seulement 170 kg. Puisque nous avons besoin de la totalité des 184 kg de ballast, la charge maximale au siège qui le permet encore est de 90 kg.
756841
757
-- **B** est faux car la vitesse n'augmente pas linéairement avec la charge alaire.
758
-- **A** est faux car une augmentation de 100 % signifierait un doublement de la vitesse.
759
-- **D** est faux car toute augmentation de masse élève la vitesse minimale.
842
+- **Option A** (100 kg) et B (110 kg) nécessiteraient de réduire le ballast d'eau en dessous de 184 kg.
843
+- **Option D** (80 kg) est inutilement restrictive — le tableau montre que 184 kg sont encore autorisés à 90 kg.
760844
761
-### Q37: D'après la polaire ci-dessous, quelle affirmation s'applique à une vitesse de 150 km/h ? (Voir feuille annexée.) ^t30q37
845
+### Q37: Quel principe important doit être observé lors d'un atterrissage en campagne sur un terrain en pente ? ^t30q37
762846
763847 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q37) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q37)
764848
765
-![[figures/t30_q61.png]]
766
-
767
-- **A)** L'ASK21 a une moins bonne finesse à plus faible masse en vol
768
-- **B)** Le taux de chute de l'ASK21 est indépendant de sa masse
769
-- **C)** L'ASK21 a un taux de chute plus élevé à plus grande masse en vol
770
-- **D)** L'ASK21 a une meilleure finesse à plus faible masse en vol
849
+- **A)** N'atterrir qu'avec les aérofreins complètement sortis.
850
+- **B)** Atterrir face à la montée avec une vitesse d'approche légèrement supérieure à la normale.
851
+- **C)** Toujours atterrir face au vent indépendamment de la pente.
852
+- **D)** L'arrondi doit être initié à une hauteur plus grande que d'habitude.
771853
772854 #### Réponse
773855
....@@ -775,22 +857,20 @@
775857
776858 #### Explication
777859
778
-La bonne réponse est B car à 150 km/h, les deux courbes polaires pour différentes masses de l'ASK21 se croisent, ce qui signifie que les deux configurations ont le même taux de chute à cette vitesse particulière. C'est une propriété aérodynamique de la polaire: les courbes se croisent à une vitesse où la masse n'a pas d'effet sur le taux de chute.
860
+La bonne réponse est B car atterrir face à la montée utilise la pente pour décélérer le planeur — la gravité aide au freinage, raccourcissant considérablement le roulement au sol. Une vitesse d'approche légèrement supérieure fournit une marge de sécurité contre le cisaillement de vent et les turbulences près d'un terrain inconnu.
779861
780
-- **A** est faux car à 150 km/h la finesse est identique pour les deux masses.
781
-- **C** est faux car les taux de chute sont identiques à ce point d'intersection.
782
-- **D** est également faux car aucune masse n'a une meilleure finesse à cette vitesse précise.
862
+- **A** est faux car les aérofreins complètement sortis ne sont pas toujours appropriés sur des terrains courts ou pentus.
863
+- **C** est faux car sur des pentes significatives, atterrir face à la montée a la priorité sur l'atterrissage face au vent.
864
+- **D** est faux car la hauteur d'arrondi doit être adaptée au terrain, mais ce n'est pas le principe principal.
783865
784
-### Q38: À l'aérodrome d'Amlikon, quelle est la distance d'atterrissage maximale disponible en direction de l'Est ? ^t30q38
866
+### Q38: Vous devez atterrir sous une pluie forte. À quoi devez-vous faire particulièrement attention ? ^t30q38
785867
786868 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q38) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q38)
787869
788
-![[figures/t30_q62.png]]
789
-
790
-- **A)** 700 ft.
791
-- **B)** 780 ft
792
-- **C)** 700 m.
793
-- **D)** 780 m.
870
+- **A)** La vitesse d'approche est inférieure à la normale car la pluie ralentit l'aéronef.
871
+- **B)** L'atterrissage se déroule comme en conditions sèches.
872
+- **C)** En raison de la mauvaise visibilité, l'angle d'approche doit être plus faible que d'habitude.
873
+- **D)** Une vitesse d'approche plus élevée doit être utilisée.
794874
795875 #### Réponse
796876
....@@ -798,20 +878,20 @@
798878
799879 #### Explication
800880
801
-La bonne réponse est D (780 m) car la carte AIP de l'aérodrome d'Amlikon indique une distance d'atterrissage disponible maximale de 780 mètres en direction de l'Est. A et C sont faux car les distances d'atterrissage en Suisse sont données en mètres, pas en pieds. D (700 m) ne correspond pas aux données publiées pour la direction Est.
881
+La bonne réponse est D car la pluie forte sur la surface de l'aile dégrade le profil aérodynamique par une rugosité accrue, augmentant potentiellement la vitesse de décrochage. Une vitesse d'approche plus élevée fournit une marge de sécurité adéquate.
802882
803
-#### Termes clés
883
+- **A** est faux car la pluie n'abaisse pas la vitesse d'approche sûre — au contraire, la vitesse de décrochage augmente.
884
+- **B** est faux car la pluie modifie significativement les conditions (visibilité réduite, surfaces mouillées, aérodynamique dégradée).
885
+- **C** est faux car une approche plus plate réduit les marges de franchissement d'obstacles et prolonge l'approche finale en mauvaise visibilité.
804886
805
-AIP = Publication d'information aéronautique
806
-
807
-### Q39: Quel est l'effet d'un vent arrière sur l'angle de descente par rapport au sol si la vitesse vraie de l'aéronef reste constante ? ^t30q39
887
+### Q39: Vous décollez d'une piste en herbe détrempée après plusieurs jours de pluie. À quoi devez-vous vous attendre ? ^t30q39
808888
809889 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q39) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q39)
810890
811
-- A) Avec un vent de face, l'angle de descente augmente.
812
-- B) Avec un vent de face, l'angle de descente diminue.
813
-- C) Avec un vent arrière, l'angle de descente augmente.
814
-- D) Le vent n'a aucun effet sur l'angle de descente.
891
+- **A)** La distance de décollage sera probablement plus longue.
892
+- **B)** Le planeur est mouillé et a des performances réduites.
893
+- **C)** L'herbe mouillée offre moins de résistance, c'est pourquoi la distance de décollage sera plus courte.
894
+- **D)** Le planeur peut glisser latéralement (aquaplanage).
815895
816896 #### Réponse
817897
....@@ -819,20 +899,26 @@
819899
820900 #### Explication
821901
822
-La bonne réponse est A car un vent de face réduit la vitesse sol tandis que le taux de chute dans la masse d'air reste inchangé. Comme le planeur parcourt moins de distance horizontale par unité d'altitude perdue, l'angle de descente par rapport au sol se raidit (augmente).
902
+La bonne réponse est A car une piste en herbe détrempée crée une plus grande résistance au roulement en raison de la déformation du sol mou et de la traînée de l'eau sur les roues, ralentissant l'accélération et augmentant la distance de décollage.
823903
824
-- **C** est faux car un vent arrière diminue (aplatit) l'angle de descente par rapport au sol en augmentant la vitesse sol.
825
-- **B** est faux car un vent de face augmente, et non diminue, l'angle de descente sol.
826
-- **D** est faux car le vent affecte significativement l'angle de descente par rapport au sol.
904
+- **B** est faux car bien qu'un planeur mouillé ait des performances légèrement dégradées, le problème principal est l'état de la piste.
905
+- **C** est faux car l'herbe mouillée et molle augmente la résistance plutôt que de la réduire.
906
+- **D** est faux car l'aquaplanage se produit sur des surfaces dures avec de l'eau stagnante, pas sur de l'herbe molle — et la question porte sur la distance de décollage, pas sur le contrôle directionnel.
827907
828
-### Q40: Comment la vitesse indiquée (IAS) se compare-t-elle à la vitesse vraie (TAS) lorsque l'altitude augmente ? ^t30q40
908
+### Q40: Laquelle de ces affirmations est correcte à une vitesse de 170 km/h, en tenant compte de la polaire des vitesses suivante ? ^t30q40
829909
830910 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q40) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q40)
831911
832
-- **A)** Elle reste identique.
833
-- **B)** Elle ne peut pas être mesurée.
834
-- **C)** Elle diminue.
835
-- **D)** Elle augmente.
912
+> **Polaire des vitesses ASK 21 :**
913
+
914
+> ![[figures/t30_q40.png]]
915
+
916
+> *Deux courbes : G=470 kp (masse légère, taux de chute min ~0,657 m/s à ~75 km/h) et G=570 kp (masse lourde, taux de chute min ~0,724 m/s). La meilleure finesse se lit à partir de la tangente depuis l'origine. À 170 km/h, le taux de chute est plus élevé pour G=570 kp que pour G=470 kp.*
917
+
918
+- **A)** Indépendamment de la masse de l'ASK21, le taux de chute reste constant.
919
+- **B)** Lorsque la masse de l'ASK21 augmente, le taux de chute augmente.
920
+- **C)** Lorsque la masse de l'ASK21 augmente, le taux de chute augmente.
921
+- **D)** Lorsque la masse de l'ASK21 diminue, l'angle de plané s'améliore.
836922
837923 #### Réponse
838924
....@@ -840,240 +926,325 @@
840926
841927 #### Explication
842928
843
-La bonne réponse est C car lorsque l'altitude augmente, la densité de l'air diminue. Pour une même vitesse vraie, le tube de Pitot mesure moins de pression dynamique, de sorte que l'IAS affichée est inférieure à la TAS. Inversement, pour maintenir la même IAS en altitude, l'aéronef doit voler à une TAS plus élevée.
929
+La bonne réponse est C car à 170 km/h, en lisant les deux courbes polaires, la configuration plus lourde (570 kp) montre un taux de chute plus élevé que la plus légère (470 kp). Un planeur plus lourd nécessite plus de portance pour maintenir le vol, produisant une plus grande traînée induite et donc un taux de chute plus élevé à toute vitesse donnée.
844930
845
-- **D** est faux car l'IAS n'augmente pas par rapport à la TAS avec l'altitude.
846
-- **B** est faux car l'IAS peut toujours être mesurée.
847
-- **A** est faux car l'IAS et la TAS divergent de plus en plus avec l'altitude.
931
+- **A** est faux car les deux courbes montrent clairement des taux de chute différents à 170 km/h.
932
+- **B** et C indiquent la même chose — le taux de chute augmente avec la masse — ce qui est correct.
933
+- **D** est faux car à haute vitesse, l'angle de plané n'est pas nécessairement meilleur à masse plus faible.
934
+
935
+### Q41: Quelle est la vitesse au taux de chute minimal en air calme pour une masse de 450 kg ? ^t30q41
936
+
937
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q41) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q41)
938
+
939
+> **Polaire des vitesses (VITESSE AIR) :**
940
+
941
+> ![[figures/t30_q41.png]]
942
+
943
+> *Deux courbes : 450 kg et 580 kg. Le taux de chute minimal (sommet de la courbe) pour 450 kg est à environ 75 km/h. La courbe 580 kg est décalée vers la droite (vitesses plus élevées) et vers le bas (taux de chute plus élevé).*
944
+
945
+- **A)** 75 km/h
946
+- **B)** 95 km/h
947
+- **C)** 50 km/h
948
+- **D)** 140 km/h
949
+
950
+#### Réponse
951
+
952
+A)
953
+
954
+#### Explication
955
+
956
+La bonne réponse est A car la vitesse de taux de chute minimal correspond au point le plus haut de la courbe polaire — là où le taux de chute est le plus faible. Pour 450 kg, ce sommet se situe à environ 75 km/h. Cette vitesse maximise l'endurance en vol en air calme et est optimale pour le centrage dans les thermiques.
957
+
958
+- **Option B** (95 km/h) serait plus proche de la vitesse de meilleure finesse ou de la vitesse de chute minimale à masse plus élevée.
959
+- **Option C** (50 km/h) est en dessous de la vitesse de décrochage.
960
+- **Option D** (140 km/h) est bien dans la plage de haute vitesse où le taux de chute est beaucoup plus élevé.
961
+
962
+### Q42: À partir de quelle altitude sur la route entre Morat (env. N46°56'/E007°07') et l'aérodrome de Neuchâtel (env. N46°57'/E006°52') devez-vous demander l'autorisation de traverser la TMA de PAYERNE ? ^t30q42
963
+
964
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q42) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q42)
965
+
966
+- **A)** 950 m AMSL (3 100 ft).
967
+- **B)** 3 050 m AMSL (FL 100).
968
+- **C)** 700 m AMSL (2 300 ft).
969
+- **D)** À toute altitude puisque la limite inférieure de la TMA est représentée par la surface du sol (GND).
970
+
971
+#### Réponse
972
+
973
+C)
974
+
975
+#### Explication
976
+
977
+La bonne réponse est C car sur la route entre Morat et Neuchâtel, le secteur pertinent de la TMA de PAYERNE a une limite inférieure à 700 m AMSL (2 300 ft). En dessous de cette altitude, le vol peut se poursuivre en espace aérien non contrôlé sans clairance. Au-dessus de 700 m AMSL, l'autorisation de l'ATC est requise. A (950 m) ne correspond pas à la limite publiée. B (FL 100) est bien trop haut — c'est la limite supérieure de certaines TMA, pas la limite inférieure ici.
978
+
979
+- **D** est faux car la TMA ne s'étend pas jusqu'au sol dans ce secteur.
980
+
981
+#### Termes clés
982
+
983
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; ATC = Contrôle du trafic aérien (Air Traffic Control) ; FL = Niveau de vol (Flight Level) ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area)
984
+
985
+### Q43: Dans quelle classe d'espace aérien volez-vous à 1 400 m AMSL (QNH 1013 hPa) au-dessus de l'aérodrome de Birrfeld (47°25'36"N/007°14'02"E), et quels sont les minima de visibilité et de distance aux nuages dans cet espace aérien ? ^t30q43
986
+
987
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q43) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q43)
988
+
989
+- A) Espace aérien de classe E, visibilité horizontale 5 km, distance horizontale aux nuages 1,5 km, verticale 300 m.
990
+- B) Espace aérien de classe D, visibilité horizontale 5 km, distance horizontale aux nuages 1,5 km, verticale 300 m.
991
+- C) Espace aérien de classe G, visibilité horizontale 1,5 km, hors des nuages avec contact permanent avec le sol.
992
+- D) Espace aérien de classe C, visibilité horizontale 5 km, distance horizontale aux nuages 1,5 km, verticale 300 m.
993
+
994
+#### Réponse
995
+
996
+A)
997
+
998
+#### Explication
999
+
1000
+La bonne réponse est A car à 1 400 m AMSL au-dessus de Birrfeld, vous êtes en espace aérien de classe E. Les minima VFR en classe E exigent 5 km de visibilité horizontale, 1 500 m de distance horizontale aux nuages et 300 m de distance verticale aux nuages.
1001
+
1002
+- **B** est faux car la classe D s'applique à l'intérieur de CTR ou TMA spécifiques, pas au-dessus de Birrfeld à cette altitude.
1003
+- **C** est faux car la classe G s'applique en dessous d'une certaine altitude et a des minima réduits.
1004
+- **D** est faux car la classe C commence à une altitude plus élevée dans cette zone (typiquement FL 130 en Suisse).
1005
+
1006
+#### Termes clés
1007
+
1008
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; FL = Niveau de vol (Flight Level) ; QNH = Pression ramenée au niveau de la mer ; VFR = Règles de vol à vue (Visual Flight Rules)
1009
+
1010
+### Q44: La route ci-dessous vers SCHWYZ (ligne pointillée) est planifiée pour le 20 juin 2015 (heure d'été) entre 15h15 et 15h45 heure locale à 6 500 ft AMSL. Laquelle des affirmations suivantes est correcte ? ^t30q44
1011
+
1012
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q44) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q44)
1013
+
1014
+> **DABS — Bulletin quotidien de l'espace aérien suisse (extrait)**
1015
+
1016
+> ![[figures/t30_q44.png]]
1017
+
1018
+| N° de tir Zone D-/R- N° NOTAM | Validité UTC | Limite inf. AMSL ou FL | Limite sup. AMSL ou FL | Emplacement | Point central | Rayon de couverture | Activité / Remarques |
1019
+|---|---|---|---|---|---|---|---|
1020
+| B0685/14 | 0000–2359 | 900m / 3000ft | FL 130 | SION TMA SECT 1 | 461610N 0072940E | 4,7 KM / 2,5 NM | TMA SECT 1 ACT HX ONLY |
1021
+| W0912/15 | 1145–1300 | GND | FL 120 | MORGARTEN | 470507N 0083758E | 10,0 KM / 5,4 NM | R-AREA ACT. ENTRY PROHIBITED. FOR INFO CTC ZURICH INFO 124.7 |
1022
+| W0957/15 | 1400–1700 | 2150m / 7000ft | FL 120 | HINWIL | 471721N 0084859E | 7,0 KM / 3,8 NM | TEMPO R-AREA ACTIVE. ENTRY PROHIBITED. CTC 118.975 |
1023
+| W0960/15 | 0800–1700 | GND | 1200m / 4050ft | 1,7 KM SE CERNIER | 470352N 0065442E | 1,5 KM / 0,8 NM | D-AREA ACT |
1024
+
1025
+- A) Il n'est pas possible de voler la route planifiée ce jour-là.
1026
+- B) Vous pouvez ignorer le DABS car il ne s'applique qu'à l'aviation commerciale.
1027
+- C) Vous pouvez traverser toutes les zones de danger et zones réglementées pertinentes en dessous de 1 000 ft AGL ou au-dessus de 12 000 ft AMSL.
1028
+- D) La route peut être effectuée sans coordination entre 15h00 et 16h00 heure locale.
1029
+
1030
+#### Réponse
1031
+
1032
+D)
1033
+
1034
+#### Explication
1035
+
1036
+La bonne réponse est D. Le 20 juin 2015 (CEST = UTC+2), l'heure prévue de 15h15-15h45 heure locale correspond à 13h15-13h45 UTC. La zone W0912/15 (MORGARTEN) était active de 11h45 à 13h00 UTC et a déjà expiré. La zone W0957/15 (HINWIL) s'active à 14h00 UTC (16h00 heure locale) — elle n'est pas encore active. La route peut donc être effectuée sans coordination entre 15h00 et 16h00 heure locale.
1037
+
1038
+- **A** est faux car la route est praticable pendant la fenêtre de temps indiquée.
1039
+- **B** est faux car le DABS s'applique à tous les usagers de l'espace aérien, y compris les planeurs.
1040
+- **C** est faux car il suggère incorrectement des exemptions générales basées sur l'altitude.
1041
+
1042
+#### Termes clés
1043
+
1044
+AGL = Au-dessus du sol (Above Ground Level) ; AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; FL = Niveau de vol (Flight Level) ; NM = Mille(s) nautique(s) (Nautical Mile) ; NOTAM = Avis aux navigants (Notice to Air Missions) ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area)
1045
+
1046
+### Q45: Selon la carte aéronautique OACI au 1:500 000, à quelle altitude au-dessus de Schwyz (env. 47°01' N, 8°39' E) devez-vous demander l'autorisation d'entrer dans l'espace aérien de classe C ? ^t30q45
1047
+
1048
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q45) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q45)
1049
+
1050
+- A) FL 90
1051
+- B) 4 500 ft
1052
+- C) FL 130
1053
+- D) FL 195
1054
+
1055
+#### Réponse
1056
+
1057
+C)
1058
+
1059
+#### Explication
1060
+
1061
+La bonne réponse est C car au-dessus de Schwyz, la carte OACI suisse au 1:500 000 montre que l'espace aérien de classe C commence au FL 130. En dessous du FL 130, l'espace aérien est de classe E. L'entrée en classe C nécessite une clairance ATC quelle que soit la règle de vol.
1062
+
1063
+- **Option A** (FL 90) est en dessous de la limite réelle.
1064
+- **Option B** (4 500 ft) est bien trop bas et en espace aérien non contrôlé.
1065
+- **Option D** (FL 195) est la limite supérieure de l'espace aérien contrôlé suisse, pas la limite inférieure de la classe C au-dessus de Schwyz.
1066
+
1067
+#### Termes clés
1068
+
1069
+ATC = Contrôle du trafic aérien (Air Traffic Control) ; FL = Niveau de vol (Flight Level) ; OACI = Organisation de l'aviation civile internationale
1070
+
1071
+### Q46: Jusqu'à quelle heure l'aérodrome de La Côte (LSGP) est-il ouvert le soir ? ^t30q46
1072
+
1073
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q46) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q46)
1074
+
1075
+> **AD INFO 1 — LA CÔTE / LSGP**
1076
+
1077
+> ![[figures/t30_q46.png]]
1078
+
1079
+| Donnée | Valeur |
1080
+|--------|--------|
1081
+| OACI | LSGP |
1082
+| Altitude | 1 352 ft (412 m) |
1083
+| ARP | 46°24'23"N / 006°15'28"E |
1084
+| Piste | 04 / 22 — vrai/mag : 041°/040° et 221°/220° |
1085
+| Dimensions | 560 × 30 m — HERBE |
1086
+| Distance d'atterrissage disponible | 490 m |
1087
+| Distance de décollage disponible | 490 m |
1088
+| Résistance du sol | 0,25 MPa |
1089
+| Statut | Privé — Aérodrome, **PPR** |
1090
+| Emplacement | 25 km NE de Genève |
1091
+| Heures LUN–VEN | 07h00–12h00 LT / 14h00–**ECT −30 min** |
1092
+| Heures SAM/DIM | 08h00–12h00 LT / 14h00–**ECT −30 min** |
1093
+| Référence ECT | → VFG RAC 1-1 |
1094
+
1095
+> *ECT = Fin du crépuscule civil. L'aérodrome ferme 30 minutes avant la fin du crépuscule civil.*
1096
+
1097
+- A) Jusqu'à une demi-heure avant le début du crépuscule civil.
1098
+- B) Jusqu'à une demi-heure avant le coucher du soleil.
1099
+- C) Jusqu'à une demi-heure avant la fin du crépuscule civil.
1100
+- D) Jusqu'à la fin du crépuscule civil.
1101
+
1102
+#### Réponse
1103
+
1104
+C)
1105
+
1106
+#### Explication
1107
+
1108
+La bonne réponse est C car la fiche AD INFO pour LSGP indique les heures de l'après-midi comme « 14h00-ECT −30 min », ce qui signifie que l'aérodrome ferme 30 minutes avant la fin du crépuscule civil.
1109
+
1110
+- **A** est faux car il fait référence au début du crépuscule civil, pas à la fin.
1111
+- **B** est faux car le coucher du soleil se produit plus tôt que la fin du crépuscule civil.
1112
+- **D** est faux car l'aérodrome ferme 30 minutes avant l'ECT, pas à l'ECT même.
1113
+
1114
+#### Termes clés
1115
+
1116
+OACI = Organisation de l'aviation civile internationale
1117
+
1118
+### Q47: Sur quelle fréquence recevez-vous des informations sur les treuillées à l'aérodrome de Gruyères (LSGT) le week-end ? ^t30q47
1119
+
1120
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q47) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q47)
1121
+
1122
+> **Carte d'approche à vue — GRUYÈRES / LSGT**
1123
+
1124
+> ![[figures/t30_q47.png]]
1125
+
1126
+> AD **124.675** — PPR — ELEV 2 257 ft (688 m)
1127
+
1128
+> *Données clés de la carte (altitudes en ft, caps magnétiques) :*
1129
+
1130
+| Donnée | Valeur |
1131
+|--------|--------|
1132
+| OACI | LSGT |
1133
+| Fréquence AD | **124,675 MHz** |
1134
+| Altitude | 2 257 ft (688 m) |
1135
+| Statut | PPR |
1136
+| Altitude minimale de survol de l'AD (MNM ALT) | **4 000 ft** |
1137
+| Secteur ARR/DEP planeur W (GLD ARR/DEP W) | **MAX 3 100 ft** |
1138
+| Secteur ARR/DEP planeur E (GLD ARR/DEP E) | **MAX 3 600 ft** |
1139
+| HEL ARR/DEP | 3 000 ft |
1140
+| Secteurs d'arrivée préférés | OUEST et EST |
1141
+| CTN (trafic de campagne) | 3 000 ft |
1142
+| MNM survol AD | 4 000 ft |
1143
+| Espace aérien de classe C au-dessus | FL 100 / 119,175 GENEVA DELTA |
1144
+| Treuillées | Intensives SAM/DIM (CTN : Treuillage intensif SAM/DIM) |
1145
+| VOR/DME à proximité | SPR R076, 113,9 MHz |
1146
+
1147
+> *Zones sensibles au bruit (jaunes) autour de Bulle/Broc. Éviter le survol du terrain pendant le PJE (parachutage). Contacter RTF 5 min avant l'ETA.*
1148
+
1149
+- A) 113,9
1150
+- B) 124,675
1151
+- C) 119,175
1152
+- D) 110,85
1153
+
1154
+#### Réponse
1155
+
1156
+B)
1157
+
1158
+#### Explication
1159
+
1160
+La bonne réponse est B (124,675 MHz) car c'est la fréquence de l'aérodrome indiquée sur la carte d'approche à vue pour LSGT Gruyères. Les informations sur le trafic local, y compris l'activité intensive de treuillage le week-end, sont diffusées sur cette fréquence.
1161
+
1162
+- **Option A** (113,9) est la fréquence du VOR/DME SPR pour la navigation.
1163
+- **Option C** (119,175) est la fréquence du secteur Geneva Delta pour l'espace aérien de classe C au-dessus.
1164
+- **Option D** (110,85) n'apparaît pas sur cette carte et n'est pas liée aux opérations de LSGT.
1165
+
1166
+#### Termes clés
1167
+
1168
+ETA = Heure d'arrivée estimée (Estimated Time of Arrival) ; FL = Niveau de vol (Flight Level) ; OACI = Organisation de l'aviation civile internationale
1169
+
1170
+### Q48: Quelle distance parcourez-vous en 90 minutes à une vitesse sol de 90 km/h ? ^t30q48
1171
+
1172
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q48) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q48)
1173
+
1174
+- A) 90 km
1175
+- B) 135 km
1176
+- C) 100 km
1177
+- D) 120 km
1178
+
1179
+#### Réponse
1180
+
1181
+B)
1182
+
1183
+#### Explication
1184
+
1185
+La bonne réponse est B car distance = vitesse × temps. Vitesse sol = 90 km/h, temps = 90 minutes = 1,5 heures. Distance = 90 × 1,5 = 135 km. N'oubliez pas de convertir les minutes en heures avant de multiplier : 90 minutes = 1,5 heures, pas 0,9 heures.
1186
+
1187
+- **Option A** (90 km) résulte de l'utilisation incorrecte de 1 heure au lieu de 1,5 heures.
1188
+- **Option C** (100 km) et D (120 km) ne correspondent à aucun calcul correct.
1189
+
1190
+### Q49: À une altitude de 6 000 m, l'anémomètre indique 160 km/h (IAS). La vitesse vraie (TAS) ^t30q49
1191
+
1192
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q49) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q49)
1193
+
1194
+- **A)** est inférieure à l'IAS.
1195
+- **B)** est également de 160 km/h.
1196
+- **C)** peut être supérieure ou inférieure à l'IAS selon la pression atmosphérique et la température.
1197
+- **D)** est supérieure à l'IAS.
1198
+
1199
+#### Réponse
1200
+
1201
+D)
1202
+
1203
+#### Explication
1204
+
1205
+La bonne réponse est D car l'anémomètre mesure la pression dynamique, qui dépend de la densité de l'air. À 6 000 m, la densité de l'air est significativement plus faible qu'au niveau de la mer. Pour que le tube de Pitot enregistre la même pression dynamique (même IAS), l'aéronef doit se déplacer plus vite dans l'air plus mince. La TAS augmente d'environ 2 % par 300 m de gain d'altitude, donc à 6 000 m, la TAS est environ 40 % plus élevée que l'IAS.
1206
+
1207
+- **A** est faux car la TAS est toujours supérieure à l'IAS en altitude.
1208
+- **B** est faux car elles ne sont égales qu'au niveau de la mer en conditions ISA.
1209
+- **C** est faux car à toute altitude au-dessus du niveau de la mer, la TAS est toujours supérieure à l'IAS.
1210
+
1211
+#### Termes clés
1212
+
1213
+IAS = Vitesse indiquée (Indicated Airspeed) ; ISA = Atmosphère standard internationale (International Standard Atmosphere) ; TAS = Vitesse vraie (True Airspeed)
1214
+
1215
+### Q50: Vous volez en onde de ressaut à 6 000 m d'altitude. Quelle est la vitesse maximale à laquelle vous pouvez voler ? ^t30q50
1216
+
1217
+[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q50) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q50)
1218
+
1219
+- A) Dans l'air peu dense, à une vitesse plus élevée que d'habitude.
1220
+- B) En dessous du repère rouge V_NE sur l'anémomètre, selon le tableau vitesse-altitude affiché dans le cockpit.
1221
+- C) À la même vitesse qu'au niveau de la mer puisque la V_NE est une valeur absolue.
1222
+- D) Au maximum dans l'arc vert.
1223
+
1224
+#### Réponse
1225
+
1226
+B)
1227
+
1228
+#### Explication
1229
+
1230
+La bonne réponse est B car à haute altitude, la vitesse vraie correspondant à une IAS donnée est beaucoup plus élevée, et c'est la TAS qui détermine les charges aérodynamiques sur la structure. Les manuels de vol des planeurs fournissent un tableau vitesse-altitude (ou courbe de réduction de V_NE) affiché dans le cockpit, donnant l'IAS maximale corrigée à chaque altitude. À 6 000 m, l'IAS admissible est inférieure au repère V_NE du niveau de la mer.
1231
+
1232
+- **A** est faux car vous devez voler plus lentement (IAS plus faible), pas plus vite.
1233
+- **C** est faux car la V_NE indiquée doit être réduite avec l'altitude.
1234
+- **D** est faux car l'arc vert seul ne tient pas compte des corrections d'altitude.
8481235
8491236 #### Termes clés
8501237
8511238 IAS = Vitesse indiquée (Indicated Airspeed) ; TAS = Vitesse vraie (True Airspeed)
8521239
853
-### Q41: Qu'est-ce qui doit être particulièrement observé lors d'un atterrissage sous forte pluie ? ^t30q41
854
-
855
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q41) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q41)
856
-
857
-- A) La vitesse d'approche doit être augmentée.
858
-- B) La charge alaire doit être augmentée.
859
-- C) L'angle d'approche doit être plus faible que d'habitude.
860
-- D) La vitesse d'approche doit être inférieure à la normale.
861
-
862
-#### Réponse
863
-
864
-A)
865
-
866
-#### Explication
867
-
868
-La bonne réponse est A car la forte pluie sur la surface de l'aile augmente la rugosité et peut dégrader la couche limite, ce qui peut élever la vitesse de décrochage et réduire le coefficient de portance maximal. Une vitesse d'approche plus élevée offre une marge de sécurité contre ces effets.
869
-
870
-- **B** est faux car augmenter délibérément la charge alaire sous la pluie est impraticable et contre-productif.
871
-- **C** est faux car une approche plus plate réduit la marge de franchissement des obstacles en cas de mauvaise visibilité.
872
-- **D** est faux car une vitesse plus basse réduit la marge de sécurité.
873
-
874
-### Q42: Que doit prendre en compte un pilote de planeur à l'aérodrome de Bex ? ^t30q42
875
-
876
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q42) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q42)
877
-
878
-![[figures/t30_q68.png]]
879
-
880
-- **A)** Le circuit pour la piste 33 est dans le sens antihoraire.
881
-- **B)** Le circuit pour la piste 15 est dans le sens horaire.
882
-- **C)** Selon le vent, le circuit pour la piste 33 peut être soit dans le sens horaire soit dans le sens antihoraire.
883
-- **D)** Le circuit pour la piste 33 est dans le sens horaire.
884
-
885
-#### Réponse
886
-
887
-C)
888
-
889
-#### Explication
890
-
891
-La bonne réponse est C car à l'aérodrome de Bex, les contraintes du terrain (la vallée du Rhône et les montagnes environnantes) signifient que le sens du circuit pour la piste 33 dépend des conditions de vent. La carte montre qu'un circuit à gauche ou à droite peut être utilisé.
892
-
893
-- **D** est faux car cela limite le circuit au sens horaire uniquement.
894
-- **B** concerne la piste 15, pas la 33.
895
-- **A** est faux car cela limite le circuit au sens antihoraire uniquement.
896
-
897
-### Q43: Quelle est l'altitude maximale de vol au-dessus de l'aérodrome de Biel Kappelen (SE de Biel) si vous souhaitez éviter de demander une clairance de transit pour la TMA BERN 1 ? ^t30q43
898
-
899
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q43) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q43)
900
-
901
-![[figures/t30_q69.png]]
902
-
903
-- **A)** 3500 ft AMSL.
904
-- **B)** 3500 ft AGL.
905
-- **C)** FL 100.
906
-- **D)** FL 35.
907
-
908
-#### Réponse
909
-
910
-A)
911
-
912
-#### Explication
913
-
914
-La bonne réponse est A car la limite inférieure de la TMA BERN 1 au-dessus de Biel Kappelen est à 3500 ft AMSL. En restant en dessous de cette altitude, vous demeurez en espace aérien non contrôlé et n'avez pas besoin de clairance de transit. A (3500 ft AGL) est faux car les limites de TMA sont référencées par rapport au MSL, pas à l'AGL. B (FL 100) est bien au-dessus de la limite concernée. C (FL 35) se convertit en environ 3500 ft en atmosphère standard, mais les niveaux de vol utilisent le calage standard (1013,25 hPa), pas le QNH.
915
-
916
-#### Termes clés
917
-
918
-AGL = Au-dessus du sol (Above Ground Level) ; AMSL = Au-dessus du niveau moyen de la mer ; FL = Niveau de vol (Flight Level) ; MSL = Niveau moyen de la mer (Mean Sea Level) ; QNH = Pression ramenée au niveau de la mer ; TMA = Région de contrôle terminale
919
-
920
-### Q44: Laquelle des affirmations suivantes est correcte ? ^t30q44
921
-
922
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q44) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q44)
923
-
924
-- A) Nouveau C.G. : 78,5, dans les limites approuvées.
925
-- B) Nouveau C.G. : 82,0, hors des limites approuvées.
926
-- C) Nouveau C.G. : 75,5, hors des limites approuvées.
927
-- D) Nouveau C.G. : 76,7, dans les limites approuvées.
928
-
929
-#### Réponse
930
-
931
-D)
932
-
933
-#### Explication
934
-
935
-La bonne réponse est D car en appliquant le calcul de masse et centrage avec les données fournies (de la feuille annexée), la nouvelle position du C.G. se calcule à 76,7, ce qui se situe dans les limites avant et arrière approuvées. B (78,5) est un résultat de calcul incorrect. C (82,0) est trop en arrière et serait hors limites. D (75,5) est un calcul incorrect et serait également hors de la limite avant.
936
-
937
-### Q45: À l'aérodrome de Schänis, quelle est la distance d'atterrissage maximale disponible en direction NNO ? ^t30q45
938
-
939
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q45) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q45)
940
-
941
-![[figures/t30_q72.png]]
942
-
943
-- **A)** 520 m.
944
-- **B)** 520 ft.
945
-- **C)** 470 m.
946
-- **D)** 470 ft.
947
-
948
-#### Réponse
949
-
950
-C)
951
-
952
-#### Explication
953
-
954
-La bonne réponse est C (470 m) car la carte AIP de l'aérodrome de Schänis indique une distance d'atterrissage disponible maximale de 470 mètres en direction NNO. A (520 m) ne correspond pas aux données publiées pour cette direction. C et D sont faux car les distances d'aérodrome en Suisse sont données en mètres, pas en pieds.
955
-
956
-#### Termes clés
957
-
958
-AIP = Publication d'information aéronautique
959
-
960
-### Q46: La masse actuelle d'un aéronef est de 6400 lbs. CG actuel : 80. Limites CG : CG avant : 75,2, CG arrière : 80,5. Quelle masse peut être déplacée de sa position actuelle au bras de levier 150 sans dépasser la limite arrière du CG ? ^t30q46
961
-
962
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q46) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q46)
963
-
964
-- A) 39,45 lbs.
965
-- B) 27,82 lbs.
966
-- C) 45,71 lbs.
967
-- D) 56,63 lbs.
968
-
969
-#### Réponse
970
-
971
-C)
972
-
973
-#### Explication
974
-
975
-La bonne réponse est C (45,71 lbs). Le calcul utilise la formule de déplacement: lorsqu'une masse x est déplacée de la position actuelle du C.G. (80) au bras de levier 150, le C.G. se déplace vers l'arrière. Le nouveau C.G. ne doit pas dépasser 80,5. En utilisant la formule: ΔCG = (x × Δbras) / masse totale, on obtient: 0,5 = (x × 70) / 6400, donc x = (0,5 × 6400) / 70 = 45,71 lbs.
976
-
977
-#### Termes clés
978
-
979
-CG = Centre de gravité
980
-
981
-### Q47: Le chargement correct d'un aéronef dépend de : ^t30q47
982
-
983
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q47) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q47)
984
-
985
-- A) Uniquement du respect de la masse maximale autorisée.
986
-- B) De la distribution correcte de la charge utile et du respect de la masse maximale autorisée.
987
-- C) Uniquement de la distribution correcte de la charge utile.
988
-- D) De la masse maximale autorisée des bagages dans la section arrière de l'aéronef.
989
-
990
-#### Réponse
991
-
992
-B)
993
-
994
-#### Explication
995
-
996
-La bonne réponse est B car un chargement correct exige de satisfaire simultanément deux conditions indépendantes: la masse totale ne doit pas dépasser la masse maximale autorisée (MTOM), et la charge utile doit être distribuée de sorte que le C.G. reste dans l'enveloppe approuvée.
997
-
998
-- **A** est faux car respecter la limite de masse seule ne garantit pas que le C.G. est dans les limites.
999
-- **C** est faux car une distribution correcte seule ne garantit pas que la masse totale est dans les limites.
1000
-- **D** est faux car cela ne traite que d'un compartiment à bagages spécifique.
1001
-
1002
-### Q48: Quelle information peut-on lire sur cette polaire des vitesses ? (Voir feuille annexée.) ^t30q48
1003
-
1004
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q48) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q48)
1005
-
1006
-![[figures/t30_q75.png]]
1007
-
1008
-- **A)** La vitesse minimale est indépendante de la masse en vol.
1009
-- **B)** Seule la finesse maximale est indépendante de la masse en vol, à un léger effet de nombre de Reynolds près.
1010
-- **C)** Dans la plage de vitesses jusqu'à 100 km/h, une augmentation de la masse en vol réduit le taux de chute.
1011
-- **D)** Tant la finesse que la vitesse minimale sont indépendantes de la masse en vol.
1012
-
1013
-#### Réponse
1014
-
1015
-B)
1016
-
1017
-#### Explication
1018
-
1019
-La bonne réponse est B car en comparant les courbes polaires pour différentes masses, la tangente depuis l'origine touche chaque courbe au même angle, ce qui signifie que le rapport portance/traînée maximal (meilleure finesse) est essentiellement inchangé par la masse, à un léger effet de nombre de Reynolds près. Cependant, la vitesse à laquelle cette meilleure finesse est atteinte augmente avec la masse.
1020
-
1021
-- **C** est faux car l'augmentation de la masse augmente toujours le taux de chute à toute vitesse donnée.
1022
-- **A** est faux car la vitesse minimale augmente avec la masse.
1023
-- **D** est faux car si la finesse est indépendante de la masse, la vitesse minimale ne l'est pas.
1024
-
1025
-### Q49: À quelle vitesse indiquée effectuez-vous une approche sur un aérodrome situé à 1800 m AMSL ? ^t30q49
1026
-
1027
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q49) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q49)
1028
-
1029
-- **A)** À la vitesse de taux de chute minimum.
1030
-- **B)** À une vitesse inférieure à celle au niveau de la mer.
1031
-- **C)** À une vitesse supérieure à celle au niveau de la mer.
1032
-- **D)** À la même vitesse qu'au niveau de la mer.
1033
-
1034
-#### Réponse
1035
-
1036
-D)
1037
-
1038
-#### Explication
1039
-
1040
-La bonne réponse est D car le badin mesure la pression dynamique, qui est directement liée aux forces aérodynamiques, indépendamment de l'altitude. À 1800 m AMSL, la densité de l'air est plus faible, donc la TAS sera plus élevée pour la même IAS — mais les forces aérodynamiques (portance, caractéristiques de décrochage) dépendent de l'IAS, pas de la TAS. La même vitesse d'approche indiquée offre les mêmes marges de sécurité qu'au niveau de la mer.
1041
-
1042
-- **B** est faux car une IAS plus basse réduirait la marge de décrochage.
1043
-- **C** est faux car une IAS plus élevée est inutile et entraînerait un arrondi excessif.
1044
-- **A** est faux car la vitesse de taux de chute minimum n'est pas la vitesse d'approche correcte.
1045
-
1046
-#### Termes clés
1047
-
1048
-AMSL = Au-dessus du niveau moyen de la mer ; IAS = Vitesse indiquée (Indicated Airspeed) ; TAS = Vitesse vraie (True Airspeed)
1049
-
1050
-### Q50: À quelle vitesse devez-vous voler pour obtenir la meilleure finesse pour une masse en vol de 450 kg ? (Voir feuille annexée.) ^t30q50
1051
-
1052
-[DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q50) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q50)
1053
-
1054
-![[figures/t30_q77.png]]
1055
-
1056
-- A) 130 km/h
1057
-- B) 90 km/h
1058
-- C) 70 km/h
1059
-- D) 110 km/h
1060
-
1061
-#### Réponse
1062
-
1063
-B)
1064
-
1065
-#### Explication
1066
-
1067
-La bonne réponse est B (90 km/h) car la vitesse de meilleure finesse se trouve au point où la tangente depuis l'origine touche la courbe polaire pour 450 kg. Pour ce type de planeur à 450 kg, cela se produit à environ 90 km/h. A (130 km/h) est trop rapide — à cette vitesse, la finesse est significativement réduite. C (70 km/h) est plus proche de la vitesse de taux de chute minimum, qui maximise l'endurance mais pas la distance. D (110 km/h) donnerait une finesse réduite par rapport à l'optimum.
1068
-
1069
-### Q51: 1235 lbs (arrondi) correspondent à (1 kg = env. 2,2 lbs) : ^t30q51
1240
+### Q51: 1 235 lbs (arrondi) correspondent à (1 kg = env. 2,2 lbs) : ^t30q51
10701241
10711242 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q51) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q51)
10721243
1073
-- **A)** env. 620 kg.
1074
-- **B)** env. 2720 kg.
1075
-- **C)** env. 560 kg.
1076
-- **D)** env. 2470 kg.
1244
+- A) env. 620 kg.
1245
+- B) env. 2 720 kg.
1246
+- C) env. 560 kg.
1247
+- D) env. 2 470 kg.
10771248
10781249 #### Réponse
10791250
....@@ -1081,16 +1252,20 @@
10811252
10821253 #### Explication
10831254
1084
-La bonne réponse est C car pour convertir des livres en kilogrammes, on divise par 2,2: 1235 / 2,2 = 561,4 kg, ce qui s'arrondit à environ 560 kg. A (620 kg) correspondrait à environ 1364 lbs. B (2720 kg) résulte d'une multiplication au lieu d'une division. D (2470 kg) est également le résultat d'une erreur de multiplication.
1255
+La bonne réponse est C car pour convertir des livres en kilogrammes, il faut diviser par 2,2 : 1 235 / 2,2 = 561,4 kg, ce qui s'arrondit à environ 560 kg. La formule clé est : masse en kg = poids en lbs / 2,2.
10851256
1086
-### Q52: Qu'est-ce qui doit être particulièrement observé lors d'un atterrissage sur un terrain en montée avec vent arrière ? ^t30q52
1257
+- **Option A** (620 kg) correspondrait à environ 1 364 lbs.
1258
+- **Option B** (2 720 kg) résulte d'une multiplication au lieu d'une division.
1259
+- **Option D** (2 470 kg) est également le résultat d'une erreur de multiplication.
1260
+
1261
+### Q52: Que faut-il observer particulièrement lors d'un atterrissage sur un terrain en montée avec vent arrière ? ^t30q52
10871262
10881263 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q52) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q52)
10891264
10901265 - **A)** Voler en finale un peu plus vite que d'habitude.
10911266 - **B)** Arrondir plus haut que d'habitude.
10921267 - **C)** Voler à la vitesse d'approche normale (triangle jaune).
1093
-- **D)** Vous devez atterrir avec tous les aérofreins pleinement sortis.
1268
+- **D)** Vous devez atterrir avec tous les aérofreins complètement sortis.
10941269
10951270 #### Réponse
10961271
....@@ -1098,13 +1273,13 @@
10981273
10991274 #### Explication
11001275
1101
-La bonne réponse est C car sur un terrain en montée avec vent arrière, les effets concurrents se compensent partiellement: la pente montante raccourcit la distance de roulement tandis que le vent arrière l'allonge. La vitesse d'approche normale (triangle jaune sur l'anémomètre) offre le bon équilibre en gestion d'énergie.
1276
+La bonne réponse est C car sur un terrain en montée avec vent arrière, les effets concurrents se compensent partiellement : la pente en montée raccourcit le roulement au sol tandis que le vent arrière l'allonge. La vitesse d'approche normale (triangle jaune sur l'anémomètre) fournit le bon équilibre de gestion de l'énergie.
11021277
11031278 - **A** est faux car une approche plus rapide entraînerait un flottement excessif sur la pente.
1104
-- **B** est faux car un arrondi plus haut risque un ballooning sur la pente.
1105
-- **D** est faux car les aérofreins pleinement sortis peuvent provoquer une descente trop raide en courte finale.
1279
+- **B** est faux car arrondir plus haut risque un rebond sur la pente.
1280
+- **D** est faux car les aérofreins complets peuvent provoquer une descente excessivement raide en courte finale.
11061281
1107
-### Q53: Dans quelle classe d'espace aérien êtes-vous au-dessus de l'aérodrome de Langenthal (47°10'58''N / 007°44'29''E) à une altitude de 2000 m AMSL (QNH 1013 hPa), et quelles sont les exigences minimales de visibilité et de distance aux nuages ? ^t30q53
1282
+### Q53: Dans quelle classe d'espace aérien êtes-vous au-dessus de l'aérodrome de Langenthal (47°10'58''N / 007°44'29''E) à une altitude de 2 000 m AMSL (QNH 1013 hPa), et quels sont les minima de visibilité et de distance aux nuages ? ^t30q53
11081283
11091284 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q53) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q53)
11101285
....@@ -1119,15 +1294,15 @@
11191294
11201295 #### Explication
11211296
1122
-La bonne réponse est A car à 2000 m AMSL au-dessus de Langenthal, vous êtes en espace aérien de classe E. Le vol VFR en classe E exige 5 km de visibilité horizontale, 1500 m d'espacement horizontal aux nuages et 300 m d'espacement vertical.
1297
+La bonne réponse est A car à 2 000 m AMSL au-dessus de Langenthal, vous êtes en espace aérien de classe E. Le vol VFR en classe E exige 5 km de visibilité horizontale, 1 500 m de distance horizontale aux nuages et 300 m de distance verticale aux nuages.
11231298
11241299 - **B** est faux car la classe G avec ses minima réduits ne s'applique qu'à très basse altitude.
1125
-- **C** est faux car il n'y a pas de TMA de classe D à cet endroit.
1126
-- **D** est faux car la classe C commence au FL 130 dans cette région.
1300
+- **C** est faux car il n'y a pas de TMA de classe D à cet emplacement et cette altitude.
1301
+- **D** est faux car la classe C commence au FL 130 dans cette région, bien au-dessus de 2 000 m AMSL.
11271302
11281303 #### Termes clés
11291304
1130
-AMSL = Au-dessus du niveau moyen de la mer ; FL = Niveau de vol (Flight Level) ; QNH = Pression ramenée au niveau de la mer ; TMA = Région de contrôle terminale ; VFR = Règles de vol à vue
1305
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; FL = Niveau de vol (Flight Level) ; QNH = Pression ramenée au niveau de la mer ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area) ; VFR = Règles de vol à vue (Visual Flight Rules)
11311306
11321307 ### Q54: Quelle position du centre de gravité est la plus dangereuse pour un planeur ? ^t30q54
11331308
....@@ -1144,7 +1319,10 @@
11441319
11451320 #### Explication
11461321
1147
-La bonne réponse est C car lorsque le C.G. est trop en arrière, le planeur perd sa stabilité statique longitudinale — le nez tend à cabrer sans revenir à l'équilibre, pouvant mener à des oscillations divergentes incontrôlables ou à un décrochage/vrille. A (trop en avant) est moins dangereux car l'aéronef reste stable. B et D sont faux car le déplacement vertical du C.G. n'est pas la préoccupation principale.
1322
+La bonne réponse est C car lorsque le C.G. est trop en arrière, le planeur perd sa stabilité statique longitudinale — le nez tend à cabrer sans revenir à l'équilibre, pouvant mener à des oscillations divergentes incontrôlables ou à un décrochage/vrille.
1323
+
1324
+- **Option A** (trop en avant) est moins dangereux car l'aéronef reste stable, bien que l'autorité de la gouverne de profondeur puisse être insuffisante pour l'atterrissage.
1325
+- **Option B** et D sont faux car le déplacement vertical du C.G. n'est pas la préoccupation principale dans l'analyse standard de masse et centrage des planeurs.
11481326
11491327 ### Q55: Comment la VNE indiquée (vitesse à ne jamais dépasser) change-t-elle lorsque l'altitude augmente ? ^t30q55
11501328
....@@ -1152,8 +1330,8 @@
11521330
11531331 - **A)** Elle augmente.
11541332 - **B)** Elle diminue.
1155
-- **C)** Elle reste la même ; le badin compense automatiquement.
1156
-- **D)** Elle varie en fonction de la température extérieure.
1333
+- **C)** Elle reste la même ; l'anémomètre en tient compte automatiquement.
1334
+- **D)** Elle décroît.
11571335
11581336 #### Réponse
11591337
....@@ -1161,11 +1339,13 @@
11611339
11621340 #### Explication
11631341
1164
-La bonne réponse est C car le badin mesure la pression dynamique, qui tient intrinsèquement compte de la densité de l'air. Le repère VNE sur le badin (trait rouge) représente une valeur fixe d'IAS correspondant à la limite structurelle. Cependant, la VNE admissible en IAS doit effectivement être réduite en haute altitude selon le tableau vitesse-altitude du manuel de vol. A et B/D sont faux car le repère physique sur l'instrument ne bouge pas.
1342
+La bonne réponse est C car l'anémomètre mesure la pression dynamique, qui tient intrinsèquement compte de la densité de l'air. Le repère V_NE sur l'anémomètre (trait rouge) représente une valeur d'IAS fixe correspondant à la limite structurelle. Cependant, notez que l'IAS maximale admissible doit en réalité être réduite à haute altitude selon le tableau vitesse-altitude du manuel de vol — le repère de l'anémomètre lui-même ne change pas, mais le pilote doit observer une limite inférieure. La subtilité est que, bien que le mécanisme de lecture de l'anémomètre tienne intrinsèquement compte de la densité, les pilotes de planeur doivent consulter le tableau de correction d'altitude pour la limite réelle à haute altitude.
1343
+
1344
+- **Option A** et B/D sont faux car le repère physique sur l'instrument ne bouge pas.
11651345
11661346 #### Termes clés
11671347
1168
-IAS = Vitesse indiquée (Indicated Airspeed) ; VNE = Vitesse à ne jamais dépasser
1348
+IAS = Vitesse indiquée (Indicated Airspeed) ; VNE = Vitesse à ne jamais dépasser (Never Exceed Speed)
11691349
11701350 ### Q56: Vous avez parcouru une distance de 150 km en 1 heure et 15 minutes. Votre vitesse sol calculée est : ^t30q56
11711351
....@@ -1182,7 +1362,10 @@
11821362
11831363 #### Explication
11841364
1185
-La bonne réponse est C car vitesse sol = distance / temps = 150 km / 1,25 heures = 120 km/h. L'étape clé est la conversion de 1 heure 15 minutes en heures décimales: 15 minutes = 0,25 heure, donc le temps total = 1,25 heures. A (125 km/h) résulte d'une division par 1,2 heures. B (115 km/h) et D (110 km/h) ne correspondent à aucun calcul correct avec ces données.
1365
+La bonne réponse est C car vitesse sol = distance / temps = 150 km / 1,25 heures = 120 km/h. L'étape clé est de convertir 1 heure 15 minutes en heures décimales : 15 minutes = 0,25 heures, donc temps total = 1,25 heures.
1366
+
1367
+- **Option A** (125 km/h) résulte d'une division par 1,2 heures.
1368
+- **Option B** (115 km/h) et D (110 km/h) ne correspondent à aucun calcul correct avec ces données.
11861369
11871370 ### Q57: Le NOTAM suivant a été publié le 18 août (heure d'été). Laquelle des affirmations suivantes est correcte ? ^t30q57
11881371
....@@ -1190,10 +1373,10 @@
11901373
11911374 ![[figures/t30_q57.png]]
11921375
1193
-- **A)** La CTR/TMA Payerne étendue et la zone restreinte LS-R4 doivent être strictement évitées chaque jour du 02 au 06 septembre 2013, entre le lever et le coucher du soleil.
1194
-- **B)** Un meeting aérien a lieu dans la région de Payerne du 02 au 06 septembre 2013. La TMA Payerne et la zone restreinte LS-R4 sont actives chaque jour pendant cette période entre 0600 UTC et 1500 UTC comme zones d'attente et secteurs de démonstration.
1195
-- **C)** En raison d'un meeting aérien du 02 au 06 septembre 2013, la CTR/TMA Payerne étendue est active chaque jour entre 0600 UTC et 1500 UTC. La TMA est utilisée comme zone d'attente, la zone restreinte LS-R4 comme zone de démonstration et d'attente. La zone doit être strictement évitée.
1196
-- **D)** En raison d'un meeting aérien, une clairance de transit pour la CTR/TMA Payerne étendue et la zone restreinte LS-R4 doit être demandée sur la fréquence 135.475 (Payerne TWR) du 02 au 06 septembre 2013.
1376
+- **A)** La CTR/TMA étendue de Payerne et la zone réglementée LS-R4 doivent être strictement évitées chaque jour du 02 au 06 septembre 2013, entre le lever et le coucher du soleil.
1377
+- **B)** Un meeting aérien a lieu dans la région de Payerne du 02 au 06 septembre 2013. La TMA de Payerne et la zone réglementée LS-R4 sont actives chaque jour pendant cette période entre 06h00 UTC et 15h00 UTC comme zones d'attente et secteurs de démonstration du meeting.
1378
+- **C)** En raison d'un meeting aérien du 02 au 06 septembre 2013, la CTR/TMA étendue de Payerne est active chaque jour entre 06h00 UTC et 15h00 UTC. La TMA est utilisée comme zone d'attente, la zone réglementée LS-R4 comme zone de démonstration et d'attente. La zone doit être strictement évitée.
1379
+- **D)** En raison d'un meeting aérien, une clairance de transit pour la CTR/TMA étendue de Payerne et la zone réglementée LS-R4 doit être demandée sur la fréquence 135.475 (Payerne TWR) du 02 au 06 septembre 2013.
11971380
11981381 #### Réponse
11991382
....@@ -1201,17 +1384,17 @@
12011384
12021385 #### Explication
12031386
1204
-La bonne réponse est C car le NOTAM établit que du 2 au 6 septembre 2013, entre 0600 et 1500 UTC, la CTR/TMA Payerne étendue est activée comme zone d'attente, tandis que LS-R4 sert de zone de démonstration et d'attente pour un meeting aérien. Ces zones doivent être strictement évitées pendant la période active.
1387
+La bonne réponse est C car le NOTAM établit que du 2 au 6 septembre 2013, entre 06h00 et 15h00 UTC, la CTR/TMA étendue de Payerne est activée comme zone d'attente, tandis que LS-R4 sert à la fois de zone de démonstration et d'attente pour un meeting aérien. Ces zones doivent être strictement évitées pendant la période d'activité.
12051388
1206
-- **A** est faux car les horaires sont 0600-1500 UTC, pas du lever au coucher du soleil.
1207
-- **B** décrit incorrectement les deux zones.
1208
-- **D** est faux car le transit n'est pas autorisé.
1389
+- **A** est faux car les horaires sont 06h00-15h00 UTC, pas du lever au coucher du soleil.
1390
+- **B** indique incorrectement que les deux zones servent de zones d'attente et de démonstration.
1391
+- **D** est faux car le transit n'est pas autorisé — la zone doit être entièrement évitée, pas traversée avec une clairance.
12091392
12101393 #### Termes clés
12111394
1212
-CTR = Zone de contrôle ; NOTAM = Avis aux navigateurs aériens ; TMA = Région de contrôle terminale
1395
+CTR = Zone de contrôle (Control Zone) ; NOTAM = Avis aux navigants (Notice to Air Missions) ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area)
12131396
1214
-### Q58: Quelle est la meilleure vitesse de plané en air calme pour une masse en vol de 450 kg ? Voir feuille annexée. ^t30q58
1397
+### Q58: Quelle est la meilleure vitesse de plané en air calme pour une masse en vol de 450 kg ? Voir feuille jointe. ^t30q58
12151398
12161399 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q58) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q58)
12171400
....@@ -1228,18 +1411,22 @@
12281411
12291412 #### Explication
12301413
1231
-La bonne réponse est B (75 km/h) car la vitesse de meilleure finesse se trouve en traçant la tangente depuis l'origine jusqu'à la courbe de la polaire pour 450 kg. A (95 km/h) est trop rapide et correspondrait à une masse plus lourde ou une polaire différente. C (55 km/h) est proche de la vitesse de décrochage. D (135 km/h) se situe dans la plage de haute vitesse où la finesse est significativement réduite.
1414
+La bonne réponse est B (75 km/h) car la meilleure vitesse de plané se trouve en traçant une tangente depuis l'origine vers la courbe polaire pour 450 kg. Le point où cette tangente touche la courbe donne la vitesse pour la finesse maximale (meilleur rapport portance/traînée).
12321415
1233
-### Q59: Un vol VFR suivra la route indiquée sur la carte ci-dessous (ligne pointillée) d'APPENZELL vers MUOTATHAL. La route est prévue pour le 19 mars 2013 (heure d'hiver) entre 1205 et 1255 LT. Répondez en utilisant le DABS ci-dessous. Laquelle de ces réponses est correcte ? ^t30q59
1416
+- **Option A** (95 km/h) est trop rapide et correspondrait à une masse plus élevée ou une polaire différente.
1417
+- **Option C** (55 km/h) est proche de la vitesse de décrochage.
1418
+- **Option D** (135 km/h) est bien dans la plage de haute vitesse où la finesse est significativement réduite.
1419
+
1420
+### Q59: Un vol VFR suivra la route indiquée sur la carte ci-dessous (ligne pointillée) d'APPENZELL vers MUOTATHAL. La route est planifiée pour le 19 mars 2013 (heure d'hiver) entre 12h05 et 12h55 heure locale. Répondez à l'aide du DABS ci-dessous. Laquelle de ces réponses est correcte ? ^t30q59
12341421
12351422 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q59) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q59)
12361423
12371424 ![[figures/t30_q59.png]]
12381425
12391426 - **A)** Le DABS peut être ignoré car il ne s'applique qu'aux aéronefs militaires.
1240
-- **B)** Vous pouvez traverser toutes les zones de danger et zones restreintes pertinentes en dessous de 1000 ft AGL ou au-dessus de 10 000 ft AMSL.
1241
-- **C)** La route peut être effectuée sans coordination entre 1200 et 1300 LT.
1242
-- **D)** Il n'est pas possible de voler la route prévue ce jour-là.
1427
+- **B)** Vous pouvez traverser toutes les zones de danger et zones réglementées pertinentes en dessous de 1 000 ft AGL ou au-dessus de 10 000 ft AMSL.
1428
+- **C)** La route peut être effectuée sans coordination entre 12h00 et 13h00 heure locale.
1429
+- **D)** Il n'est pas possible de voler la route planifiée ce jour-là.
12431430
12441431 #### Réponse
12451432
....@@ -1247,17 +1434,17 @@
12471434
12481435 #### Explication
12491436
1250
-La bonne réponse est C car en vérifiant le DABS pour le 19 mars 2013 (heure d'hiver, CET = UTC+1), l'heure prévue de 1205-1255 LT se convertit en 1105-1155 UTC. Pendant cette période, les zones de danger et zones restreintes pertinentes le long de la route ne sont pas actives, permettant de voler la route sans coordination.
1437
+La bonne réponse est C car en vérifiant le DABS pour le 19 mars 2013 (heure d'hiver, CET = UTC+1), l'heure prévue de 12h05-12h55 heure locale correspond à 11h05-11h55 UTC. Pendant cette période, les zones de danger et zones réglementées pertinentes le long de la route ne sont pas actives, permettant d'effectuer la route sans coordination.
12511438
1252
-- **A** est faux car le DABS s'applique à tous les usagers de l'espace aérien.
1253
-- **B** est faux car les exemptions d'altitude ne s'appliquent pas automatiquement.
1254
-- **D** est faux car la route est praticable pendant le créneau horaire spécifié.
1439
+- **A** est faux car le DABS s'applique à tous les usagers de l'espace aérien, y compris les planeurs.
1440
+- **B** est faux car les exemptions basées sur l'altitude ne s'appliquent pas automatiquement à toutes les zones réglementées.
1441
+- **D** est faux car la route est praticable pendant la fenêtre de temps spécifiée.
12551442
12561443 #### Termes clés
12571444
1258
-AGL = Au-dessus du sol (Above Ground Level) ; AMSL = Au-dessus du niveau moyen de la mer ; VFR = Règles de vol à vue
1445
+AGL = Au-dessus du sol (Above Ground Level) ; AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; VFR = Règles de vol à vue (Visual Flight Rules)
12591446
1260
-### Q60: La charge alaire est augmentée de 40 % par du ballast d'eau. De quel pourcentage la vitesse minimale du planeur augmente-t-elle ? ^t30q60
1447
+### Q60: La charge alaire est augmentée de 40 % par le ballast d'eau. De quel pourcentage la vitesse minimale du planeur augmente-t-elle ? ^t30q60
12611448
12621449 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q60) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q60)
12631450
....@@ -1272,22 +1459,22 @@
12721459
12731460 #### Explication
12741461
1275
-La bonne réponse est A car la vitesse de décrochage (et donc la vitesse minimale) est proportionnelle à la racine carrée de la charge alaire. Si la charge alaire augmente de 40 % (facteur 1,4), la nouvelle vitesse minimale est l'originale multipliée par √1,4 ≈ 1,183 — soit une augmentation d'environ 18,3 %.
1462
+La bonne réponse est A car la vitesse de décrochage (et donc la vitesse minimale) est proportionnelle à la racine carrée de la charge alaire. Si la charge alaire augmente de 40 % (facteur 1,4), la nouvelle vitesse minimale est l'originale multipliée par la racine carrée de 1,4, ce qui donne environ 1,183 — soit une augmentation d'environ 18,3 %.
12761463
12771464 - **B** est faux car la vitesse n'augmente pas linéairement avec la charge alaire.
1278
-- **C** est faux car une augmentation de 100 % signifierait un doublement.
1465
+- **C** est faux car une augmentation de 100 % signifierait un doublement de la vitesse.
12791466 - **D** est faux car toute augmentation de masse élève la vitesse minimale.
12801467
1281
-### Q61: D'après la polaire ci-dessous, quelle affirmation s'applique à une vitesse de 150 km/h ? Voir feuille annexée ^t30q61
1468
+### Q61: D'après la polaire ci-dessous, quelle affirmation s'applique à une vitesse de 150 km/h ? Voir feuille jointe ^t30q61
12821469
12831470 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q61) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q61)
12841471
12851472 ![[figures/t30_q61.png]]
12861473
1287
-- **A)** Le taux de chute de l'ASK21 est indépendant de sa masse
1288
-- **B)** L'ASK21 a une moins bonne finesse à plus faible masse en vol
1289
-- **C)** L'ASK21 a un taux de chute plus élevé à plus grande masse en vol
1290
-- **D)** L'ASK21 a une meilleure finesse à plus faible masse en vol
1474
+- **A)** le taux de chute de l'ASK21 est indépendant de sa masse
1475
+- **B)** l'ASK21 a une finesse moins bonne à masse en vol plus faible
1476
+- **C)** l'ASK21 a un taux de chute plus élevé à masse en vol plus élevée
1477
+- **D)** l'ASK21 a une meilleure finesse à masse en vol plus faible
12911478
12921479 #### Réponse
12931480
....@@ -1295,11 +1482,11 @@
12951482
12961483 #### Explication
12971484
1298
-La bonne réponse est A car à 150 km/h, les deux courbes polaires pour différentes masses de l'ASK21 se croisent, ce qui signifie que les deux configurations ont le même taux de chute à cette vitesse particulière.
1485
+La bonne réponse est A car à 150 km/h, les deux courbes polaires pour les différentes masses de l'ASK21 se croisent, ce qui signifie que les deux configurations ont le même taux de chute à cette vitesse particulière. C'est une propriété aérodynamique de la polaire : les courbes se croisent à une vitesse où la masse n'a aucun effet sur le taux de chute.
12991486
1300
-- **B** est faux car à 150 km/h la finesse est identique pour les deux masses.
1301
-- **C** est faux car les taux de chute sont identiques au point d'intersection.
1302
-- **D** est également faux car aucune masse n'a une meilleure finesse à cette vitesse.
1487
+- **B** est faux car à 150 km/h la finesse est égale pour les deux masses.
1488
+- **C** est faux car les taux de chute sont identiques à ce point d'intersection.
1489
+- **D** est également faux car aucune masse n'a une meilleure finesse à cette vitesse spécifique.
13031490
13041491 ### Q62: À l'aérodrome d'Amlikon, quelle est la distance d'atterrissage maximale disponible en direction de l'Est ? ^t30q62
13051492
....@@ -1309,7 +1496,7 @@
13091496
13101497 - **A)** 700 ft.
13111498 - **B)** 780 m.
1312
-- **C)** 780 ft
1499
+- **C)** 780 ft.
13131500 - **D)** 700 m.
13141501
13151502 #### Réponse
....@@ -1318,22 +1505,25 @@
13181505
13191506 #### Explication
13201507
1321
-La bonne réponse est B (780 m) car la carte AIP de l'aérodrome d'Amlikon indique une distance d'atterrissage disponible maximale de 780 mètres en direction de l'Est. A et C sont faux car les distances en Suisse sont données en mètres, pas en pieds. D (700 m) ne correspond pas aux données publiées.
1508
+La bonne réponse est B (780 m) car la carte AIP de l'aérodrome d'Amlikon indique une distance d'atterrissage maximale disponible de 780 mètres en direction de l'Est. Vérifiez toujours l'unité et la direction spécifique de la piste lors de la lecture des cartes d'aérodrome.
1509
+
1510
+- **Option A** et C sont faux car les distances d'atterrissage en Suisse sont données en mètres, pas en pieds.
1511
+- **Option D** (700 m) ne correspond pas aux données publiées pour la direction Est.
13221512
13231513 #### Termes clés
13241514
1325
-AIP = Publication d'information aéronautique
1515
+AIP = Publication d'information aéronautique (Aeronautical Information Publication)
13261516
1327
-### Q63: À partir de quelle altitude devez-vous demander une clairance de transit pour la TMA EMMEN entre Cham (env. N47°11' / E008°28') et Hitzkirch (env. N47°14' / E008°16') ? ^t30q63
1517
+### Q63: À partir de quelle altitude devez-vous demander une clairance de transit pour la TMA d'EMMEN entre Cham (env. N47°11' / E008°28') et Hitzkirch (env. N47°14' / E008°16') ? ^t30q63
13281518
13291519 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q63) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q63)
13301520
13311521 ![[figures/t30_q63.png]]
13321522
1333
-- A) 2400 ft AMSL.
1334
-- B) 3500 ft AMSL.
1335
-- C) 2000 ft GND.
1336
-- D) 5000 ft AMSL.
1523
+- A) 2 400 ft AMSL.
1524
+- B) 3 500 ft AMSL.
1525
+- C) 2 000 ft GND.
1526
+- D) 5 000 ft AMSL.
13371527
13381528 #### Réponse
13391529
....@@ -1341,19 +1531,23 @@
13411531
13421532 #### Explication
13431533
1344
-La bonne réponse est B car la limite inférieure de la TMA EMMEN entre Cham et Hitzkirch est à 3500 ft AMSL. En dessous de cette altitude, vous restez en espace aérien non contrôlé et aucune clairance n'est nécessaire. Au-dessus de 3500 ft AMSL, vous entrez dans la TMA et devez obtenir une clairance ATC. A (2400 ft) est trop bas. C (2000 ft GND) utilise une référence au-dessus du sol. D (5000 ft) est trop haut.
1534
+La bonne réponse est B car la limite inférieure de la TMA d'EMMEN entre Cham et Hitzkirch est à 3 500 ft AMSL. En dessous de cette altitude, vous restez en espace aérien non contrôlé et aucune clairance n'est nécessaire. Au-dessus de 3 500 ft AMSL, vous entrez dans la TMA et devez obtenir une clairance ATC.
1535
+
1536
+- **Option A** (2 400 ft) est trop bas et ne correspond pas à la limite publiée.
1537
+- **Option C** (2 000 ft GND) fait référence au-dessus du sol, ce qui n'est pas la façon dont cette limite de TMA est exprimée.
1538
+- **Option D** (5 000 ft) est trop haut.
13451539
13461540 #### Termes clés
13471541
1348
-AMSL = Au-dessus du niveau moyen de la mer ; ATC = Contrôle du trafic aérien ; TMA = Région de contrôle terminale
1542
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; ATC = Contrôle du trafic aérien (Air Traffic Control) ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area)
13491543
13501544 ### Q64: La charge utile maximale autorisée est dépassée. Quelle mesure doit être prise ? ^t30q64
13511545
13521546 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q64) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q64)
13531547
1354
-- A) Trimmer en arrière.
1548
+- A) Compenser vers l'arrière.
13551549 - B) Augmenter la vitesse de décollage de 10 %.
1356
-- C) Trimmer en avant.
1550
+- C) Compenser vers l'avant.
13571551 - D) Réduire la charge utile.
13581552
13591553 #### Réponse
....@@ -1362,18 +1556,18 @@
13621556
13631557 #### Explication
13641558
1365
-La bonne réponse est D car lorsque la charge utile maximale autorisée est dépassée, la seule action correcte est de réduire la charge utile jusqu'à ce qu'elle soit conforme à la limite. A et C sont faux car le trim ajuste les forces aérodynamiques sur l'empennage mais ne modifie ni la masse ni le C.G.
1559
+La bonne réponse est D car lorsque la charge utile maximale autorisée est dépassée, la seule action correcte est de réduire la charge utile jusqu'à conformité avec la limite. La charge utile maximale est une limite de certification basée sur la résistance structurelle et l'enveloppe de centrage. A et C sont faux car le trim ajuste les forces aérodynamiques sur l'empennage mais ne modifie pas la masse ni le centrage de l'aéronef — il ne peut pas rendre un aéronef en surcharge sûr.
13661560
1367
-- **B** est faux car augmenter la vitesse de décollage ne résout pas une surcharge.
1561
+- **B** est faux car augmenter la vitesse de décollage ne résout pas une condition de surcharge et peut en fait surcharger davantage la structure.
13681562
1369
-### Q65: Quel est l'effet du vent sur l'angle de descente par rapport au sol si la vitesse vraie de l'aéronef reste constante ? ^t30q65
1563
+### Q65: Quel est l'effet du vent sur l'angle de plané par rapport au sol si la vitesse vraie de l'aéronef reste constante ? ^t30q65
13701564
13711565 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q65) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q65)
13721566
1373
-- **A)** Avec un vent arrière, l'angle de descente augmente.
1374
-- **B)** Avec un vent de face, l'angle de descente diminue.
1375
-- **C)** Le vent n'a aucun effet sur l'angle de descente.
1376
-- **D)** Avec un vent de face, l'angle de descente augmente.
1567
+- **A)** Avec un vent arrière, l'angle de plané augmente.
1568
+- **B)** Avec un vent de face, l'angle de plané diminue.
1569
+- **C)** Le vent n'a aucun effet sur l'angle de plané.
1570
+- **D)** Avec un vent de face, l'angle de plané augmente.
13771571
13781572 #### Réponse
13791573
....@@ -1381,11 +1575,11 @@
13811575
13821576 #### Explication
13831577
1384
-La bonne réponse est D car un vent de face réduit la vitesse sol tandis que le taux de chute dans la masse d'air reste inchangé. L'angle de descente par rapport au sol se raidit.
1578
+La bonne réponse est D car un vent de face réduit la vitesse sol tandis que le taux de chute dans la masse d'air reste inchangé. Puisque le planeur parcourt moins de distance horizontale au sol par unité d'altitude perdue, l'angle de descente par rapport au sol s'accentue (augmente).
13851579
1386
-- **A** est faux car un vent arrière diminue l'angle de descente.
1387
-- **B** est faux car un vent de face augmente l'angle.
1388
-- **C** est faux car le vent affecte significativement l'angle de descente sol.
1580
+- **A** est faux car un vent arrière diminue (aplatit) l'angle de plané par rapport au sol en augmentant la vitesse sol.
1581
+- **B** est faux car un vent de face augmente, et non diminue, l'angle de plané par rapport au sol.
1582
+- **C** est faux car le vent affecte significativement l'angle de plané par rapport au sol, même s'il n'affecte pas l'angle de plané dans la masse d'air.
13891583
13901584 ### Q66: Comment la vitesse indiquée (IAS) se compare-t-elle à la vitesse vraie (TAS) lorsque l'altitude augmente ? ^t30q66
13911585
....@@ -1402,7 +1596,7 @@
14021596
14031597 #### Explication
14041598
1405
-La bonne réponse est B car lorsque l'altitude augmente, la densité de l'air diminue. Pour une même TAS, le tube de Pitot mesure moins de pression dynamique, de sorte que l'IAS affichée est inférieure à la TAS.
1599
+La bonne réponse est B car lorsque l'altitude augmente, la densité de l'air diminue. Pour la même vitesse vraie, le tube de Pitot mesure moins de pression dynamique, donc l'indication IAS est inférieure à la TAS. Inversement, pour maintenir la même IAS en altitude, l'aéronef doit voler à une TAS plus élevée. La relation est approximativement TAS = IAS × racine carrée de (densité au niveau de la mer / densité réelle).
14061600
14071601 - **A** est faux car l'IAS n'augmente pas par rapport à la TAS avec l'altitude.
14081602 - **C** est faux car l'IAS peut toujours être mesurée.
....@@ -1412,7 +1606,7 @@
14121606
14131607 IAS = Vitesse indiquée (Indicated Airspeed) ; TAS = Vitesse vraie (True Airspeed)
14141608
1415
-### Q67: Qu'est-ce qui doit être particulièrement observé lors d'un atterrissage sous forte pluie ? ^t30q67
1609
+### Q67: Que faut-il observer particulièrement lors d'un atterrissage sous forte pluie ? ^t30q67
14161610
14171611 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q67) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q67)
14181612
....@@ -1427,11 +1621,11 @@
14271621
14281622 #### Explication
14291623
1430
-La bonne réponse est A car la forte pluie sur la surface de l'aile augmente la rugosité et peut dégrader la couche limite, ce qui peut élever la vitesse de décrochage et réduire le coefficient de portance maximal. Une vitesse d'approche plus élevée offre une marge de sécurité.
1624
+La bonne réponse est A car la pluie forte sur la surface de l'aile augmente la rugosité et peut dégrader la couche limite, augmentant potentiellement la vitesse de décrochage et réduisant le coefficient de portance maximal. Une vitesse d'approche plus élevée fournit une marge de sécurité contre ces effets.
14311625
1432
-- **B** est faux car augmenter la charge alaire sous la pluie est impraticable.
1433
-- **C** est faux car une approche plus plate réduit la marge de franchissement.
1434
-- **D** est faux car une vitesse plus basse réduit la marge de sécurité.
1626
+- **B** est faux car augmenter délibérément la charge alaire sous la pluie nécessiterait d'ajouter du ballast, ce qui est impraticable et contre-productif.
1627
+- **C** est faux car une approche plus plate réduit le franchissement d'obstacles en mauvaise visibilité.
1628
+- **D** est faux car une vitesse d'approche plus basse réduit la marge de sécurité lorsque la dégradation aérodynamique est déjà un risque.
14351629
14361630 ### Q68: Que doit prendre en compte un pilote de planeur à l'aérodrome de Bex ? ^t30q68
14371631
....@@ -1439,10 +1633,10 @@
14391633
14401634 ![[figures/t30_q68.png]]
14411635
1442
-- **A)** Le circuit pour la piste 33 est dans le sens horaire.
1443
-- **B)** Le circuit pour la piste 15 est dans le sens horaire.
1444
-- **C)** Le circuit pour la piste 33 est dans le sens antihoraire.
1445
-- **D)** Selon le vent, le circuit pour la piste 33 peut être soit dans le sens horaire soit dans le sens antihoraire.
1636
+- **A)** Le circuit de piste pour la piste 33 est dans le sens horaire.
1637
+- **B)** Le circuit de piste pour la piste 15 est dans le sens horaire.
1638
+- **C)** Le circuit de piste pour la piste 33 est dans le sens antihoraire.
1639
+- **D)** Selon le vent, le circuit de piste pour la piste 33 peut être soit dans le sens horaire, soit dans le sens antihoraire.
14461640
14471641 #### Réponse
14481642
....@@ -1450,22 +1644,23 @@
14501644
14511645 #### Explication
14521646
1453
-La bonne réponse est D car à l'aérodrome de Bex, les contraintes du terrain signifient que le sens du circuit pour la piste 33 dépend des conditions de vent. La carte montre qu'un circuit à gauche ou à droite peut être utilisé.
1647
+La bonne réponse est D car à l'aérodrome de Bex, les contraintes de terrain (la vallée du Rhône et les montagnes environnantes) font que la direction du circuit de piste pour la piste 33 dépend des conditions de vent dominantes. La carte montre qu'un circuit à gauche ou à droite peut être utilisé.
14541648
1455
-- **A** est faux car cela limite le circuit au sens horaire uniquement.
1456
-- **B** concerne la piste 15.
1457
-- **C** est faux car cela limite le circuit au sens antihoraire uniquement.
1649
+- **A** est faux car il limite le circuit au sens horaire uniquement.
1650
+- **B** concerne la piste 15, pas la 33.
1651
+- **C** est faux car il limite le circuit au sens antihoraire uniquement.
1652
+- Les pilotes doivent vérifier les procédures locales et les conditions de vent avant de rejoindre le circuit.
14581653
1459
-### Q69: Quelle est l'altitude maximale de vol au-dessus de l'aérodrome de Biel Kappelen (SE de Biel) si vous souhaitez éviter de demander une clairance de transit pour la TMA BERN 1 ? ^t30q69
1654
+### Q69: Quelle est l'altitude maximale de vol au-dessus de l'aérodrome de Biel Kappelen (SE de Bienne) si vous souhaitez éviter de demander une clairance de transit pour la TMA BERN 1 ? ^t30q69
14601655
14611656 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q69) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q69)
14621657
14631658 ![[figures/t30_q69.png]]
14641659
1465
-- **A)** 3500 ft AGL.
1660
+- **A)** 3 500 ft AGL.
14661661 - **B)** FL 100.
14671662 - **C)** FL 35.
1468
-- **D)** 3500 ft AMSL.
1663
+- **D)** 3 500 ft AMSL.
14691664
14701665 #### Réponse
14711666
....@@ -1473,15 +1668,15 @@
14731668
14741669 #### Explication
14751670
1476
-La bonne réponse est D car la limite inférieure de la TMA BERN 1 au-dessus de Biel Kappelen est à 3500 ft AMSL. En restant en dessous, vous demeurez en espace aérien non contrôlé.
1671
+La bonne réponse est D car la limite inférieure de la TMA BERN 1 au-dessus de Biel Kappelen est de 3 500 ft AMSL. En restant en dessous de cette altitude, vous restez en espace aérien non contrôlé et n'avez pas besoin de clairance de transit.
14771672
1478
-- **A** est faux car les limites de TMA sont référencées au MSL.
1479
-- **B** est bien au-dessus de la limite.
1480
-- **C** convertit en environ 3500 ft en atmosphère standard mais les niveaux de vol utilisent 1013,25 hPa.
1673
+- **Option A** (3 500 ft AGL) est faux car les limites de TMA sont référencées au MSL, pas à l'AGL.
1674
+- **Option B** (FL 100) est bien au-dessus de la limite pertinente.
1675
+- **Option C** (FL 35) se convertit à environ 3 500 ft en atmosphère standard, mais les niveaux de vol utilisent le calage standard (1013,25 hPa), pas le QNH, donc ce n'est pas la façon correcte d'exprimer la limite.
14811676
14821677 #### Termes clés
14831678
1484
-AGL = Au-dessus du sol (Above Ground Level) ; AMSL = Au-dessus du niveau moyen de la mer ; FL = Niveau de vol (Flight Level) ; MSL = Niveau moyen de la mer (Mean Sea Level) ; TMA = Région de contrôle terminale
1679
+AGL = Au-dessus du sol (Above Ground Level) ; AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; FL = Niveau de vol (Flight Level) ; MSL = Niveau moyen de la mer (Mean Sea Level) ; QNH = Pression ramenée au niveau de la mer ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area)
14851680
14861681 ### Q70: Laquelle de ces affirmations est correcte ? ^t30q70
14871682
....@@ -1498,15 +1693,19 @@
14981693
14991694 #### Explication
15001695
1501
-La bonne réponse est A car en appliquant le calcul de masse et centrage avec les données fournies, la nouvelle position du C.G. se calcule à 76,7, ce qui se situe dans les limites approuvées. B (78,5) est un résultat incorrect. C (82,0) serait hors limites. D (75,5) est un calcul erroné.
1696
+La bonne réponse est A car en appliquant le calcul de masse et centrage avec les données fournies (de la feuille jointe), la nouvelle position du C.G. se calcule à 76,7, ce qui se situe dans les limites avant et arrière approuvées du C.G. Vérifiez toujours votre calcul en vérifiant si le résultat est compris entre les limites avant et arrière publiées.
15021697
1503
-### Q71: Quel est l'effet d'une piste herbeuse détrempée sur l'atterrissage ? ^t30q71
1698
+- **Option B** (78,5) est un résultat de calcul incorrect.
1699
+- **Option C** (82,0) est trop en arrière et serait hors limites.
1700
+- **Option D** (75,5) est un calcul incorrect et tomberait également hors de la limite avant.
1701
+
1702
+### Q71: Quel est l'effet d'une piste en herbe détrempée sur l'atterrissage ? ^t30q71
15041703
15051704 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q71) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q71)
15061705
15071706 - **A)** La distance d'atterrissage sera plus courte.
15081707 - **B)** La distance d'atterrissage sera plus longue.
1509
-- **C)** Le planeur risque de sortir de piste (tête-à-queue).
1708
+- **C)** Le planeur risque de sortir de piste (cheval de bois).
15101709 - **D)** Aucun effet.
15111710
15121711 #### Réponse
....@@ -1515,13 +1714,13 @@
15151714
15161715 #### Explication
15171716
1518
-La bonne réponse est A car une surface herbeuse détrempée crée une friction et une résistance au roulement plus importantes sur le train d'atterrissage, ce qui freine le planeur plus rapidement et réduit la distance d'arrêt.
1717
+La bonne réponse est A car une surface en herbe détrempée crée une plus grande friction et traînée sur le train d'atterrissage pendant le roulement au sol, faisant décélérer le planeur plus rapidement et s'arrêter sur une distance plus courte. L'eau agit comme un moyen de freinage.
15191718
1520
-- **B** est faux car l'herbe mouillée augmente la résistance au roulement pour un planeur.
1521
-- **C** est faux car l'effet principal est le raccourcissement de la distance.
1522
-- **D** est faux car l'état de la surface affecte toujours la distance.
1719
+- **B** est faux car l'herbe mouillée augmente, et non diminue, la résistance au roulement pour un planeur.
1720
+- **C** est faux car bien que le contrôle directionnel puisse être légèrement affecté, l'effet principal est le raccourcissement de la distance d'arrêt.
1721
+- **D** est faux car les conditions de surface affectent toujours la distance d'atterrissage.
15231722
1524
-### Q72: À l'aérodrome de Schänis, quelle est la distance d'atterrissage maximale disponible en direction NNO ? ^t30q72
1723
+### Q72: À l'aérodrome de Schänis, quelle est la distance d'atterrissage maximale disponible en direction NNW ? ^t30q72
15251724
15261725 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q72) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q72)
15271726
....@@ -1538,13 +1737,16 @@
15381737
15391738 #### Explication
15401739
1541
-La bonne réponse est B (470 m) car la carte AIP de l'aérodrome de Schänis indique une distance d'atterrissage disponible maximale de 470 mètres en direction NNO. A (520 m) ne correspond pas aux données publiées. C et D sont faux car les distances en Suisse sont données en mètres.
1740
+La bonne réponse est B (470 m) car la carte AIP de l'aérodrome de Schänis indique une distance d'atterrissage maximale disponible de 470 mètres en direction NNW. Lisez toujours la bonne direction de piste et la distance correspondante sur la carte de l'aérodrome.
1741
+
1742
+- **Option A** (520 m) ne correspond pas aux données publiées pour cette direction.
1743
+- **Option C** et D sont faux car les distances d'aérodrome suisses sont données en mètres, pas en pieds.
15421744
15431745 #### Termes clés
15441746
1545
-AIP = Publication d'information aéronautique
1747
+AIP = Publication d'information aéronautique (Aeronautical Information Publication)
15461748
1547
-### Q73: La masse actuelle d'un aéronef est de 6400 lbs. CG actuel : 80. Limites CG : CG avant : 75,2, CG arrière : 80,5. Quelle masse peut être déplacée de sa position actuelle au bras de levier 150 sans dépasser la limite arrière du CG ? ^t30q73
1749
+### Q73: La masse actuelle d'un aéronef est de 6 400 lbs. CG actuel : 80. Limites de CG : CG avant : 75,2, CG arrière : 80,5. Quelle masse peut être déplacée de sa position actuelle vers le bras 150 sans dépasser la limite arrière du CG ? ^t30q73
15481750
15491751 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q73) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q73)
15501752
....@@ -1559,19 +1761,21 @@
15591761
15601762 #### Explication
15611763
1562
-La bonne réponse est D (45,71 lbs). Le calcul utilise la formule de déplacement: ΔCG = (x × Δbras) / masse totale. On obtient: 0,5 = (x × 70) / 6400, donc x = (0,5 × 6400) / 70 = 45,71 lbs. A (27,82), B (56,63) et C (39,45) résultent de calculs incorrects.
1764
+La bonne réponse est D (45,71 lbs). Le calcul utilise la formule de déplacement : lorsque la masse x est déplacée de la position actuelle du C.G. (80) vers le bras 150, le C.G. se déplace vers l'arrière. Le nouveau C.G. ne doit pas dépasser 80,5. En utilisant la formule : delta CG = (x × delta bras) / masse totale, on obtient : 0,5 = (x × 70) / 6 400, donc x = (0,5 × 6 400) / 70 = 45,71 lbs.
1765
+
1766
+- **Option A** (27,82), B (56,63) et C (39,45) résultent de calculs incorrects utilisant de mauvaises distances ou valeurs de masse.
15631767
15641768 #### Termes clés
15651769
1566
-CG = Centre de gravité
1770
+CG = Centre de Gravité
15671771
15681772 ### Q74: Le chargement correct d'un aéronef dépend de : ^t30q74
15691773
15701774 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q74) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q74)
15711775
15721776 - A) Uniquement du respect de la masse maximale autorisée.
1573
-- B) Uniquement de la distribution correcte de la charge utile.
1574
-- C) De la distribution correcte de la charge utile et du respect de la masse maximale autorisée.
1777
+- B) Uniquement d'une répartition correcte de la charge utile.
1778
+- C) D'une répartition correcte de la charge utile et du respect de la masse maximale autorisée.
15751779 - D) De la masse maximale autorisée des bagages dans la section arrière de l'aéronef.
15761780
15771781 #### Réponse
....@@ -1580,22 +1784,22 @@
15801784
15811785 #### Explication
15821786
1583
-La bonne réponse est C car un chargement correct exige de satisfaire deux conditions indépendantes simultanément: la masse totale ne doit pas dépasser la MTOM, et la charge utile doit être distribuée pour que le C.G. reste dans l'enveloppe approuvée.
1787
+La bonne réponse est C car un chargement correct exige de satisfaire simultanément deux conditions indépendantes : la masse totale ne doit pas dépasser la masse maximale autorisée (MTOM), et la charge utile doit être répartie de manière à ce que le C.G. reste dans l'enveloppe approuvée.
15841788
1585
-- **A** est faux car la masse seule ne garantit pas le centrage.
1586
-- **B** est faux car la distribution seule ne garantit pas la masse.
1587
-- **D** est faux car cela ne traite que d'un compartiment.
1789
+- **A** est faux car respecter la limite de masse seule ne garantit pas que le C.G. soit dans les limites.
1790
+- **B** est faux car une répartition correcte seule ne garantit pas que la masse totale soit dans les limites.
1791
+- **D** est faux car il ne traite que d'un compartiment à bagages spécifique plutôt que des exigences de chargement complètes.
15881792
1589
-### Q75: Quelle information peut-on lire sur cette polaire des vitesses ? (Voir feuille annexée.) ^t30q75
1793
+### Q75: Quelles informations peut-on lire sur cette polaire des vitesses ? (Voir feuille jointe.) ^t30q75
15901794
15911795 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q75) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q75)
15921796
15931797 ![[figures/t30_q75.png]]
15941798
1595
-- **A)** Dans la plage de vitesses jusqu'à 100 km/h, une augmentation de la masse en vol réduit le taux de chute.
1596
-- **B)** La vitesse minimale est indépendante de la masse en vol.
1597
-- **C)** Tant la finesse que la vitesse minimale sont indépendantes de la masse en vol.
1598
-- **D)** Seule la finesse maximale est indépendante de la masse en vol, à un léger effet de nombre de Reynolds près.
1799
+- **A)** dans la plage de vitesse jusqu'à 100 km/h, une augmentation de la masse en vol réduit le taux de chute.
1800
+- **B)** la vitesse minimale est indépendante de la masse en vol.
1801
+- **C)** la finesse et la vitesse minimale sont toutes deux indépendantes de la masse en vol.
1802
+- **D)** seule la finesse maximale est indépendante de la masse en vol, à l'exception d'un effet mineur du nombre de Reynolds.
15991803
16001804 #### Réponse
16011805
....@@ -1603,20 +1807,20 @@
16031807
16041808 #### Explication
16051809
1606
-La bonne réponse est D car en comparant les courbes polaires pour différentes masses, la tangente depuis l'origine touche chaque courbe au même angle, ce qui signifie que le rapport L/D maximal est essentiellement inchangé par la masse. Cependant, la vitesse correspondante augmente avec la masse.
1810
+La bonne réponse est D car en comparant les courbes polaires pour différentes masses, la tangente depuis l'origine touche chaque courbe au même angle, ce qui signifie que le rapport portance/traînée maximal (meilleure finesse) est essentiellement inchangé par la masse, à l'exception d'effets mineurs du nombre de Reynolds. Cependant, la vitesse à laquelle cette meilleure finesse est atteinte augmente avec la masse.
16071811
1608
-- **A** est faux car l'augmentation de la masse augmente toujours le taux de chute.
1609
-- **B** est faux car la vitesse minimale augmente avec la masse.
1610
-- **C** est faux car la vitesse minimale n'est pas indépendante de la masse.
1812
+- **A** est faux car augmenter la masse augmente toujours le taux de chute à toute vitesse donnée.
1813
+- **B** est faux car la vitesse minimale augmente avec la masse (proportionnellement à la racine carrée du rapport de masse).
1814
+- **C** est faux car si la finesse est indépendante de la masse, la vitesse minimale ne l'est pas.
16111815
1612
-### Q76: À quelle vitesse indiquée effectuez-vous une approche sur un aérodrome situé à 1800 m AMSL ? ^t30q76
1816
+### Q76: À quelle vitesse indiquée approchez-vous un aérodrome situé à une altitude de 1 800 m AMSL ? ^t30q76
16131817
16141818 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q76) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q76)
16151819
16161820 - **A)** À la même vitesse qu'au niveau de la mer.
1617
-- **B)** À une vitesse inférieure à celle au niveau de la mer.
1618
-- **C)** À la vitesse de taux de chute minimum.
1619
-- **D)** À une vitesse supérieure à celle au niveau de la mer.
1821
+- **B)** À une vitesse inférieure à celle du niveau de la mer.
1822
+- **C)** À la vitesse de taux de chute minimal.
1823
+- **D)** À une vitesse supérieure à celle du niveau de la mer.
16201824
16211825 #### Réponse
16221826
....@@ -1624,17 +1828,17 @@
16241828
16251829 #### Explication
16261830
1627
-La bonne réponse est A car le badin mesure la pression dynamique, directement liée aux forces aérodynamiques indépendamment de l'altitude. À 1800 m AMSL, la TAS sera plus élevée pour la même IAS, mais les forces aérodynamiques dépendent de l'IAS. La même IAS d'approche offre les mêmes marges de sécurité.
1831
+La bonne réponse est A car l'anémomètre mesure la pression dynamique, qui est directement liée aux forces aérodynamiques indépendamment de l'altitude. À 1 800 m AMSL, la densité de l'air est plus faible, donc la TAS sera plus élevée pour la même IAS — mais les forces aérodynamiques (portance, caractéristiques de décrochage) dépendent de l'IAS, pas de la TAS. Par conséquent, la même vitesse d'approche indiquée fournit les mêmes marges de sécurité qu'au niveau de la mer.
16281832
1629
-- **B** est faux car une IAS plus basse réduirait la marge de décrochage.
1630
-- **D** est faux car une IAS plus élevée est inutile.
1631
-- **C** est faux car ce n'est pas la vitesse d'approche correcte.
1833
+- **B** est faux car voler à une IAS plus basse réduirait la marge de décrochage.
1834
+- **D** est faux car une IAS plus élevée est inutile et entraînerait un flottement excessif.
1835
+- **C** est faux car la vitesse de chute minimale n'est pas la vitesse d'approche correcte.
16321836
16331837 #### Termes clés
16341838
1635
-AMSL = Au-dessus du niveau moyen de la mer ; IAS = Vitesse indiquée (Indicated Airspeed) ; TAS = Vitesse vraie (True Airspeed)
1839
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; IAS = Vitesse indiquée (Indicated Airspeed) ; TAS = Vitesse vraie (True Airspeed)
16361840
1637
-### Q77: À quelle vitesse devez-vous voler pour obtenir la meilleure finesse pour une masse en vol de 450 kg ? (Voir feuille annexée.) ^t30q77
1841
+### Q77: À quelle vitesse devez-vous voler pour obtenir la meilleure finesse pour une masse en vol de 450 kg ? (Voir feuille jointe.) ^t30q77
16381842
16391843 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q77) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q77)
16401844
....@@ -1651,16 +1855,20 @@
16511855
16521856 #### Explication
16531857
1654
-La bonne réponse est B (90 km/h) car la vitesse de meilleure finesse se trouve au point de tangence depuis l'origine sur la polaire pour 450 kg. A (130 km/h) est trop rapide. C (70 km/h) est la vitesse de taux de chute minimum. D (110 km/h) donnerait une finesse réduite.
1858
+La bonne réponse est B (90 km/h) car la vitesse de meilleure finesse se trouve là où la tangente depuis l'origine touche la courbe polaire pour 450 kg. Pour ce type de planeur à 450 kg, cela se produit à environ 90 km/h.
1859
+
1860
+- **Option A** (130 km/h) est trop rapide — à cette vitesse la finesse est significativement réduite.
1861
+- **Option C** (70 km/h) est plus proche de la vitesse de chute minimale, qui maximise l'endurance mais pas la distance.
1862
+- **Option D** (110 km/h) donnerait une finesse réduite par rapport à l'optimum.
16551863
16561864 ### Q78: La limite arrière maximale du CG est dépassée. Quelle mesure doit être prise ? ^t30q78
16571865
16581866 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q78) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q78)
16591867
1660
-- **A)** Trimmer en arrière.
1868
+- **A)** Compenser vers l'arrière.
16611869 - **B)** Tant que la masse maximale au décollage n'est pas dépassée, aucune action particulière n'est requise.
16621870 - **C)** Redistribuer la charge utile différemment.
1663
-- **D)** Trimmer en avant.
1871
+- **D)** Compenser vers l'avant.
16641872
16651873 #### Réponse
16661874
....@@ -1668,23 +1876,23 @@
16681876
16691877 #### Explication
16701878
1671
-La bonne réponse est C car lorsque la limite arrière du C.G. est dépassée, la charge utile doit être redistribuée pour déplacer la masse vers l'avant.
1879
+La bonne réponse est C car lorsque la limite arrière du C.G. est dépassée, la charge utile doit être redistribuée pour déplacer la masse vers l'avant — par exemple, en ajoutant du lest au nez, en repositionnant l'équipement, ou en ajustant la position du siège du pilote. Cela déplace physiquement le C.G. dans les limites approuvées.
16721880
1673
-- **A** est faux car trimmer en arrière aggraverait la situation.
1674
-- **B** est faux car être dans les limites de masse ne compense pas un C.G. hors limites.
1881
+- **A** est faux car compenser vers l'arrière aggraverait la situation aérodynamiquement.
1882
+- **B** est faux car être dans les limites de masse ne compense pas un C.G. hors limites — les deux doivent être satisfaits indépendamment.
16751883 - **D** est faux car le trim ajuste les forces aérodynamiques mais ne change pas la position réelle du C.G.
16761884
16771885 #### Termes clés
16781886
1679
-CG = Centre de gravité
1887
+CG = Centre de Gravité
16801888
1681
-### Q79: Quels facteurs augmentent la distance de décollage en remorqué ? ^t30q79
1889
+### Q79: Quels facteurs augmentent la distance de roulement au décollage en remorqué ? ^t30q79
16821890
16831891 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q79) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q79)
16841892
16851893 - A) Basse température, vent de face.
1686
-- B) Piste en herbe, vent de face fort.
1687
-- C) Pression atmosphérique élevée.
1894
+- B) Piste en herbe, fort vent de face.
1895
+- C) Haute pression atmosphérique.
16881896 - D) Haute température, vent arrière.
16891897
16901898 #### Réponse
....@@ -1693,11 +1901,11 @@
16931901
16941902 #### Explication
16951903
1696
-La bonne réponse est D car une haute température réduit la densité de l'air, diminuant la portance et nécessitant une accélération plus longue. Un vent arrière réduit la composante de vent de face, allongeant encore la distance.
1904
+La bonne réponse est D car une haute température réduit la densité de l'air, diminuant la portance générée à toute vitesse sol donnée, nécessitant une accélération plus longue pour atteindre la vitesse de vol. Un vent arrière réduit la composante de vent de face, ce qui signifie que l'aéronef a besoin d'une vitesse sol plus élevée pour atteindre la même vitesse air, allongeant encore la distance de décollage.
16971905
1698
-- **A** est faux car une basse température et un vent de face raccourcissent la distance.
1699
-- **B** est faux car un vent de face fort raccourcit la distance.
1700
-- **C** est faux car une pression élevée augmente la densité.
1906
+- **A** est faux car une basse température augmente la densité de l'air (plus de portance) et un vent de face raccourcit la distance.
1907
+- **B** est faux car un fort vent de face raccourcit la distance de décollage.
1908
+- **C** est faux car une haute pression atmosphérique augmente la densité, ce qui aide plutôt qu'il n'entrave les performances au décollage.
17011909
17021910 ### Q80: Le NOTAM suivant a été publié pour le 18 novembre. Laquelle de ces affirmations est correcte ? ^t30q80
17031911
....@@ -1706,9 +1914,9 @@
17061914 ![[figures/t30_q80.png]]
17071915
17081916 - **A)** Le 18 novembre, un exercice de vol militaire de nuit aura lieu dans les zones ZUGERSEE, SUSTEN et TICINO. Limite inférieure : espace aérien de classe E, limite supérieure : max. FL150.
1709
-- **B)** Le 18 novembre de 1800 LT à 2100 LT, un exercice de vol militaire de nuit aura lieu dans les zones ZUGERSEE, SUSTEN et TICINO.
1710
-- **C)** Le 18 novembre de 1800 UTC à 2100 UTC, un exercice de vol militaire de nuit avec hélicoptères aura lieu.
1711
-- **D)** Le 18 novembre de 1800 UTC à 2100 UTC, un exercice de vol militaire de nuit aura lieu dans les zones ZUGERSEE, SUSTEN et TICINO. Limite inférieure : GND, limite supérieure : max. 15 000 ft AMSL.
1917
+- **B)** Le 18 novembre de 18h00 LT à 21h00 LT, un exercice de vol militaire de nuit aura lieu dans les zones ZUGERSEE, SUSTEN et TICINO.
1918
+- **C)** Le 18 novembre de 18h00 UTC à 21h00 UTC, un exercice de vol militaire de nuit avec hélicoptères aura lieu.
1919
+- **D)** Le 18 novembre de 18h00 UTC à 21h00 UTC, un exercice de vol militaire de nuit aura lieu dans les zones ZUGERSEE, SUSTEN et TICINO. Limite inférieure : GND, limite supérieure : max. 15 000 ft AMSL.
17121920
17131921 #### Réponse
17141922
....@@ -1716,26 +1924,26 @@
17161924
17171925 #### Explication
17181926
1719
-La bonne réponse est D car le NOTAM spécifie un exercice de vol militaire de nuit le 18 novembre de 1800 à 2100 UTC dans les zones ZUGERSEE, SUSTEN et TICINO, avec des limites verticales de GND à 15 000 ft AMSL.
1927
+La bonne réponse est D car le NOTAM spécifie un exercice de vol militaire de nuit le 18 novembre de 18h00 à 21h00 UTC dans les zones ZUGERSEE, SUSTEN et TICINO, avec des limites verticales de GND à 15 000 ft AMSL.
17201928
1721
-- **A** est faux car la limite inférieure est GND, pas la classe E.
1722
-- **B** est faux car les horaires sont en UTC, pas en heure locale.
1723
-- **C** est faux car il n'est pas spécifié hélicoptères uniquement.
1929
+- **A** est faux car la limite inférieure est GND, pas l'espace aérien de classe E, et la limite supérieure est 15 000 ft AMSL, pas FL150.
1930
+- **B** est faux car les heures sont en UTC, pas en heure locale.
1931
+- **C** est faux car il indique incorrectement des opérations uniquement avec hélicoptères et omet les zones géographiques.
17241932
17251933 #### Termes clés
17261934
1727
-AMSL = Au-dessus du niveau moyen de la mer ; FL = Niveau de vol (Flight Level) ; NOTAM = Avis aux navigateurs aériens
1935
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; FL = Niveau de vol (Flight Level) ; NOTAM = Avis aux navigants (Notice to Air Missions)
17281936
1729
-### Q81: Quelle est l'altitude maximale de vol autorisée dans la CTR de l'aéroport de Berne-Belp ? ^t30q81
1937
+### Q81: Quelle est l'altitude maximale de vol autorisée à l'intérieur de la CTR de l'aéroport de Berne-Belp ? ^t30q81
17301938
17311939 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q81) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q81)
17321940
17331941 ![[figures/t30_q81.png]]
17341942
1735
-- A) 5500 ft GND.
1736
-- B) 4500 ft AMSL.
1737
-- C) 5000 ft AMSL
1738
-- D) 3000 ft AMSL.
1943
+- A) 5 500 ft GND.
1944
+- B) 4 500 ft AMSL.
1945
+- C) 5 000 ft AMSL.
1946
+- D) 3 000 ft AMSL.
17391947
17401948 #### Réponse
17411949
....@@ -1743,13 +1951,17 @@
17431951
17441952 #### Explication
17451953
1746
-La bonne réponse est D car la CTR de l'aéroport de Berne-Belp a une limite supérieure de 3000 ft AMSL. Au-dessus, vous quittez la CTR. A (5500 ft GND) ne correspond pas. B (4500 ft AMSL) est trop haut. C (5000 ft AMSL) est également trop haut.
1954
+La bonne réponse est D car la CTR (zone de contrôle) de l'aéroport de Berne-Belp a une limite supérieure de 3 000 ft AMSL. Au-dessus de cette altitude, vous quittez la CTR et entrez dans un espace aérien différent. Le vol VFR à l'intérieur de la CTR nécessite une clairance de la tour de Berne et doit rester en dessous de la limite supérieure publiée.
1955
+
1956
+- **Option A** (5 500 ft GND) ne correspond pas à la limite publiée.
1957
+- **Option B** (4 500 ft AMSL) est trop haut.
1958
+- **Option C** (5 000 ft AMSL) est également trop haut.
17471959
17481960 #### Termes clés
17491961
1750
-AMSL = Au-dessus du niveau moyen de la mer ; CTR = Zone de contrôle
1962
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; CTR = Zone de contrôle (Control Zone) ; VFR = Règles de vol à vue (Visual Flight Rules)
17511963
1752
-### Q82: Dans quelle classe d'espace aérien êtes-vous au-dessus de l'aérodrome de BEX à une altitude de 1700 m AMSL, et quelles sont les exigences minimales de visibilité et de distance aux nuages ? ^t30q82
1964
+### Q82: Dans quelle classe d'espace aérien êtes-vous au-dessus de l'aérodrome de BEX à une altitude de 1 700 m AMSL, et quels sont les minima de visibilité et de distance aux nuages ? ^t30q82
17531965
17541966 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q82) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q82)
17551967
....@@ -1766,16 +1978,17 @@
17661978
17671979 #### Explication
17681980
1769
-La bonne réponse est D car à 1700 m AMSL au-dessus de l'aérodrome de Bex, vous êtes en espace aérien de classe E. Les minima VFR en classe E exigent 5 km de visibilité horizontale, 1500 m d'espacement horizontal aux nuages et 300 m d'espacement vertical.
1981
+La bonne réponse est D car à 1 700 m AMSL au-dessus de l'aérodrome de Bex, vous êtes en espace aérien de classe E. Les minima VFR en classe E exigent 5 km de visibilité horizontale, 1 500 m de distance horizontale aux nuages et 300 m de distance verticale aux nuages.
17701982
1771
-- **A** est faux car la classe G s'applique à des altitudes plus basses.
1772
-- **B** et C sont faux car la classe C commence au FL 130.
1983
+- **A** est faux car la classe G s'applique à des altitudes plus basses avec des exigences réduites.
1984
+- **B** est faux car la classe C a le bon minimum de visibilité (5 km en Suisse, pas 8 km) mais commence à une altitude beaucoup plus élevée.
1985
+- **C** est faux pour la même raison de classification d'espace aérien — la classe C commence au FL 130, bien au-dessus de 1 700 m.
17731986
17741987 #### Termes clés
17751988
1776
-AMSL = Au-dessus du niveau moyen de la mer ; FL = Niveau de vol (Flight Level) ; VFR = Règles de vol à vue
1989
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; FL = Niveau de vol (Flight Level) ; VFR = Règles de vol à vue (Visual Flight Rules)
17771990
1778
-### Q83: Quel est le taux de chute à 160 km/h pour ce planeur à une masse en vol de 580 kg ? (Voir feuille annexée.) ^t30q83
1991
+### Q83: Quel est le taux de chute à 160 km/h pour ce planeur à une masse en vol de 580 kg ? (Voir feuille jointe.) ^t30q83
17791992
17801993 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q83) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q83)
17811994
....@@ -1792,15 +2005,19 @@
17922005
17932006 #### Explication
17942007
1795
-La bonne réponse est C (2,0 m/s) car en lisant la courbe polaire pour une masse de 580 kg à 160 km/h, le taux de chute est d'environ 2,0 m/s. A (1,6 m/s) correspondrait à une masse plus faible ou une vitesse inférieure. B (0,8 m/s) est proche du taux de chute minimum. D (1,2 m/s) est également trop bas pour cette vitesse et cette masse.
2008
+La bonne réponse est C (2,0 m/s) car en lisant la courbe polaire pour une masse en vol de 580 kg à 160 km/h, le taux de chute est d'environ 2,0 m/s. Lors de la lecture d'une polaire, identifiez toujours la courbe correcte pour la masse donnée avant de lire la valeur à la vitesse spécifiée.
2009
+
2010
+- **Option A** (1,6 m/s) correspondrait à une masse plus légère ou une vitesse inférieure.
2011
+- **Option B** (0,8 m/s) est proche du taux de chute minimal à une vitesse beaucoup plus basse.
2012
+- **Option D** (1,2 m/s) est également trop faible pour cette combinaison de vitesse et de masse.
17962013
17972014 ### Q84: 550 kg (arrondi) correspondent à (1 kg = env. 2,2 lbs) : ^t30q84
17982015
17992016 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q84) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q84)
18002017
18012018 - **A)** env. 12 100 lbs.
1802
-- **B)** env. 1210 lbs.
1803
-- **C)** env. 2500 lbs.
2019
+- **B)** env. 1 210 lbs.
2020
+- **C)** env. 2 500 lbs.
18042021 - **D)** env. 250 lbs.
18052022
18062023 #### Réponse
....@@ -1809,13 +2026,16 @@
18092026
18102027 #### Explication
18112028
1812
-La bonne réponse est B car pour convertir des kilogrammes en livres, on multiplie par 2,2: 550 × 2,2 = 1 210 lbs. A (12 100 lbs) résulte d'une multiplication par 22 au lieu de 2,2. C (2 500 lbs) ne correspond à aucun calcul correct. D (250 lbs) résulte d'une division au lieu d'une multiplication.
2029
+La bonne réponse est B car pour convertir des kilogrammes en livres, il faut multiplier par 2,2 : 550 × 2,2 = 1 210 lbs. La formule clé est : poids en lbs = masse en kg × 2,2.
2030
+
2031
+- **Option A** (12 100 lbs) résulte d'une multiplication par 22 au lieu de 2,2. C (2 500 lbs) ne correspond à aucun calcul correct.
2032
+- **Option D** (250 lbs) résulte d'une division au lieu d'une multiplication.
18132033
18142034 ### Q85: À quelle vitesse un planeur doit-il voler en air calme pour couvrir la distance maximale possible ? ^t30q85
18152035
18162036 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q85) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q85)
18172037
1818
-- **A)** À la vitesse de taux de chute minimum.
2038
+- **A)** À la vitesse de taux de chute minimal.
18192039 - **B)** À la vitesse maximale autorisée.
18202040 - **C)** À la vitesse minimale de vol.
18212041 - **D)** À la vitesse de meilleure finesse.
....@@ -1826,17 +2046,17 @@
18262046
18272047 #### Explication
18282048
1829
-La bonne réponse est D car la vitesse de meilleure finesse (vitesse de L/D maximal) maximise la distance horizontale parcourue par unité d'altitude perdue en air calme.
2049
+La bonne réponse est D car la vitesse de meilleure finesse (également appelée vitesse de meilleur L/D) maximise la distance horizontale parcourue par unité d'altitude perdue en air calme. Cette vitesse se trouve sur la courbe polaire au point où la tangente depuis l'origine touche la courbe.
18302050
1831
-- **A** est faux car la vitesse de taux de chute minimum maximise l'endurance (durée de vol), pas la distance.
1832
-- **B** est faux car la vitesse maximale produit la pire finesse.
1833
-- **C** est faux car la vitesse minimale de vol donne une mauvaise finesse due à la traînée induite élevée.
2051
+- **A** est faux car la vitesse de chute minimale maximise l'endurance (le temps en l'air), pas la distance.
2052
+- **B** est faux car la vitesse maximale produit la pire finesse en raison de la forte traînée parasite.
2053
+- **C** est faux car la vitesse minimale de vol est proche du décrochage et donne une mauvaise finesse en raison de la forte traînée induite.
18342054
18352055 ### Q86: La masse d'un planeur est augmentée. Quel paramètre ne sera PAS affecté par cette augmentation ? ^t30q86
18362056
18372057 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q86) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q86)
18382058
1839
-- **A)** La finesse maximale (à un léger effet de nombre de Reynolds près).
2059
+- **A)** La finesse maximale (à l'exception d'un effet mineur du nombre de Reynolds).
18402060 - **B)** La charge alaire.
18412061 - **C)** Le taux de chute.
18422062 - **D)** La vitesse indiquée (IAS).
....@@ -1847,11 +2067,11 @@
18472067
18482068 #### Explication
18492069
1850
-La bonne réponse est A car la finesse maximale (meilleur L/D) est essentiellement indépendante de la masse — le coefficient de portance et le coefficient de traînée à l'angle d'attaque optimal restent les mêmes.
2070
+La bonne réponse est A car la finesse maximale (meilleur L/D) est essentiellement indépendante de la masse — le coefficient de portance et le coefficient de traînée à l'angle d'attaque optimal restent les mêmes, donc leur rapport est inchangé. Seul un effet mineur du nombre de Reynolds existe.
18512071
1852
-- **B** est faux car la charge alaire = masse / surface alaire, qui augmente directement.
1853
-- **C** est faux car le taux de chute augmente avec la masse.
1854
-- **D** est faux car les vitesses correspondant à la meilleure finesse et au taux de chute minimum augmentent avec la masse.
2072
+- **B** est faux car la charge alaire = masse / surface alaire, qui augmente directement avec la masse.
2073
+- **C** est faux car le taux de chute augmente avec la masse à toute vitesse donnée.
2074
+- **D** est faux car les vitesses correspondant à la meilleure finesse et au taux de chute minimal augmentent toutes deux avec la masse.
18552075
18562076 #### Termes clés
18572077
....@@ -1872,18 +2092,22 @@
18722092
18732093 #### Explication
18742094
1875
-La bonne réponse est D car temps = distance / vitesse = 150 km / 100 km/h = 1,5 heures = 1 heure 30 minutes. A (1 heure 50 minutes) correspondrait à une distance d'environ 183 km. B (1 heure 40 minutes) correspondrait à environ 167 km. C (2 heures) correspondrait à 200 km.
2095
+La bonne réponse est D car temps = distance / vitesse = 150 km / 100 km/h = 1,5 heures = 1 heure 30 minutes. Le calcul est simple : 150 / 100 = 1,5 heures. Convertir la partie décimale 0,5 heures en 30 minutes.
18762096
1877
-### Q88: Lors de la préparation d'un vol VFR alpin le long de la route indiquée sur la carte (ligne pointillée) entre MUNSTER et AMSTEG, vous consultez le DABS. Vous prévoyez de voler cette route un jour de semaine d'été entre 1445 et 1515 LT. Selon le DABS, les zones R-8 et R-8A sont actives pendant cette période. Laquelle de ces réponses est correcte ? ^t30q88
2097
+- **Option A** (1 heure 50 minutes) correspondrait à une distance d'environ 183 km.
2098
+- **Option B** (1 heure 40 minutes = 1,667 heures) correspondrait à environ 167 km.
2099
+- **Option C** (2 heures) correspondrait à 200 km.
2100
+
2101
+### Q88: Lors de la préparation d'un vol VFR alpin sur la route indiquée sur la carte ci-dessous (ligne pointillée) entre MÜNSTER et AMSTEG, vous consultez le DABS. Vous prévoyez de voler cette route un jour ouvrable d'été entre 14h45 et 15h15 heure locale. Selon le DABS, les zones R-8 et R-8A sont actives pendant cette période. Répondez à l'aide de la carte DABS ci-dessous et de la carte aéronautique OACI 1:500 000 Suisse. Laquelle de ces réponses est correcte ? ^t30q88
18782102
18792103 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q88) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q88)
18802104
18812105 ![[figures/t30_q88.png]]
18822106
1883
-- **A)** La route peut être effectuée sans restriction après contact sur 128.375 MHz.
1884
-- **B)** Les zones restreintes LS-R8 et LS-R8A peuvent être traversées en dessous de 28 000 ft AMSL.
1885
-- **C)** Il n'est pas possible de voler cette route pendant que les zones restreintes sont actives.
1886
-- **D)** Les zones restreintes LS-R8 et LS-R8A peuvent être survolées à 9200 ft AMSL ou au-dessus.
2107
+- **A)** La route peut être effectuée sans restriction après avoir contacté 128,375 MHz.
2108
+- **B)** Les zones réglementées LS-R8 et LS-R8A peuvent être traversées en dessous de 28 000 ft AMSL.
2109
+- **C)** Il n'est pas possible de voler cette route pendant que les zones réglementées sont actives.
2110
+- **D)** Les zones réglementées LS-R8 et LS-R8A peuvent être survolées à 9 200 ft AMSL ou au-dessus.
18872111
18882112 #### Réponse
18892113
....@@ -1891,24 +2115,24 @@
18912115
18922116 #### Explication
18932117
1894
-La bonne réponse est C car lorsque les zones restreintes LS-R8 et LS-R8A sont actives, elles couvrent la route alpine prévue entre Munster et Amsteg, rendant impossible de les traverser. Les zones restreintes avec le statut « entrée interdite » ne peuvent pas être traversées.
2118
+La bonne réponse est C car lorsque les zones réglementées LS-R8 et LS-R8A sont actives, elles couvrent la route alpine planifiée entre Münster et Amsteg, rendant impossible leur traversée. Les zones réglementées avec un statut « entrée interdite » ne peuvent être traversées, quelle que soit l'altitude ou le contact radio.
18952119
1896
-- **A** est faux car le contact radio ne confère pas de droit de transit.
2120
+- **A** est faux car le contact radio ne confère pas de droits de transit à travers des zones réglementées actives.
18972121 - **B** est faux car un plafond de 28 000 ft n'aide pas un planeur.
1898
-- **D** est faux car le survol à 9 200 ft peut encore se situer dans les limites verticales de la zone.
2122
+- **D** est faux car un survol à 9 200 ft peut encore être à l'intérieur des limites verticales de la zone.
18992123
19002124 #### Termes clés
19012125
1902
-AMSL = Au-dessus du niveau moyen de la mer ; VFR = Règles de vol à vue
2126
+AMSL = Au-dessus du niveau moyen de la mer (Above Mean Sea Level) ; OACI = Organisation de l'aviation civile internationale ; VFR = Règles de vol à vue (Visual Flight Rules)
19032127
1904
-### Q89: Vous souhaitez obtenir une clairance de transit pour la TMA ZURICH. Que devez-vous faire ? ^t30q89
2128
+### Q89: Vous souhaitez obtenir une clairance pour traverser la TMA de ZURICH. Que devez-vous faire ? ^t30q89
19052129
19062130 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q89) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q89)
19072131
1908
-- A) Premier contact radio sur fréquence 124.7, au moins 10 minutes avant d'entrer dans la TMA.
1909
-- B) Premier contact radio sur fréquence 124.7, au moins 5 minutes avant d'entrer dans la TMA.
1910
-- C) Premier contact radio sur fréquence 118.975, au moins 10 minutes avant d'entrer dans la TMA.
1911
-- D) Premier contact radio sur fréquence 118.1, au moins 5 minutes avant d'entrer dans la TMA.
2132
+- A) Premier contact radio sur la fréquence 124,7, au moins 10 minutes avant d'entrer dans la TMA.
2133
+- B) Premier contact radio sur la fréquence 124,7, au moins 5 minutes avant d'entrer dans la TMA.
2134
+- C) Premier contact radio sur la fréquence 118,975, au moins 10 minutes avant d'entrer dans la TMA.
2135
+- D) Premier contact radio sur la fréquence 118,1, au moins 5 minutes avant d'entrer dans la TMA.
19122136
19132137 #### Réponse
19142138
....@@ -1916,17 +2140,17 @@
19162140
19172141 #### Explication
19182142
1919
-La bonne réponse est A car pour transiter la TMA de Zurich, le pilote doit établir le premier contact radio sur la fréquence 124.7 MHz (Zurich Information) au moins 10 minutes avant d'entrer dans l'espace aérien contrôlé.
2143
+La bonne réponse est A car pour traverser la TMA de Zurich, le pilote doit établir un premier contact radio sur la fréquence 124,7 MHz (Zurich Information) au moins 10 minutes avant d'entrer dans l'espace aérien contrôlé. Cela donne à l'ATC suffisamment de temps pour évaluer le trafic, émettre une clairance ou des instructions alternatives, et assurer la séparation.
19202144
1921
-- **B** est faux car 5 minutes est un délai insuffisant.
1922
-- **C** est faux car 118.975 n'est pas la bonne fréquence.
1923
-- **D** est faux tant pour la fréquence que pour le délai.
2145
+- **B** est faux car 5 minutes est un préavis insuffisant.
2146
+- **C** est faux car 118,975 n'est pas la bonne fréquence pour les demandes de transit de la TMA de Zurich.
2147
+- **D** est faux tant sur la fréquence que sur le préavis.
19242148
19252149 #### Termes clés
19262150
1927
-TMA = Région de contrôle terminale
2151
+ATC = Contrôle du trafic aérien (Air Traffic Control) ; TMA = Région de contrôle terminale (Terminal Manoeuvring Area)
19282152
1929
-### Q90: La vitesse minimale de votre planeur est de 60 kts en vol rectiligne. De quel pourcentage augmenterait-elle dans un virage serré avec une inclinaison de 60° (facteur de charge n = 2,0) ? ^t30q90
2153
+### Q90: La vitesse minimale de votre planeur est de 60 kts en vol rectiligne. De quel pourcentage augmenterait-elle dans un virage serré avec un angle d'inclinaison de 60° (facteur de charge n = 2,0) ? ^t30q90
19302154
19312155 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q90) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q90)
19322156
....@@ -1941,12 +2165,13 @@
19412165
19422166 #### Explication
19432167
1944
-La bonne réponse est A car en virage, la vitesse de décrochage augmente selon la racine carrée du facteur de charge: Vs_virage = Vs_palier × √n. Avec n = 2,0: Vs_virage = 60 × √2 = 60 × 1,414 = 84,85 kts. L'augmentation est (84,85 − 60) / 60 × 100 = 41,4 %, arrondi à environ 40 %.
2168
+La bonne réponse est A car en virage, la vitesse de décrochage augmente de la racine carrée du facteur de charge : Vs_virage = Vs_rectiligne × √n. Avec n = 2,0 : Vs_virage = 60 × √2 = 60 × 1,414 = 84,85 kts. L'augmentation est (84,85 − 60) / 60 × 100 = 41,4 %, ce qui s'arrondit à environ 40 %.
19452169
19462170 - **B** est faux car la vitesse de décrochage augmente toujours en virage.
19472171 - **C** (5 %) et D (20 %) sous-estiment significativement l'effet.
2172
+- Cette relation entre angle d'inclinaison, facteur de charge et vitesse de décrochage est fondamentale pour un vol de manœuvre sûr.
19482173
1949
-### Q91: La limite supérieure de LO R 16 est égale à… ^t30q91
2174
+### Q91: La limite supérieure de LO R 16 est égale à ^t30q91
19502175
19512176 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q91) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q91)
19522177
....@@ -1963,25 +2188,25 @@
19632188
19642189 #### Explication
19652190
1966
-La bonne réponse est C car la zone restreinte LO R 16 a une limite supérieure de 1 500 ft MSL, une altitude fixe et absolue.
2191
+La bonne réponse est C car les zones d'espace aérien réglementées (LO R) sur les cartes aéronautiques expriment leurs limites à l'aide de références d'altitude standard. LO R 16 a une limite supérieure de 1 500 ft MSL (niveau moyen de la mer), qui est une référence d'altitude fixe et absolue.
19672192
1968
-- **A** est faux car 1 500 m MSL correspondrait à environ 4 900 ft.
1969
-- **B** est faux car FL150 (15 000 ft) est bien trop haut.
1970
-- **D** est faux car 1 500 ft GND varierait avec l'élévation du terrain.
2193
+- **A** est faux car 1 500 m MSL correspondrait à environ 4 900 ft — une altitude complètement différente qui confond pieds et mètres.
2194
+- **B** est faux car FL150 (15 000 ft d'altitude-pression) est bien trop élevé pour une restriction typique de basse altitude.
2195
+- **D** est faux car 1 500 ft GND (au-dessus du sol) varierait avec l'altitude du terrain et n'est pas la référence publiée.
19712196
19722197 #### Termes clés
19732198
19742199 FL = Niveau de vol (Flight Level) ; MSL = Niveau moyen de la mer (Mean Sea Level)
19752200
1976
-### Q92: La limite supérieure de LO R 4 est égale à… ^t30q92
2201
+### Q92: La limite supérieure de LO R 4 est égale à ^t30q92
19772202
19782203 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q92) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q92)
19792204
19802205 ![](figures/t30_q92.png)
19812206
19822207 - A) 4 500 ft AGL.
1983
-- B) 4 500 ft MSL
1984
-- C) 1 500 ft AGL
2208
+- B) 4 500 ft MSL.
2209
+- C) 1 500 ft AGL.
19852210 - D) 1 500 ft MSL.
19862211
19872212 #### Réponse
....@@ -1990,26 +2215,26 @@
19902215
19912216 #### Explication
19922217
1993
-La bonne réponse est B car LO R 4 a une limite supérieure de 4 500 ft MSL, une altitude fixe au-dessus du niveau moyen de la mer.
2218
+La bonne réponse est B car LO R 4 a sa limite supérieure à 4 500 ft MSL, une altitude fixe au-dessus du niveau moyen de la mer.
19942219
1995
-- **A** est faux car 4 500 ft AGL varierait avec le terrain.
1996
-- **C** est faux car la valeur et la référence sont erronées.
1997
-- **D** est faux car 1 500 ft MSL correspond à une autre zone restreinte (LO R 16).
2220
+- **A** est faux car 4 500 ft AGL (au-dessus du sol) varierait avec le terrain, ce qui est inapproprié pour une limite réglementaire fixe.
2221
+- **C** est faux car 1 500 ft AGL est à la fois la mauvaise valeur d'altitude et la mauvaise référence.
2222
+- **D** est faux car 1 500 ft MSL est trop bas et correspond à une autre zone réglementée (LO R 16).
19982223
19992224 #### Termes clés
20002225
20012226 AGL = Au-dessus du sol (Above Ground Level) ; MSL = Niveau moyen de la mer (Mean Sea Level)
20022227
2003
-### Q93: Jusqu'à quelle altitude un survol est-il interdit selon le NOTAM ? ^t30q93
2228
+### Q93: Jusqu'à quelle altitude le survol est-il interdit selon le NOTAM ? ^t30q93
20042229
20052230 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q93) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q93)
20062231
20072232 ![](figures/t30_q93.png)
20082233
2009
-- A) Hauteur 9500 ft
2010
-- B) Altitude 9500 ft MSL
2234
+- A) Hauteur 9 500 ft
2235
+- B) Altitude 9 500 ft MSL
20112236 - C) Niveau de vol 95
2012
-- D) Altitude 9500 m MSL
2237
+- D) Altitude 9 500 m MSL
20132238
20142239 #### Réponse
20152240
....@@ -2017,15 +2242,15 @@
20172242
20182243 #### Explication
20192244
2020
-La bonne réponse est B car le NOTAM interdit le survol jusqu'à une altitude de 9 500 ft MSL, conformément à la convention OACI où « altitude » désigne la hauteur au-dessus du niveau moyen de la mer.
2245
+La bonne réponse est B car le NOTAM interdit le survol jusqu'à une altitude de 9 500 ft MSL, suivant la convention OACI où « altitude » désigne la hauteur au-dessus du niveau moyen de la mer.
20212246
2022
-- **A** est faux car « hauteur » désigne une référence locale au-dessus du sol.
2023
-- **C** est faux car le FL 95 est une référence de pression basée sur 1013,25 hPa.
2024
-- **D** est faux car 9 500 m MSL correspondrait à environ 31 000 ft.
2247
+- **A** est faux car « hauteur » en terminologie aéronautique signifie au-dessus d'une référence locale au sol (AGL), ce qui n'est pas ce que le NOTAM spécifie.
2248
+- **C** est faux car le FL 95 est une référence d'altitude-pression basée sur 1013,25 hPa, qui diffère d'une altitude MSL selon les conditions atmosphériques réelles.
2249
+- **D** est faux car 9 500 m MSL correspondrait à environ 31 000 ft — clairement incohérent avec un NOTAM VFR typique.
20252250
20262251 #### Termes clés
20272252
2028
-FL = Niveau de vol (Flight Level) ; MSL = Niveau moyen de la mer (Mean Sea Level) ; NOTAM = Avis aux navigateurs aériens
2253
+AGL = Au-dessus du sol (Above Ground Level) ; FL = Niveau de vol (Flight Level) ; OACI = Organisation de l'aviation civile internationale ; MSL = Niveau moyen de la mer (Mean Sea Level) ; NOTAM = Avis aux navigants (Notice to Air Missions) ; VFR = Règles de vol à vue (Visual Flight Rules)
20292254
20302255 ### Q94: Selon l'OACI, quel symbole indique un groupe d'obstacles non éclairés ? ^t30q94
20312256
....@@ -2044,18 +2269,24 @@
20442269
20452270 #### Explication
20462271
2047
-La bonne réponse est B (symbole C dans l'annexe) car la symbologie OACI des cartes aéronautiques utilise des symboles spécifiques pour distinguer les obstacles isolés et groupés, éclairés et non éclairés. Le symbole C représente un groupe d'obstacles non éclairés.
2272
+La bonne réponse est B (symbole C dans l'annexe) car la symbologie des cartes aéronautiques OACI (définie dans l'Annexe 4 de l'OACI) utilise des symboles spécifiques pour distinguer les obstacles isolés des groupes, et les éclairés des non éclairés. Le symbole C représente un groupe d'obstacles non éclairés. L'identification correcte de ces symboles est essentielle pour la planification de vols de campagne et l'évitement d'obstacles.
20482273
2049
-### Q95: Selon l'OACI, quel symbole indique un aéroport civil (non international) avec piste revêtue ? ^t30q95
2274
+- **Option A** (symbole D), C (symbole B) et D (symbole A) représentent d'autres catégories d'obstacles telles que les obstacles isolés, les groupes éclairés ou les obstacles isolés éclairés.
2275
+
2276
+#### Termes clés
2277
+
2278
+OACI = Organisation de l'aviation civile internationale
2279
+
2280
+### Q95: Selon l'OACI, quel symbole indique un aéroport civil (pas un aéroport international) avec piste revêtue ? ^t30q95
20502281
20512282 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q95) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q95)
20522283
20532284 ![](figures/t30_q95.png)
20542285
2055
-- **A)** D
2056
-- **B)** A
2057
-- **C)** C
2058
-- **D)** B
2286
+- A) D
2287
+- B) A
2288
+- C) C
2289
+- D) B
20592290
20602291 #### Réponse
20612292
....@@ -2063,18 +2294,24 @@
20632294
20642295 #### Explication
20652296
2066
-La bonne réponse est B (symbole A dans l'annexe) car la symbologie OACI utilise des représentations distinctes pour les différents types d'aérodromes — civil contre militaire, international contre domestique, revêtu contre non revêtu. Le symbole A représente un aéroport civil (non international) avec piste revêtue.
2297
+La bonne réponse est B (symbole A dans l'annexe) car la symbologie des cartes OACI utilise des représentations distinctes pour différents types d'aérodromes — civil versus militaire, international versus national, et revêtu versus non revêtu. Le symbole A représente un aéroport civil (non international) avec piste revêtue. Les pilotes de planeur doivent reconnaître ces symboles pour identifier les options d'atterrissage d'urgence potentielles.
20672298
2068
-### Q96: Selon l'OACI, quel symbole indique une cote de point général ? ^t30q96
2299
+- **Option A** (symbole D), C (symbole C) et D (symbole B) représentent d'autres catégories d'aérodromes telles que les aéroports internationaux, les aérodromes militaires ou les terrains en herbe.
2300
+
2301
+#### Termes clés
2302
+
2303
+OACI = Organisation de l'aviation civile internationale
2304
+
2305
+### Q96: Selon l'OACI, quel symbole indique un point coté général ? ^t30q96
20692306
20702307 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q96) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q96)
20712308
20722309 ![](figures/t30_q96.png)
20732310
2074
-- **A)** A
2075
-- **B)** B
2076
-- **C)** D
2077
-- **D)** C
2311
+- A) A
2312
+- B) B
2313
+- C) D
2314
+- D) C
20782315
20792316 #### Réponse
20802317
....@@ -2082,16 +2319,22 @@
20822319
20832320 #### Explication
20842321
2085
-La bonne réponse est D (symbole C dans l'annexe) car sur les cartes aéronautiques OACI, une cote de point général est indiquée par un symbole spécifique montrant un point du terrain d'altitude connue, utilisé pour la conscience situationnelle et la planification du franchissement du terrain.
2322
+La bonne réponse est D (symbole C dans la figure) car sur les cartes aéronautiques OACI, un point coté général est indiqué par un symbole spécifique montrant un point de terrain de hauteur connue, utilisé pour la conscience situationnelle et la planification du franchissement du relief.
2323
+
2324
+- **Option A** (symbole A), B (symbole B) et C (symbole D) représentent d'autres marquages liés à l'altitude tels que les altitudes maximales de secteur, les points relevés ou les altitudes d'obstacles définis dans l'Annexe 4 de l'OACI.
2325
+
2326
+#### Termes clés
2327
+
2328
+OACI = Organisation de l'aviation civile internationale
20862329
20872330 ### Q97: Le terme centre de gravité est défini comme ^t30q97
20882331
20892332 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q97) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q97)
20902333
2091
-- **A)** La moitié de la distance entre le point neutre et la ligne de référence.
2092
-- **B)** Une autre désignation pour le point neutre.
2093
-- **C)** La distance entre le bord d'attaque et le bord de fuite de l'aile.
2094
-- **D)** Le point le plus lourd d'un aéronef.
2334
+- A) La moitié de la distance entre le point neutre et le plan de référence.
2335
+- B) Une autre désignation pour le point neutre.
2336
+- C) La distance entre le bord d'attaque et le bord de fuite de l'aile.
2337
+- D) Le point le plus lourd d'un aéronef.
20952338
20962339 #### Réponse
20972340
....@@ -2101,18 +2344,18 @@
21012344
21022345 La bonne réponse est A. Le centre de gravité est le point unique à travers lequel la résultante de toutes les forces gravitationnelles agit sur l'aéronef — c'est la position moyenne pondérée par la masse de tous les composants.
21032346
2104
-- **B** est faux car le point neutre est un concept aérodynamique distinct.
2105
-- **C** est un doublon de la même description incorrecte.
2347
+- **B** est faux car le point neutre est un concept aérodynamique distinct utilisé pour l'analyse de stabilité, pas un autre nom pour le C.G.
2348
+- **C** reprend la même description incorrecte que le libellé de A, mais le C.G. est défini par la distribution de masse, pas comme un point médian géométrique.
21062349 - **D** est faux car le C.G. n'est pas le point le plus lourd — c'est le point où le poids total agit effectivement.
21072350
2108
-### Q98: Le terme moment dans un calcul de masse et centrage désigne le ^t30q98
2351
+### Q98: Le terme moment dans le cadre d'un calcul de masse et centrage désigne ^t30q98
21092352
21102353 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q98) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q98)
21112354
2112
-- **A)** Somme d'une masse et d'un bras de levier.
2113
-- **B)** Produit d'une masse et d'un bras de levier.
2114
-- **C)** Quotient d'une masse et d'un bras de levier.
2115
-- **D)** Différence d'une masse et d'un bras de levier.
2355
+- **A)** La somme d'une masse et d'un bras de levier.
2356
+- **B)** Le produit d'une masse et d'un bras de levier.
2357
+- **C)** Le quotient d'une masse et d'un bras de levier.
2358
+- **D)** La différence entre une masse et un bras de levier.
21162359
21172360 #### Réponse
21182361
....@@ -2120,20 +2363,20 @@
21202363
21212364 #### Explication
21222365
2123
-La bonne réponse est B car dans les calculs de masse et centrage, le moment est défini comme le produit de la masse et du bras de levier: Moment = Masse × Bras (p. ex. en kg·m ou lb·in). Le C.G. total se calcule en additionnant tous les moments et en divisant par la masse totale.
2366
+La bonne réponse est B car dans les calculs de masse et centrage, le moment est défini comme le produit de la masse et du bras de levier : Moment = Masse × Bras (par ex. en kg·m ou lb·in). Cela suit la définition physique d'un couple. Le C.G. total est trouvé en additionnant tous les moments et en divisant par la masse totale.
21242367
2125
-- **A** est faux car additionner masse et bras n'a pas de sens dimensionnel.
2126
-- **C** est faux car diviser ne produit pas un moment.
2127
-- **D** est faux car soustraire est également incorrect.
2368
+- **A** est faux car additionner masse et bras est dimensionnellement dénué de sens.
2369
+- **C** est faux car diviser la masse par le bras ne produit pas un moment.
2370
+- **D** est faux car les soustraire est tout aussi incorrect.
21282371
2129
-### Q99: Le terme bras de levier dans le contexte d'un calcul de masse et centrage définit la ^t30q99
2372
+### Q99: Le terme bras de levier dans le contexte d'un calcul de masse et centrage désigne ^t30q99
21302373
21312374 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q99) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q99)
21322375
2133
-- **A)** Point sur l'axe longitudinal d'un aéronef ou son prolongement à partir duquel les centres de gravité de toutes les masses sont référencés.
2134
-- **B)** Distance d'une masse par rapport au centre de gravité.
2135
-- **C)** Distance entre le point de référence et le centre de gravité d'une masse.
2136
-- **D)** Point à travers lequel la force de gravité est supposée agir sur une masse.
2376
+- **A)** Le point sur l'axe longitudinal d'un aéronef ou son prolongement à partir duquel les centres de gravité de toutes les masses sont référencés.
2377
+- **B)** La distance d'une masse par rapport au centre de gravité.
2378
+- **C)** La distance entre le plan de référence et le centre de gravité d'une masse.
2379
+- **D)** Le point à travers lequel la force de gravité est considérée comme agissant sur une masse.
21372380
21382381 #### Réponse
21392382
....@@ -2141,19 +2384,19 @@
21412384
21422385 #### Explication
21432386
2144
-La bonne réponse est C car le bras de levier est la distance horizontale mesurée depuis le point de référence de l'aéronef jusqu'au centre de gravité d'un élément de masse spécifique.
2387
+La bonne réponse est C car le bras de levier (bras de moment) est la distance horizontale mesurée depuis le plan de référence de l'aéronef jusqu'au centre de gravité d'un élément de masse spécifique.
21452388
2146
-- **A** est faux car cela décrit le point de référence lui-même.
2147
-- **B** est faux car les bras de levier sont mesurés depuis le point de référence, pas depuis le C.G. global.
2148
-- **D** est faux car cela est la définition du centre de gravité d'un élément de masse.
2389
+- **A** est faux car cela décrit le plan de référence lui-même, pas le bras de levier.
2390
+- **B** est faux car les bras de levier sont mesurés depuis le plan de référence, pas depuis le C.G. global de l'aéronef.
2391
+- **D** est faux car c'est la définition du centre de gravité d'un élément de masse, pas du bras de levier.
21492392
2150
-### Q100: Quel est le rôle des lignes d'interception en navigation visuelle ? ^t30q100
2393
+### Q100: Quel est le but des lignes d'interception en navigation visuelle ? ^t30q100
21512394
21522395 [DE](../SPL%20Exam%20Questions%20DE/30%20-%20Flugleistung%20und%20Flugplanung.md#^t30q100) · [EN](../SPL%20Exam%20Questions%20EN/30%20-%20Flight%20Performance%20and%20Planning.md#^t30q100)
21532396
2154
-- **A)** Marquer le prochain aéroport disponible en route pendant le vol.
2155
-- **B)** Visualiser la limitation de portée depuis l'aérodrome de départ.
2156
-- **C)** Elles permettent de poursuivre le vol lorsque la visibilité en vol descend en dessous des minima VFR.
2397
+- **A)** Marquer le prochain aérodrome disponible en route pendant le vol.
2398
+- **B)** Visualiser la limite de rayon d'action depuis l'aérodrome de départ.
2399
+- **C)** Elles permettent de poursuivre le vol lorsque la visibilité en vol descend sous les minima VFR.
21572400 - **D)** Elles servent de repères facilement reconnaissables en cas de perte d'orientation éventuelle.
21582401
21592402 #### Réponse
....@@ -2162,12 +2405,12 @@
21622405
21632406 #### Explication
21642407
2165
-La bonne réponse est D car les lignes d'interception (également appelées lignes de rattrapage ou éléments linéaires) sont des éléments linéaires remarquables au sol — autoroutes, rivières, côtes, voies ferrées — qu'un pilote sélectionne lors de la préparation du vol pour s'y diriger en cas de perte d'orientation.
2408
+La bonne réponse est D car les lignes d'interception (également appelées lignes de rattrapage ou éléments linéaires) sont des éléments linéaires au sol proéminents — autoroutes, rivières, côtes, voies ferrées — qu'un pilote sélectionne lors de la préparation du vol pour naviguer vers eux en cas de perte d'orientation. En volant vers une ligne d'interception connue, le pilote peut rétablir sa position et reprendre la navigation.
21662409
2167
-- **A** est faux car ce sont des éléments géographiques, pas des marqueurs d'aéroport.
2168
-- **B** est faux car ce ne sont pas des indicateurs de portée.
2169
-- **C** est faux car rien n'autorise à poursuivre un vol en dessous des minima VFR.
2410
+- **A** est faux car les lignes d'interception sont des éléments géographiques, pas des marqueurs d'aérodrome.
2411
+- **B** est faux car ce ne sont pas des indicateurs de rayon d'action.
2412
+- **C** est faux car rien n'autorise la poursuite du vol sous les minima VFR — les lignes d'interception sont un outil de procédure en cas de perte d'orientation, pas un palliatif à la visibilité.
21702413
21712414 #### Termes clés
21722415
2173
-VFR = Règles de vol à vue
2416
+VFR = Règles de vol à vue (Visual Flight Rules)
SPL Exam Questions FR/80 - Principes du vol.md
....@@ -643,7 +643,7 @@
643643
644644 Les générateurs de vortex sont de petites ailettes dépassant de la surface de l'aile qui créent de minuscules tourbillons mélangeant l'air à haute énergie extérieur à la couche limite avec l'écoulement plus lent près de la surface. Cette couche limite re-énergisée peut mieux résister aux gradients de pression adverses, retardant la séparation de l'écoulement et améliorant l'efficacité des gouvernes à forts angles d'attaque. Ils échangent une légère augmentation de la traînée de frottement contre un retard significatif du décrochage et une meilleure autorité des ailerons proche du décrochage.
645645
646
-### Q36 : La formule de portance ^t80q36
646
+### Q36 : Lequel des facteurs suivants un pilote contrôle-t-il directement et qui affecte la portance ? ^t80q36
647647
648648 [DE](../SPL%20Exam%20Questions%20DE/80%20-%20Grundlagen%20des%20Fliegens.md#^t80q36) · [EN](../SPL%20Exam%20Questions%20EN/80%20-%20Principles%20of%20Flight.md#^t80q36)
649649
SPL Exam Questions FR/figures/t10_q114 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t10_q70 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t10_q77 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t10_q88 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t10_q94 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t20_q103 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t20_q87 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t20_q90 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t20_q96 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q19 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q20 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q21 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q27 2.svg
deleted file mode 100644
....@@ -1,73 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 250" width="600" height="250">
3
- <rect width="600" height="250" fill="white"/>
4
-
5
- <!-- Title -->
6
- <text x="300" y="28" font-family="Arial, sans-serif" font-size="16" font-weight="bold" text-anchor="middle" fill="black">ICAO Chart Symbols — Obstacles</text>
7
-
8
- <!-- ===== A) Single lighted obstacle ===== -->
9
- <g transform="translate(75, 125)">
10
- <!-- Filled circle (base) -->
11
- <circle cx="0" cy="20" r="8" fill="black"/>
12
- <!-- Light rays (star) -->
13
- <line x1="0" y1="-5" x2="0" y2="-18" stroke="black" stroke-width="1.5"/>
14
- <line x1="9" y1="0" x2="18" y2="-6" stroke="black" stroke-width="1.5"/>
15
- <line x1="-9" y1="0" x2="-18" y2="-6" stroke="black" stroke-width="1.5"/>
16
- <line x1="6" y1="-9" x2="13" y2="-18" stroke="black" stroke-width="1.5"/>
17
- <line x1="-6" y1="-9" x2="-13" y2="-18" stroke="black" stroke-width="1.5"/>
18
- <line x1="9" y1="-5" x2="18" y2="-10" stroke="black" stroke-width="1.5"/>
19
- <line x1="-9" y1="-5" x2="-18" y2="-10" stroke="black" stroke-width="1.5"/>
20
- <!-- Label -->
21
- <text x="0" y="48" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">A)</text>
22
- <text x="0" y="63" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Single lighted</text>
23
- <text x="0" y="76" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">obstacle</text>
24
- </g>
25
-
26
- <!-- ===== B) Single unlighted obstacle ===== -->
27
- <g transform="translate(225, 125)">
28
- <!-- Filled circle (base) -->
29
- <circle cx="0" cy="20" r="8" fill="black"/>
30
- <!-- Label -->
31
- <text x="0" y="48" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">B)</text>
32
- <text x="0" y="63" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Single unlighted</text>
33
- <text x="0" y="76" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">obstacle</text>
34
- </g>
35
-
36
- <!-- ===== C) Group of lighted obstacles ===== -->
37
- <g transform="translate(375, 125)">
38
- <!-- Two filled circles side by side -->
39
- <circle cx="-12" cy="20" r="7" fill="black"/>
40
- <circle cx="12" cy="20" r="7" fill="black"/>
41
- <!-- Light rays above center -->
42
- <line x1="0" y1="-2" x2="0" y2="-16" stroke="black" stroke-width="1.5"/>
43
- <line x1="9" y1="2" x2="18" y2="-4" stroke="black" stroke-width="1.5"/>
44
- <line x1="-9" y1="2" x2="-18" y2="-4" stroke="black" stroke-width="1.5"/>
45
- <line x1="6" y1="-7" x2="13" y2="-16" stroke="black" stroke-width="1.5"/>
46
- <line x1="-6" y1="-7" x2="-13" y2="-16" stroke="black" stroke-width="1.5"/>
47
- <line x1="9" y1="-3" x2="18" y2="-8" stroke="black" stroke-width="1.5"/>
48
- <line x1="-9" y1="-3" x2="-18" y2="-8" stroke="black" stroke-width="1.5"/>
49
- <!-- Label -->
50
- <text x="0" y="48" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">C)</text>
51
- <text x="0" y="63" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Group of lighted</text>
52
- <text x="0" y="76" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">obstacles</text>
53
- </g>
54
-
55
- <!-- ===== D) Group of unlighted obstacles ===== -->
56
- <g transform="translate(525, 125)">
57
- <!-- Two filled circles side by side -->
58
- <circle cx="-12" cy="20" r="7" fill="black"/>
59
- <circle cx="12" cy="20" r="7" fill="black"/>
60
- <!-- Label -->
61
- <text x="0" y="48" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">D)</text>
62
- <text x="0" y="63" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Group of unlighted</text>
63
- <text x="0" y="76" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">obstacles</text>
64
- </g>
65
-
66
- <!-- Dividers -->
67
- <line x1="150" y1="50" x2="150" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
68
- <line x1="300" y1="50" x2="300" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
69
- <line x1="450" y1="50" x2="450" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
70
-
71
- <!-- Border -->
72
- <rect width="598" height="248" x="1" y="1" fill="none" stroke="#333333" stroke-width="1"/>
73
-</svg>
SPL Exam Questions FR/figures/t30_q28 2.svg
deleted file mode 100644
....@@ -1,64 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 250" width="600" height="250">
3
- <rect width="600" height="250" fill="white"/>
4
-
5
- <!-- Title -->
6
- <text x="300" y="28" font-family="Arial, sans-serif" font-size="16" font-weight="bold" text-anchor="middle" fill="black">ICAO Chart Symbols — Airports</text>
7
-
8
- <!-- ===== A) Civil airport with paved runway ===== -->
9
- <g transform="translate(75, 120)">
10
- <!-- Circle -->
11
- <circle cx="0" cy="0" r="18" fill="none" stroke="black" stroke-width="2"/>
12
- <!-- Runway line through center (horizontal) -->
13
- <rect x="-5" y="-22" width="10" height="44" fill="black" rx="2"/>
14
- <!-- Label -->
15
- <text x="0" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">A)</text>
16
- <text x="0" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Civil airport</text>
17
- <text x="0" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">paved runway</text>
18
- </g>
19
-
20
- <!-- ===== B) Military airport ===== -->
21
- <g transform="translate(225, 120)">
22
- <!-- Circle with flag/military cross -->
23
- <circle cx="0" cy="0" r="18" fill="none" stroke="black" stroke-width="2"/>
24
- <!-- Runway line -->
25
- <rect x="-5" y="-22" width="10" height="44" fill="black" rx="2"/>
26
- <!-- Military crossbar (shorter horizontal bar across runway) -->
27
- <rect x="-18" y="-4" width="36" height="8" fill="black" rx="1"/>
28
- <!-- Label -->
29
- <text x="0" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">B)</text>
30
- <text x="0" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Military airport</text>
31
- <text x="0" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">paved runway</text>
32
- </g>
33
-
34
- <!-- ===== C) Civil airport with unpaved runway ===== -->
35
- <g transform="translate(375, 120)">
36
- <!-- Circle only, no fill runway bar -->
37
- <circle cx="0" cy="0" r="18" fill="none" stroke="black" stroke-width="2"/>
38
- <!-- Runway line (open/outline style to show unpaved) -->
39
- <rect x="-5" y="-22" width="10" height="44" fill="none" stroke="black" stroke-width="2" rx="2"/>
40
- <!-- Label -->
41
- <text x="0" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">C)</text>
42
- <text x="0" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Civil airport</text>
43
- <text x="0" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">unpaved runway</text>
44
- </g>
45
-
46
- <!-- ===== D) Heliport ===== -->
47
- <g transform="translate(525, 120)">
48
- <!-- Square with H -->
49
- <rect x="-20" y="-20" width="40" height="40" fill="none" stroke="black" stroke-width="2"/>
50
- <text x="0" y="8" font-family="Arial, sans-serif" font-size="24" font-weight="bold" text-anchor="middle" fill="black">H</text>
51
- <!-- Label -->
52
- <text x="0" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">D)</text>
53
- <text x="0" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Heliport</text>
54
- <text x="0" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black"> </text>
55
- </g>
56
-
57
- <!-- Dividers -->
58
- <line x1="150" y1="50" x2="150" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
59
- <line x1="300" y1="50" x2="300" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
60
- <line x1="450" y1="50" x2="450" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
61
-
62
- <!-- Border -->
63
- <rect width="598" height="248" x="1" y="1" fill="none" stroke="#333333" stroke-width="1"/>
64
-</svg>
SPL Exam Questions FR/figures/t30_q29 2.svg
deleted file mode 100644
....@@ -1,67 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 250" width="600" height="250">
3
- <rect width="600" height="250" fill="white"/>
4
-
5
- <!-- Title -->
6
- <text x="300" y="28" font-family="Arial, sans-serif" font-size="16" font-weight="bold" text-anchor="middle" fill="black">ICAO Chart Symbols — Spot Elevations</text>
7
-
8
- <!-- ===== A) General spot elevation ===== -->
9
- <g transform="translate(75, 120)">
10
- <!-- Small dot -->
11
- <circle cx="0" cy="0" r="3" fill="black"/>
12
- <!-- Elevation number next to dot -->
13
- <text x="10" y="5" font-family="Arial, sans-serif" font-size="14" fill="black">1234</text>
14
- <!-- Label -->
15
- <text x="20" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">A)</text>
16
- <text x="20" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">General spot</text>
17
- <text x="20" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">elevation</text>
18
- </g>
19
-
20
- <!-- ===== B) Highest spot elevation on chart ===== -->
21
- <g transform="translate(225, 120)">
22
- <!-- Larger bold dot -->
23
- <circle cx="0" cy="0" r="5" fill="black"/>
24
- <!-- Bold elevation number -->
25
- <text x="10" y="6" font-family="Arial, sans-serif" font-size="16" font-weight="bold" fill="black">4808</text>
26
- <!-- Underline to indicate highest -->
27
- <line x1="10" y1="10" x2="54" y2="10" stroke="black" stroke-width="1.5"/>
28
- <!-- Label -->
29
- <text x="25" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">B)</text>
30
- <text x="25" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Highest spot</text>
31
- <text x="25" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">elevation on chart</text>
32
- </g>
33
-
34
- <!-- ===== C) Mountain peak / summit (filled triangle) ===== -->
35
- <g transform="translate(390, 120)">
36
- <!-- Filled triangle pointing up -->
37
- <polygon points="0,-22 -16,12 16,12" fill="black"/>
38
- <!-- Elevation number -->
39
- <text x="22" y="-10" font-family="Arial, sans-serif" font-size="13" fill="black">2962</text>
40
- <!-- Label -->
41
- <text x="0" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">C)</text>
42
- <text x="0" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Mountain peak</text>
43
- <text x="0" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">/ summit</text>
44
- </g>
45
-
46
- <!-- ===== D) Trigonometric point ===== -->
47
- <g transform="translate(530, 120)">
48
- <!-- Open triangle -->
49
- <polygon points="0,-22 -16,12 16,12" fill="none" stroke="black" stroke-width="2"/>
50
- <!-- Dot in center -->
51
- <circle cx="0" cy="3" r="3" fill="black"/>
52
- <!-- Elevation number -->
53
- <text x="22" y="-10" font-family="Arial, sans-serif" font-size="13" fill="black">1543</text>
54
- <!-- Label -->
55
- <text x="0" y="38" font-family="Arial, sans-serif" font-size="13" font-weight="bold" text-anchor="middle" fill="black">D)</text>
56
- <text x="0" y="53" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">Trigonometric</text>
57
- <text x="0" y="66" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="black">point</text>
58
- </g>
59
-
60
- <!-- Dividers -->
61
- <line x1="150" y1="50" x2="150" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
62
- <line x1="300" y1="50" x2="300" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
63
- <line x1="450" y1="50" x2="450" y2="220" stroke="#cccccc" stroke-width="1" stroke-dasharray="4,4"/>
64
-
65
- <!-- Border -->
66
- <rect width="598" height="248" x="1" y="1" fill="none" stroke="#333333" stroke-width="1"/>
67
-</svg>
SPL Exam Questions FR/figures/t30_q36 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q40 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q41 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q44 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q46 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q47 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q57 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q58 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q59 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q61 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q62 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q63 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q68 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q69 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q72 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q75 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q77 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q80 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q81 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q82 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q83 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q88 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q91 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q92 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q93 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q94 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q95 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t30_q96 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t40_q111 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t40_q114 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t40_q48 2.svg
deleted file mode 100644
....@@ -1,102 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 350" width="500" height="350" style="background:white; font-family: Arial, sans-serif;">
3
-
4
- <defs>
5
- <marker id="arrowAxis" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
6
- <polygon points="0,0 10,3.5 0,7" fill="black"/>
7
- </marker>
8
- </defs>
9
-
10
- <!-- Axes -->
11
- <!-- Y axis (Performance) -->
12
- <line x1="70" y1="290" x2="70" y2="30" stroke="black" stroke-width="2" marker-end="url(#arrowAxis)"/>
13
- <!-- X axis (Arousal) -->
14
- <line x1="70" y1="290" x2="460" y2="290" stroke="black" stroke-width="2" marker-end="url(#arrowAxis)"/>
15
-
16
- <!-- Axis labels -->
17
- <text x="250" y="325" text-anchor="middle" font-size="15" font-weight="bold" fill="black">A (Arousal / Stress)</text>
18
- <!-- Y-axis label (rotated) -->
19
- <text x="22" y="165" text-anchor="middle" font-size="15" font-weight="bold" fill="black"
20
- transform="rotate(-90, 22, 165)">P (Performance)</text>
21
-
22
- <!-- Inverted-U curve
23
- X range: 70 to 450 (arousal: low to high)
24
- Y range: 290 (low) to 50 (high performance)
25
- Peak at arousal midpoint ~x=260, y=55
26
- A: (90, 270) low arousal, low performance
27
- B: (260, 55) peak
28
- C: (360, 140) high arousal, declining
29
- D: (430, 270) very high, very low
30
-
31
- Bezier: from A(90,270) through B(260,55) to D(430,270)
32
- Control points to create smooth inverted-U:
33
- CP1: (155, 55) pulling curve up
34
- CP2: (355, 55) holding it up then falling
35
- -->
36
- <path d="M 90,270 C 155,55 355,55 430,270"
37
- fill="none" stroke="#2255aa" stroke-width="3"/>
38
-
39
- <!-- Shaded zone around peak (optimal performance zone) -->
40
- <!-- Light band between x=200 and x=320 -->
41
- <path d="M 200,290 L 200,78 C 225,60 295,60 320,78 L 320,290 Z"
42
- fill="#e8f0ff" stroke="none" opacity="0.5"/>
43
-
44
- <!-- Point A: low arousal, low performance -->
45
- <!-- On curve at x=90: y=270 -->
46
- <circle cx="90" cy="270" r="7" fill="#c00" stroke="black" stroke-width="1.5"/>
47
- <text x="70" y="265" text-anchor="end" font-size="14" font-weight="bold" fill="#c00">A</text>
48
- <text x="55" y="248" text-anchor="middle" font-size="11" fill="#444">Low arousal,</text>
49
- <text x="55" y="261" text-anchor="middle" font-size="11" fill="#444">low performance</text>
50
-
51
- <!-- Point B: optimal, peak performance -->
52
- <!-- On curve at x=260, peak: y ~ 55 + small deviation from bezier calc -->
53
- <!-- At t=0.5 for cubic bezier A(90,270) CP1(155,55) CP2(355,55) D(430,270):
54
- x = (1-t)^3*90 + 3(1-t)^2*t*155 + 3(1-t)*t^2*355 + t^3*430
55
- = 0.125*90 + 0.375*155 + 0.375*355 + 0.125*430
56
- = 11.25 + 58.125 + 133.125 + 53.75 = 256.25
57
- y = 0.125*270 + 0.375*55 + 0.375*55 + 0.125*270
58
- = 33.75 + 20.625 + 20.625 + 33.75 = 108.75
59
- Hmm, mid-bezier y=109, not 55. The peak is NOT at t=0.5 for this bezier.
60
- The actual peak (minimum y) is at the top of the curve.
61
- Since CP1.y = CP2.y = 55, and A.y=D.y=270, the peak of the curve is AT y=55.
62
- The x-midpoint of control points: (155+355)/2 = 255. So peak is around x=255, y close to 55. -->
63
- <!-- Let's just use x=258, y=57 for point B (approximately correct) -->
64
- <circle cx="258" cy="62" r="7" fill="#007700" stroke="black" stroke-width="1.5"/>
65
- <text x="258" y="50" text-anchor="middle" font-size="14" font-weight="bold" fill="#007700">B</text>
66
- <text x="258" y="35" text-anchor="middle" font-size="12" fill="#007700" font-weight="bold">Optimal</text>
67
- <text x="258" y="18" text-anchor="middle" font-size="11" fill="#444">Peak performance</text>
68
-
69
- <!-- Point C: high arousal, declining -->
70
- <!-- Approximate on curve: x=360 -->
71
- <!-- t such that x=360:
72
- 90(1-t)^3 + 3*155(1-t)^2*t + 3*355(1-t)*t^2 + 430*t^3 = 360
73
- Rough estimate: t~0.73 gives x~360
74
- y at t=0.73: 0.0219*270 + 3*0.0729*0.73*55 + 3*0.27*0.5329*55 + 0.389*270
75
- = 5.9 + 8.8 + 23.8 + 105 = 143.5 ≈ 144 -->
76
- <circle cx="362" cy="144" r="7" fill="#e87000" stroke="black" stroke-width="1.5"/>
77
- <text x="375" y="140" text-anchor="start" font-size="14" font-weight="bold" fill="#e87000">C</text>
78
- <text x="390" y="125" text-anchor="middle" font-size="11" fill="#444">High arousal,</text>
79
- <text x="390" y="138" text-anchor="middle" font-size="11" fill="#444">declining</text>
80
-
81
- <!-- Point D: very high arousal, very low performance -->
82
- <circle cx="430" cy="270" r="7" fill="#c00" stroke="black" stroke-width="1.5"/>
83
- <text x="445" y="268" text-anchor="start" font-size="14" font-weight="bold" fill="#c00">D</text>
84
- <text x="445" y="285" text-anchor="start" font-size="11" fill="#444">Very low</text>
85
- <text x="445" y="298" text-anchor="start" font-size="11" fill="#444">performance</text>
86
-
87
- <!-- Axis tick labels -->
88
- <text x="65" y="295" text-anchor="end" font-size="11" fill="#666">Low</text>
89
- <text x="455" y="295" text-anchor="end" font-size="11" fill="#666">High</text>
90
- <text x="65" y="295" text-anchor="end" font-size="11" fill="#666">Low</text>
91
-
92
- <!-- Y axis: Low at bottom, High at top -->
93
- <text x="65" y="290" text-anchor="end" font-size="11" fill="#666">Low</text>
94
- <text x="65" y="50" text-anchor="end" font-size="11" fill="#666">High</text>
95
-
96
- <!-- Optimal zone label -->
97
- <text x="260" y="215" text-anchor="middle" font-size="11" fill="#2255aa" font-style="italic">Optimal zone</text>
98
-
99
- <!-- Title -->
100
- <text x="250" y="345" text-anchor="middle" font-size="14" font-weight="bold" fill="black">Yerkes-Dodson Curve</text>
101
-
102
-</svg>
SPL Exam Questions FR/figures/t40_q49 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q101 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q103 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q107 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q129 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q131 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q145 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q162 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q179 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q182 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q200 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q57 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q61 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q65 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q66 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q71 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q73 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q76 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q77 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q82 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q90 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q92 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t50_q93 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q153 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q161 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q164 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q167 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q171 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q46 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t60_q6 2.svg
deleted file mode 100644
....@@ -1,82 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400">
3
- <rect width="400" height="400" fill="white"/>
4
-
5
- <!-- Clip path for globe interior -->
6
- <defs>
7
- <clipPath id="globeClip">
8
- <circle cx="200" cy="200" r="150"/>
9
- </clipPath>
10
- </defs>
11
-
12
- <!-- Globe fill (light blue) -->
13
- <circle cx="200" cy="200" r="150" fill="#e8f4fc" stroke="black" stroke-width="2"/>
14
-
15
- <!-- Latitude lines (clipped to globe) -->
16
- <!-- 60N -->
17
- <ellipse cx="200" cy="125" rx="130" ry="20" fill="none" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
18
- <!-- 30N -->
19
- <ellipse cx="200" cy="162" rx="150" ry="28" fill="none" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
20
- <!-- Equator (0) — drawn separately, bold -->
21
- <ellipse cx="200" cy="200" rx="150" ry="32" fill="none" stroke="black" stroke-width="2" clip-path="url(#globeClip)"/>
22
- <!-- 30S -->
23
- <ellipse cx="200" cy="238" rx="150" ry="28" fill="none" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
24
- <!-- 60S -->
25
- <ellipse cx="200" cy="275" rx="130" ry="20" fill="none" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
26
-
27
- <!-- Longitude lines (meridians) — vertical ellipses, clipped -->
28
- <!-- Prime meridian (0°) -->
29
- <ellipse cx="200" cy="200" rx="10" ry="150" fill="none" stroke="black" stroke-width="1.5" clip-path="url(#globeClip)"/>
30
- <!-- 30W / 150E -->
31
- <ellipse cx="200" cy="200" rx="75" ry="150" fill="none" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
32
- <!-- 60W / 120E -->
33
- <ellipse cx="200" cy="200" rx="130" ry="150" fill="none" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
34
- <!-- 90W / 90E — just the axis line -->
35
- <line x1="200" y1="50" x2="200" y2="350" stroke="#aaaaaa" stroke-width="0.8" clip-path="url(#globeClip)"/>
36
-
37
- <!-- Globe outer border (drawn again on top to clean up edges) -->
38
- <circle cx="200" cy="200" r="150" fill="none" stroke="black" stroke-width="2"/>
39
-
40
- <!-- North / South pole dots -->
41
- <circle cx="200" cy="50" r="3" fill="black"/>
42
- <circle cx="200" cy="350" r="3" fill="black"/>
43
-
44
- <!-- Pole labels -->
45
- <text x="200" y="38" font-family="Arial, sans-serif" font-size="14" font-weight="bold" text-anchor="middle" fill="black">North Pole</text>
46
- <text x="200" y="370" font-family="Arial, sans-serif" font-size="14" font-weight="bold" text-anchor="middle" fill="black">South Pole</text>
47
-
48
- <!-- Equator label -->
49
- <text x="362" y="204" font-family="Arial, sans-serif" font-size="12" text-anchor="start" fill="black">Equator</text>
50
- <line x1="350" y1="200" x2="362" y2="202" stroke="black" stroke-width="1"/>
51
-
52
- <!-- Equator circumference annotation -->
53
- <text x="200" y="245" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="#333333">≈ 40,075 km / ≈ 21,600 NM</text>
54
-
55
- <!-- Axis line (N-S, dashed) -->
56
- <line x1="200" y1="50" x2="200" y2="350" stroke="#555555" stroke-width="1" stroke-dasharray="6,4"/>
57
-
58
- <!-- Latitude label 30N -->
59
- <text x="356" y="165" font-family="Arial, sans-serif" font-size="11" text-anchor="start" fill="#555555">30°N</text>
60
- <line x1="349" y1="162" x2="356" y2="163" stroke="#555555" stroke-width="0.8"/>
61
-
62
- <!-- Latitude label 60N -->
63
- <text x="338" y="128" font-family="Arial, sans-serif" font-size="11" text-anchor="start" fill="#555555">60°N</text>
64
- <line x1="330" y1="125" x2="338" y2="126" stroke="#555555" stroke-width="0.8"/>
65
-
66
- <!-- Latitude label 30S -->
67
- <text x="356" y="241" font-family="Arial, sans-serif" font-size="11" text-anchor="start" fill="#555555">30°S</text>
68
- <line x1="349" y1="238" x2="356" y2="239" stroke="#555555" stroke-width="0.8"/>
69
-
70
- <!-- Latitude label 60S -->
71
- <text x="338" y="278" font-family="Arial, sans-serif" font-size="11" text-anchor="start" fill="#555555">60°S</text>
72
- <line x1="330" y1="275" x2="338" y2="276" stroke="#555555" stroke-width="0.8"/>
73
-
74
- <!-- Prime meridian label -->
75
- <text x="200" y="395" font-family="Arial, sans-serif" font-size="11" text-anchor="middle" fill="#555555">0° / Prime Meridian</text>
76
-
77
- <!-- Title -->
78
- <text x="200" y="20" font-family="Arial, sans-serif" font-size="15" font-weight="bold" text-anchor="middle" fill="black">Earth — Latitude and Longitude</text>
79
-
80
- <!-- Border -->
81
- <rect width="398" height="398" x="1" y="1" fill="none" stroke="#333333" stroke-width="1"/>
82
-</svg>
SPL Exam Questions FR/figures/t80_q102 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q111 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q112 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q113 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q123 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q129 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q132 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q150 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q151 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q152 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q66 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q75 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q87 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q90 2.png
deleted file mode 100644Binary files differ
SPL Exam Questions FR/figures/t80_q95 2.png
deleted file mode 100644Binary files differ
app/glidr
....@@ -0,0 +1 @@
1
+/Users/i052341/dev/apps/glidr
articles/how-it-works.md
....@@ -0,0 +1,67 @@
1
+# How Glidr Helps You Learn
2
+
3
+## The Problem with Cramming
4
+
5
+German psychologist Hermann Ebbinghaus measured in 1885 that without reinforcement, your brain discards roughly half of new information within 30 minutes, and up to 80% within 24 hours.
6
+
7
+For your SPL theory exam, forgetting is not just inconvenient - it is dangerous. You need knowledge that stays with you in the cockpit, not just until the test.
8
+
9
+## The Solution: Spaced Repetition
10
+
11
+Spaced repetition works by showing you a card just before you would forget it. Each time you successfully recall something, the next review is pushed further into the future. Each successful recall also strengthens the memory trace, making it harder to lose.
12
+
13
+The result: you spend less time reviewing things you already know well, and more time on the things that actually need attention.
14
+
15
+## The SM-2 Algorithm
16
+
17
+In 1987, Polish researcher Piotr Wozniak created SuperMemo, the first program to automate this process. His algorithm, SM-2, became the foundation for nearly every modern flashcard app - including Glidr.
18
+
19
+Every card has a personal interval (days until it appears again) and an easiness factor (how quickly that interval grows). Your ratings update both values, so the schedule adapts to you.
20
+
21
+## How Your Rating Controls Everything
22
+
23
+After each card, you rate how well you recalled the answer:
24
+
25
+- **Again** - did not remember. Card resets to tomorrow.
26
+- **Hard** - remembered, but a real struggle. Returns soon.
27
+- **Good** - remembered with normal effort. Standard growth.
28
+- **Easy** - instant recall. Interval jumps forward.
29
+
30
+Be honest. Rating "Easy" when you hesitated tells the algorithm to wait longer than it should - and you will have forgotten it by the time it returns.
31
+
32
+## The Spacing Effect
33
+
34
+A card rated "Good" might be scheduled for:
35
+
36
+- First review: 1 day
37
+- Second review: 6 days
38
+- Third review: ~15 days
39
+- Fourth review: ~38 days
40
+
41
+After three or four successful reviews, you may not see a card for months - because it no longer needs reinforcement. That is the algorithm doing exactly what it was designed to do.
42
+
43
+## Study Mode vs Cram Mode
44
+
45
+**Study mode** uses spaced repetition. Cards appear according to the SM-2 schedule - only cards due today, in the order that helps you most. This builds deep, lasting knowledge. Do not skip days if you can avoid it.
46
+
47
+**Cram mode** ignores the schedule entirely. It is useful the night before your exam as a final confidence check, or when previewing a new topic. It does not update intervals, so your long-term schedule is unaffected.
48
+
49
+- Daily sessions: Study Mode
50
+- Night before the exam: Cram Mode
51
+- New chapter preview: Cram, then switch to Study
52
+
53
+## Tips for SPL Exam Prep
54
+
55
+1. **Start early.** Begin 6-8 weeks before your exam to give the algorithm room to space intervals properly.
56
+
57
+2. **Do your due cards every day.** A consistent 10-minute session every morning is far more effective than a 2-hour marathon once a week.
58
+
59
+3. **Aim for 20-30 new cards per day.** Introducing too many creates an overwhelming backlog within a week.
60
+
61
+4. **Use the ratings honestly.** There is no score - no one sees your ratings. Admit when you struggled.
62
+
63
+5. **Trust the schedule.** If a card is not due, reviewing early does not help and disrupts the spacing that makes the system work.
64
+
65
+Good luck, and good soaring.
66
+
67
+*Based on the SM-2 algorithm by Dr. Piotr Wozniak (1987) - [supermemo.com](https://supermemo.com)*
articles/supermemo-wired.md
....@@ -0,0 +1,91 @@
1
+# Want to Remember Everything You'll Ever Learn? Surrender to This Algorithm
2
+
3
+*By Gary Wolf, Wired Magazine, April 2008*
4
+
5
+## The Man Behind SuperMemo
6
+
7
+The winter sun sets in mid-afternoon in Kolobrzeg, Poland, but the early twilight does not deter people from taking their regular outdoor promenade. Bundled up in parkas with fur-trimmed hoods, strolling hand in mittened hand along the edge of the Baltic Sea, off-season tourists from Germany stop openmouthed when they see a tall, well-built, nearly naked man running up and down the sand.
8
+
9
+"Kalt? Kalt?" one of them calls out. The man gives a polite but vague answer, then turns and dives into the waves. After swimming back and forth in the 40-degree water for a few minutes, he emerges from the surf and jogs briefly along the shore. The wind is strong, but the man makes no move to get dressed.
10
+
11
+Piotr Wozniak's quest for anonymity has been successful. Nobody along this string of little beach resorts recognizes him as the inventor of a technique to turn people into geniuses. A portion of this technique, embodied in a software program called SuperMemo, has enthusiastic users around the world. They apply it mainly to learning languages, and it's popular among people for whom fluency is a necessity - students from Poland or other poor countries aiming to score well enough on English-language exams to study abroad.
12
+
13
+## The Core Insight: Timing Is Everything
14
+
15
+SuperMemo is based on the insight that there is an ideal moment to practice what you've learned. Practice too soon and you waste your time. Practice too late and you've forgotten the material and have to relearn it. The right time to practice is just at the moment you're about to forget. Unfortunately, this moment is different for every person and each bit of information.
16
+
17
+Fortunately, human forgetting follows a pattern. We forget exponentially. A graph of our likelihood of getting the correct answer on a quiz sweeps quickly downward over time and then levels off. This pattern has long been known to cognitive psychology, but it has been difficult to put to practical use. It's too complex for us to employ with our naked brains.
18
+
19
+Twenty years ago, Wozniak realized that computers could easily calculate the moment of forgetting if he could discover the right algorithm. SuperMemo is the result of his research. It predicts the future state of a person's memory and schedules information reviews at the optimal time.
20
+
21
+## How SuperMemo Works
22
+
23
+SuperMemo is a program that keeps track of discrete bits of information you've learned and want to retain. Your chance of recalling a given word when you need it declines over time according to a predictable pattern. SuperMemo tracks this so-called forgetting curve and reminds you to rehearse your knowledge when your chance of recalling it has dropped to, say, 90 percent. When you first learn a new vocabulary word, your chance of recalling it will drop quickly. But after SuperMemo reminds you of the word, the rate of forgetting levels out. The program tracks this new decline and waits longer to quiz you the next time.
24
+
25
+## Ebbinghaus and the Forgetting Curve
26
+
27
+In the late 1800s, a German scientist named Hermann Ebbinghaus made up lists of nonsense syllables and measured how long it took to forget and then relearn them. In experiments of breathtaking rigor and tedium, Ebbinghaus practiced and recited from memory 2.5 nonsense syllables a second, then rested for a bit and started again. Finally, in 1885, he published a monograph called *Memory: A Contribution to Experimental Psychology*. The book became the founding classic of a new discipline.
28
+
29
+Ebbinghaus discovered many lawlike regularities of mental life. He was the first to draw a learning curve. Among his original observations was an account of a strange phenomenon: the spacing effect.
30
+
31
+## The Spacing Effect: Psychology's Best-Kept Secret
32
+
33
+Ebbinghaus showed that it's possible to dramatically improve learning by correctly spacing practice sessions. The efficiencies created by precise spacing are so large, and the improvement in performance so predictable, that from nearly the moment Ebbinghaus described the spacing effect, psychologists have been urging educators to use it to accelerate human progress.
34
+
35
+The spacing effect is "one of the most remarkable phenomena to emerge from laboratory research on learning," the psychologist Frank Dempster wrote in 1988, in a paper titled "The Spacing Effect: A Case Study in the Failure to Apply the Results of Psychological Research." How would computer scientists feel if people continued to use slide rules for engineering calculations? Psychologists who studied the spacing effect thought they possessed a solution to a problem that had frustrated humankind since before written language: how to remember what's been learned.
36
+
37
+## Wozniak's Quest: From Paper Cards to Algorithm
38
+
39
+As a student at the Poznan University of Technology in western Poland in the 1980s, Wozniak was overwhelmed by the sheer number of things he was expected to learn. He wasn't just trying to pass his exams; he was trying to learn. He couldn't help noticing that within a few months of completing a class, only a fraction of the knowledge he had so painfully acquired remained in his mind.
40
+
41
+So he created an analog database, with each entry consisting of a question and answer on a piece of paper. Every time he reviewed a word, phrase, or fact, he meticulously noted the date and marked whether he had forgotten it. By 1984, Wozniak's database contained 3,000 English words and phrases and 1,400 facts culled from biology, each with a complete repetition history.
42
+
43
+## The Impossible Math of Memorization
44
+
45
+According to Wozniak's first calculations, success was impossible. The problem wasn't learning the material; it was retaining it. He found that 40 percent of his English vocabulary vanished over time. Sixty percent of his biology answers evaporated. Using some simple calculations, he figured out that with his normal method of study, it would require two hours of practice every day to learn and retain a modest English vocabulary of 15,000 words.
46
+
47
+As Wozniak later wrote: "The process of increasing the size of my databases gradually progressed at the cost of knowledge retention." In other words, as his list grew, so did his forgetting. He was climbing a mountain of loose gravel and making less and less progress at each step.
48
+
49
+## Why Memorization Matters
50
+
51
+"The people who criticize memorization - how happy would they be to spell out every letter of every word they read?" asks Robert Bjork, chair of UCLA's psychology department and one of the most eminent memory researchers. "You can't escape memorization. There is an initial process of learning the names of things. That's a stage we all go through. It's all the more important to go through it rapidly."
52
+
53
+## Retrieval Strength vs Storage Strength
54
+
55
+Long-term memory, the Bjorks said, can be characterized by two components: retrieval strength and storage strength. Retrieval strength measures how likely you are to recall something right now. Storage strength measures how deeply the memory is rooted.
56
+
57
+Some memories may have high storage strength but low retrieval strength. Take an old address or phone number. Try to think of it; you may feel that it's gone. But a single reminder could be enough to restore it for months or years. Conversely, some memories have high retrieval strength but low storage strength - easily accessible now but likely forgotten in days.
58
+
59
+The amount of storage strength you gain from practice is inversely correlated with the current retrieval strength. In other words, the harder you have to work to get the right answer, the more the answer is sealed in memory. Precisely those things that seem to signal we're learning well - easy performance on drills, fluency during a lesson - are misleading when it comes to predicting whether we will remember it in the future.
60
+
61
+## The Optimal Moment to Study
62
+
63
+Robert Bjork, working with Thomas Landauer of Bell Labs, published results involving nearly 700 undergraduate students. They were looking for the optimal moment to rehearse something so that it would later be remembered. Their results were impressive: **The best time to study something is at the moment you are about to forget it.**
64
+
65
+Obviously, computers were the answer. What was needed was not an academic psychologist but a tinkerer, somebody with a lot of time on his hands, a talent for mathematics, and a strangely literal temperament that made him think he should actually recall the things he learned.
66
+
67
+## From Punch Cards to Personal Computers
68
+
69
+All of Wozniak's early work was done on paper. "We had a single mainframe of Polish-Russian design, with punch cards," he recalls. The personal computer revolution was already far along in the US by the time Wozniak managed to get his hands on an Amstrad PC 1512, imported through quasi-legal means from Hamburg, Germany. With this he was able to compute the difficulty of any fact or study item and adjust the predicted forgetting curve for every item and user.
70
+
71
+After the collapse of Polish communism, Wozniak and some fellow students formed a company, SuperMemo World. By 1995, their program became the first Polish product shown at Comdex in Las Vegas.
72
+
73
+## The Algorithmic Life
74
+
75
+The reason the inventor of SuperMemo pursues extreme anonymity is not because he's paranoid but because he wants to avoid random interruptions to a long-running experiment he's conducting on himself. Wozniak is a kind of algorithmic man. He's exploring what it's like to live in strict obedience to reason.
76
+
77
+His days are blocked into distinct periods: a creative period, a reading and studying period, an exercise period, an eating period, a resting period, and then a second creative period. He doesn't get up at a regular hour and is passionate against alarm clocks.
78
+
79
+## Incremental Reading: Beyond Flashcards
80
+
81
+Wozniak has invented a way to apply his learning system to unstructured information from books and articles, winnowing written material down to discrete chunks that can be memorized, and then scheduling them for efficient learning. He calls it incremental reading, and it has come to dominate his intellectual life.
82
+
83
+"Once you get the snippets you need," Wozniak says, "your books disappear. They gradually evaporate. They have been translated into knowledge."
84
+
85
+## The Cost of Genius
86
+
87
+Wozniak wrote a checklist describing how to become a genius. His advice was straightforward yet strangely terrible: You must clarify your goals, gain knowledge through spaced repetition, preserve health, work steadily, minimize stress, refuse interruption, and never resist sleep when tired. This should lead to radically improved intelligence and creativity. The only cost: turning your back on every convention of social life.
88
+
89
+It is a severe prescription. And yet, when linked to genuine rewards, even the chilliest of systems can have a certain visceral appeal. By projecting the achievement of extreme memory back along the forgetting curve, by provably linking the distant future - when we will know so much - to the few minutes we devote to studying today, Wozniak has found a way to condition his temperament along with his memory. He is making the future noticeable. He is trying not just to learn many things but to warm the process of learning itself with a draft of utopian ecstasy.
90
+
91
+*Originally published in Wired Magazine, April 21, 2008*
business.md
....@@ -0,0 +1,186 @@
1
+- generic [ref=e1]:
2
+ - banner "App Store Connect" [ref=e3]:
3
+ - generic [ref=e4]:
4
+ - heading "App Store Connect" [level=1] [ref=e20]:
5
+ - link "App Store Connect" [ref=e21] [cursor=pointer]:
6
+ - /url: /
7
+ - navigation "Global" [ref=e7]:
8
+ - list [ref=e23]:
9
+ - listitem [ref=e24]:
10
+ - link "Apps" [ref=e25] [cursor=pointer]:
11
+ - /url: /apps
12
+ - listitem [ref=e26]:
13
+ - link "Analytics" [ref=e27] [cursor=pointer]:
14
+ - /url: /analytics
15
+ - listitem [ref=e28]:
16
+ - link "Trends" [ref=e29] [cursor=pointer]:
17
+ - /url: /trends
18
+ - listitem [ref=e30]:
19
+ - link "Reports" [ref=e31] [cursor=pointer]:
20
+ - /url: /itc/payments_and_financial_reports
21
+ - listitem [ref=e32]:
22
+ - link "Business" [ref=e33] [cursor=pointer]:
23
+ - /url: /business
24
+ - listitem [ref=e34]:
25
+ - link "Users and Access" [ref=e35] [cursor=pointer]:
26
+ - /url: /access/users
27
+ - button "Matthias Nott Matthias Nott Account name menu" [ref=e37] [cursor=pointer]:
28
+ - generic:
29
+ - generic: Matthias Nott
30
+ - generic: Matthias Nott
31
+ - img [ref=e38]
32
+ - generic [ref=e46]:
33
+ - generic [ref=e47]:
34
+ - heading "Business" [level=1] [ref=e48]
35
+ - navigation [ref=e49]:
36
+ - listitem [ref=e50] [cursor=pointer]:
37
+ - generic [ref=e51]: Agreements
38
+ - generic [ref=e54]:
39
+ - img [ref=e55]
40
+ - paragraph [ref=e57]:
41
+ - generic [ref=e58]:
42
+ - text: The Apple Developer Program License Agreement has been updated and needs to be reviewed. In order to update your existing apps and submit new apps, the Account Holder must review and accept the updated agreement by signing in to their
43
+ - link "account" [active] [ref=e59] [cursor=pointer]:
44
+ - /url: https://developer.apple.com/account
45
+ - text: .
46
+ - generic [ref=e61]:
47
+ - heading "Matthias Nott" [level=2] [ref=e63]
48
+ - generic [ref=e64]:
49
+ - generic [ref=e65]:
50
+ - paragraph [ref=e66]: ch de la Tarpa 8A
51
+ - paragraph [ref=e67]: Troistorrents, Valais 1872
52
+ - paragraph [ref=e68]: Switzerland
53
+ - generic [ref=e69]:
54
+ - paragraph [ref=e71]: "85427149"
55
+ - generic [ref=e73]:
56
+ - paragraph [ref=e74]: 175 Countries or Regions
57
+ - paragraph [ref=e75]:
58
+ - button "View" [ref=e76] [cursor=pointer]
59
+ - generic [ref=e78]:
60
+ - heading "Agreements" [level=2] [ref=e79]
61
+ - table [ref=e80]:
62
+ - rowgroup [ref=e81]:
63
+ - row "Type Countries or Regions Effective Date Status" [ref=e82]:
64
+ - columnheader "Type" [ref=e83]
65
+ - columnheader "Countries or Regions" [ref=e84]
66
+ - columnheader "Effective Date" [ref=e85]
67
+ - columnheader "Status" [ref=e86]
68
+ - columnheader [ref=e87]
69
+ - rowgroup [ref=e88]:
70
+ - row "Paid Apps Agreement All Countries or Regions View 30 Dec 2025 - 30 Dec 2026 Active" [ref=e89]:
71
+ - cell "Paid Apps Agreement" [ref=e90]
72
+ - cell "All Countries or Regions View" [ref=e91]:
73
+ - generic [ref=e93]:
74
+ - paragraph [ref=e94]: All Countries or Regions
75
+ - paragraph [ref=e95]:
76
+ - button "View" [ref=e96] [cursor=pointer]
77
+ - cell "30 Dec 2025 - 30 Dec 2026" [ref=e97]
78
+ - cell "Active" [ref=e98]
79
+ - cell [ref=e99]:
80
+ - button [ref=e101] [cursor=pointer]:
81
+ - img [ref=e102]
82
+ - row "Free Apps Agreement All Countries or Regions View 30 Dec 2025 - 30 Dec 2026 Active (New Agreement Available)" [ref=e104]:
83
+ - cell "Free Apps Agreement" [ref=e105]
84
+ - cell "All Countries or Regions View" [ref=e106]:
85
+ - generic [ref=e108]:
86
+ - paragraph [ref=e109]: All Countries or Regions
87
+ - paragraph [ref=e110]:
88
+ - button "View" [ref=e111] [cursor=pointer]
89
+ - cell "30 Dec 2025 - 30 Dec 2026" [ref=e112]
90
+ - cell "Active (New Agreement Available)" [ref=e113]
91
+ - cell [ref=e114]
92
+ - generic [ref=e116]:
93
+ - generic [ref=e117]:
94
+ - heading "Bank Accounts" [level=2] [ref=e118]:
95
+ - text: Bank Accounts
96
+ - button [ref=e121] [cursor=pointer]:
97
+ - img [ref=e122]
98
+ - paragraph [ref=e124]:
99
+ - button "See More" [ref=e125] [cursor=pointer]
100
+ - table [ref=e126]:
101
+ - rowgroup [ref=e127]:
102
+ - row "Account Country or Region Bank Currency Royalty Currencies Status" [ref=e128]:
103
+ - columnheader "Account" [ref=e129]
104
+ - columnheader "Country or Region" [ref=e130]
105
+ - columnheader "Bank Currency" [ref=e131]
106
+ - columnheader "Royalty Currencies" [ref=e132]
107
+ - columnheader "Status" [ref=e133]
108
+ - columnheader [ref=e134]
109
+ - rowgroup [ref=e135]:
110
+ - row "UBS4000 (840L) Switzerland CHF USD Active" [ref=e136]:
111
+ - cell "UBS4000 (840L)" [ref=e137]:
112
+ - button "UBS4000 (840L)" [ref=e138] [cursor=pointer]
113
+ - cell "Switzerland" [ref=e139]
114
+ - cell "CHF" [ref=e140]
115
+ - cell "USD" [ref=e141]:
116
+ - paragraph [ref=e142]: USD
117
+ - cell "Active" [ref=e143]
118
+ - cell [ref=e144]:
119
+ - button [ref=e147] [cursor=pointer]:
120
+ - img [ref=e148]
121
+ - generic [ref=e151]:
122
+ - heading "Tax Forms" [level=2] [ref=e152]:
123
+ - text: Tax Forms
124
+ - button [ref=e153] [cursor=pointer]:
125
+ - img [ref=e154]
126
+ - table [ref=e156]:
127
+ - rowgroup [ref=e157]:
128
+ - row "Tax Form Nickname Date Submitted Status" [ref=e158]:
129
+ - columnheader "Tax Form" [ref=e159]
130
+ - columnheader "Nickname" [ref=e160]
131
+ - columnheader "Date Submitted" [ref=e161]
132
+ - columnheader "Status" [ref=e162]
133
+ - columnheader [ref=e163]
134
+ - rowgroup [ref=e164]:
135
+ - row "U.S. Certificate of Foreign Status of Beneficial Owner - 22 Oct 2011 Active" [ref=e165]:
136
+ - cell "U.S. Certificate of Foreign Status of Beneficial Owner" [ref=e166]:
137
+ - button "U.S. Certificate of Foreign Status of Beneficial Owner" [ref=e167] [cursor=pointer]
138
+ - cell "-" [ref=e168]
139
+ - cell "22 Oct 2011" [ref=e169]
140
+ - cell "Active" [ref=e170]:
141
+ - paragraph [ref=e171]:
142
+ - generic [ref=e172]: Active
143
+ - cell [ref=e173]
144
+ - generic [ref=e175]:
145
+ - heading "Compliance" [level=2] [ref=e176]
146
+ - table [ref=e177]:
147
+ - rowgroup [ref=e178]:
148
+ - row "Regulation Countries or Regions Last Updated Status" [ref=e179]:
149
+ - columnheader "Regulation" [ref=e180]
150
+ - columnheader "Countries or Regions" [ref=e181]
151
+ - columnheader "Last Updated" [ref=e182]
152
+ - columnheader "Status" [ref=e183]
153
+ - columnheader [ref=e184]
154
+ - rowgroup [ref=e185]:
155
+ - row "Digital Services Act 27 Countries or Regions View 30 Dec 2025 Active" [ref=e186]:
156
+ - cell "Digital Services Act" [ref=e187]:
157
+ - button "Digital Services Act" [ref=e188] [cursor=pointer]:
158
+ - paragraph [ref=e189]: Digital Services Act
159
+ - cell "27 Countries or Regions View" [ref=e190]:
160
+ - generic [ref=e192]:
161
+ - paragraph [ref=e193]: 27 Countries or Regions
162
+ - paragraph [ref=e194]:
163
+ - button "View" [ref=e195] [cursor=pointer]
164
+ - cell "30 Dec 2025" [ref=e196]
165
+ - cell "Active" [ref=e197]:
166
+ - paragraph [ref=e198]: Active
167
+ - cell [ref=e199]
168
+ - contentinfo [ref=e10]:
169
+ - generic [ref=e11]:
170
+ - list [ref=e200]:
171
+ - listitem [ref=e201]:
172
+ - link "App Store Connect" [ref=e202] [cursor=pointer]:
173
+ - /url: /apps
174
+ - list [ref=e12]:
175
+ - listitem [ref=e13]: Copyright © 2026 Apple Inc. All rights reserved. |
176
+ - listitem [ref=e14]:
177
+ - link "Terms of Service" [ref=e15] [cursor=pointer]:
178
+ - /url: /WebObjects/iTunesConnect.woa/wa/termsOfService
179
+ - text: "|"
180
+ - listitem [ref=e16]:
181
+ - link "Privacy Policy" [ref=e17] [cursor=pointer]:
182
+ - /url: https://www.apple.com/legal/privacy
183
+ - text: "|"
184
+ - listitem [ref=e18]:
185
+ - link "Contact Us" [ref=e19] [cursor=pointer]:
186
+ - /url: /contact-us
fix_explanation_formatting.py
....@@ -0,0 +1,254 @@
1
+#!/usr/bin/env python3
2
+"""
3
+Fix explanation formatting in SPL exam question files.
4
+
5
+Converts parenthetical option references like "(A)" in prose sentences
6
+into bullet points with bolded option references like "**(A)**".
7
+
8
+Pattern:
9
+ "Some intro. La construction métallique (A) utilise des feuilles. La construction (B) utilise..."
10
+Becomes:
11
+ "Some intro.
12
+ - La construction métallique **(A)** utilise des feuilles.
13
+ - La construction **(B)** utilise..."
14
+"""
15
+
16
+import re
17
+import os
18
+import glob
19
+
20
+BASE_DIR = "/Users/i052341/Daten/Cloud/04 - Ablage/Ablage 2020 - 2029/Ablage 2025/Hobbies 2025/Segelflug/Theorie/Glidr"
21
+
22
+# Pattern to detect option references (A), (B), (C), (D)
23
+OPTION_REF_PATTERN = re.compile(r'\([ABCD]\)')
24
+
25
+
26
+def bold_option_refs(text):
27
+ """Replace (A) with **(A)** in text."""
28
+ return re.sub(r'\(([ABCD])\)', r'**(\1)**', text)
29
+
30
+
31
+def sentence_contains_option(sentence):
32
+ """Check if a sentence contains a parenthetical option reference."""
33
+ return bool(OPTION_REF_PATTERN.search(sentence))
34
+
35
+
36
+def split_into_sentences(text):
37
+ """
38
+ Split text into sentences at '. ' boundaries where next sentence
39
+ starts with an uppercase letter (including accented chars).
40
+ """
41
+ parts = re.split(r'(?<=\w)\.\s+(?=[A-ZÀÂÄÈÉÊËÎÏÔÙÛÜÇ])', text)
42
+ return parts
43
+
44
+
45
+def join_sentences(sentences):
46
+ """Join sentences back into a paragraph, adding periods where needed."""
47
+ parts = []
48
+ for s in sentences:
49
+ s = s.strip()
50
+ if not s:
51
+ continue
52
+ if not s.endswith('.'):
53
+ s = s + '.'
54
+ parts.append(s)
55
+ return ' '.join(parts)
56
+
57
+
58
+def process_explanation_text(text):
59
+ """
60
+ Process a block of explanation text (one paragraph / multiple sentences).
61
+
62
+ If the text contains option references in multiple sentences,
63
+ split those into bullets.
64
+
65
+ Returns the processed text as a string (may contain newlines for bullets).
66
+ """
67
+ stripped = text.strip()
68
+
69
+ # Already a bullet - leave it alone
70
+ if stripped.startswith('- ') or stripped.startswith('* '):
71
+ return text
72
+
73
+ # No option references - leave it alone
74
+ if not OPTION_REF_PATTERN.search(text):
75
+ return text
76
+
77
+ # Split into sentences
78
+ sentences = split_into_sentences(stripped)
79
+
80
+ if len(sentences) <= 1:
81
+ # Single sentence - just bold the option refs
82
+ return bold_option_refs(text)
83
+
84
+ # Count how many sentences have option refs
85
+ option_sentence_indices = [i for i, s in enumerate(sentences) if sentence_contains_option(s)]
86
+
87
+ if len(option_sentence_indices) <= 1:
88
+ # Only one sentence has option refs - just bold them inline
89
+ return bold_option_refs(text)
90
+
91
+ # Multiple sentences have option refs - convert them to bullets
92
+ first_opt_idx = option_sentence_indices[0]
93
+ last_opt_idx = option_sentence_indices[-1]
94
+
95
+ intro_sentences = sentences[:first_opt_idx]
96
+ middle_sentences = sentences[first_opt_idx:last_opt_idx + 1]
97
+ outro_sentences = sentences[last_opt_idx + 1:]
98
+
99
+ output_lines = []
100
+
101
+ # Intro as regular text
102
+ if intro_sentences:
103
+ output_lines.append(join_sentences(intro_sentences))
104
+
105
+ # Middle sentences (option-containing and any in between) as bullets
106
+ for s in middle_sentences:
107
+ s_clean = s.strip().rstrip('.')
108
+ bolded = bold_option_refs(s_clean)
109
+ output_lines.append(f'- {bolded}.')
110
+
111
+ # Outro as regular text
112
+ if outro_sentences:
113
+ output_lines.append(join_sentences(outro_sentences))
114
+
115
+ return '\n'.join(output_lines)
116
+
117
+
118
+def process_explanation_block(lines):
119
+ """
120
+ Process a block of lines from an explanation section.
121
+ Groups consecutive non-special lines into paragraphs and processes each.
122
+ """
123
+ result = []
124
+ i = 0
125
+
126
+ while i < len(lines):
127
+ line = lines[i]
128
+
129
+ # Empty line - keep as is
130
+ if not line.strip():
131
+ result.append(line)
132
+ i += 1
133
+ continue
134
+
135
+ # Already a bullet line - keep as is
136
+ if line.strip().startswith('- ') or line.strip().startswith('* '):
137
+ result.append(line)
138
+ i += 1
139
+ continue
140
+
141
+ # Header line - keep as is
142
+ if line.strip().startswith('#'):
143
+ result.append(line)
144
+ i += 1
145
+ continue
146
+
147
+ # Regular text line - collect into a paragraph
148
+ para_lines = []
149
+ while i < len(lines):
150
+ current = lines[i]
151
+ # Stop at empty lines, bullets, or headers
152
+ if not current.strip():
153
+ break
154
+ if current.strip().startswith('- ') or current.strip().startswith('* '):
155
+ break
156
+ if current.strip().startswith('#'):
157
+ break
158
+ para_lines.append(current)
159
+ i += 1
160
+
161
+ if not para_lines:
162
+ i += 1
163
+ continue
164
+
165
+ # Join the paragraph lines and process
166
+ para_text = ' '.join(l.strip() for l in para_lines)
167
+ processed = process_explanation_text(para_text)
168
+
169
+ # Add processed text (may be multiple lines due to bullets)
170
+ result.extend(processed.split('\n'))
171
+
172
+ return result
173
+
174
+
175
+def process_file(filepath):
176
+ """Process a single markdown file, fixing explanation formatting."""
177
+ with open(filepath, 'r', encoding='utf-8') as f:
178
+ content = f.read()
179
+
180
+ lines = content.split('\n')
181
+ result_lines = []
182
+ changes_made = 0
183
+ i = 0
184
+
185
+ while i < len(lines):
186
+ line = lines[i]
187
+
188
+ # Check if this is an explanation header
189
+ if re.match(r'^#### (Explanation|Erklärung|Explication)\s*$', line.strip()):
190
+ result_lines.append(line)
191
+ i += 1
192
+
193
+ # Collect lines until next #### or ### header
194
+ explanation_lines = []
195
+ while i < len(lines):
196
+ current = lines[i]
197
+ if re.match(r'^####? ', current) or re.match(r'^### ', current):
198
+ break
199
+ explanation_lines.append(current)
200
+ i += 1
201
+
202
+ # Process the explanation block
203
+ processed = process_explanation_block(explanation_lines)
204
+
205
+ # Count if there was a change
206
+ if explanation_lines != processed:
207
+ changes_made += 1
208
+
209
+ result_lines.extend(processed)
210
+ else:
211
+ result_lines.append(line)
212
+ i += 1
213
+
214
+ new_content = '\n'.join(result_lines)
215
+
216
+ if new_content != content:
217
+ with open(filepath, 'w', encoding='utf-8') as f:
218
+ f.write(new_content)
219
+
220
+ return changes_made
221
+
222
+
223
+def main():
224
+ """Process all SPL exam question files."""
225
+ patterns = [
226
+ os.path.join(BASE_DIR, "SPL Exam Questions EN", "*.md"),
227
+ os.path.join(BASE_DIR, "SPL Exam Questions DE", "*.md"),
228
+ os.path.join(BASE_DIR, "SPL Exam Questions FR", "*.md"),
229
+ ]
230
+
231
+ total_files = 0
232
+ total_changes = 0
233
+
234
+ for pattern in patterns:
235
+ files = sorted(glob.glob(pattern))
236
+ for filepath in files:
237
+ filename = os.path.basename(filepath)
238
+ # Skip combined index files
239
+ if filename.startswith("SPL Exam Questions"):
240
+ continue
241
+
242
+ changes = process_file(filepath)
243
+ total_files += 1
244
+ total_changes += changes
245
+
246
+ lang_folder = os.path.basename(os.path.dirname(filepath))
247
+ status = f" {changes} explanations converted" if changes > 0 else " (no changes)"
248
+ print(f"[{lang_folder}] {filename}{status}")
249
+
250
+ print(f"\nTotal: {total_files} files processed, {total_changes} explanations converted to bullets")
251
+
252
+
253
+if __name__ == "__main__":
254
+ main()
privacy.md
....@@ -0,0 +1,196 @@
1
+- generic [active] [ref=e1]:
2
+ - banner "App Store Connect" [ref=e3]:
3
+ - generic [ref=e4]:
4
+ - heading "App Store Connect" [level=1] [ref=e20]:
5
+ - link "App Store Connect" [ref=e21] [cursor=pointer]:
6
+ - /url: /
7
+ - navigation "Global" [ref=e7]:
8
+ - list [ref=e23]:
9
+ - listitem [ref=e24]:
10
+ - link "Apps" [ref=e25] [cursor=pointer]:
11
+ - /url: /apps
12
+ - listitem [ref=e26]:
13
+ - link "Analytics" [ref=e27] [cursor=pointer]:
14
+ - /url: /analytics
15
+ - listitem [ref=e28]:
16
+ - link "Trends" [ref=e29] [cursor=pointer]:
17
+ - /url: /trends
18
+ - listitem [ref=e30]:
19
+ - link "Reports" [ref=e31] [cursor=pointer]:
20
+ - /url: /itc/payments_and_financial_reports
21
+ - listitem [ref=e32]:
22
+ - link "Business" [ref=e33] [cursor=pointer]:
23
+ - /url: /business
24
+ - listitem [ref=e34]:
25
+ - link "Users and Access" [ref=e35] [cursor=pointer]:
26
+ - /url: /access/users
27
+ - button "Matthias Nott Matthias Nott Account name menu" [ref=e37] [cursor=pointer]:
28
+ - generic:
29
+ - generic: Matthias Nott
30
+ - generic: Matthias Nott
31
+ - img [ref=e38]
32
+ - generic [ref=e43]:
33
+ - button "Apps menu, Glider Pilot, selected" [ref=e48] [cursor=pointer]:
34
+ - generic [ref=e49]:
35
+ - generic "Glider Pilot" [ref=e50]:
36
+ - img "Glider Pilot" [ref=e51]
37
+ - generic [ref=e52]: Glider Pilot
38
+ - img [ref=e54]
39
+ - navigation "Apps" [ref=e57]:
40
+ - list [ref=e58]:
41
+ - listitem [ref=e59]:
42
+ - link "Distribution" [ref=e60] [cursor=pointer]:
43
+ - /url: /apps/6760631689/distribution
44
+ - listitem [ref=e61]:
45
+ - link "TestFlight" [ref=e62] [cursor=pointer]:
46
+ - /url: /teams/69a6de75-2050-47e3-e053-5b8c7c11a4d1/apps/6760631689/testflight
47
+ - listitem [ref=e63]:
48
+ - link "Xcode Cloud" [ref=e64] [cursor=pointer]:
49
+ - /url: /teams/69a6de75-2050-47e3-e053-5b8c7c11a4d1/apps/6760631689/ci
50
+ - main [ref=e68]:
51
+ - generic [ref=e73]:
52
+ - navigation "Distribution" [ref=e75]:
53
+ - list [ref=e76]:
54
+ - listitem [ref=e77]:
55
+ - generic [ref=e78]:
56
+ - heading "iOS App" [level=2] [ref=e80]
57
+ - list [ref=e81]:
58
+ - listitem [ref=e82]:
59
+ - link "1.0 Prepare for Submission" [ref=e83] [cursor=pointer]:
60
+ - /url: /apps/6760631689/distribution/ios/version/inflight
61
+ - generic [ref=e84]:
62
+ - img [ref=e85]
63
+ - text: 1.0 Prepare for Submission
64
+ - button "Add Platform" [ref=e87] [cursor=pointer]
65
+ - listitem [ref=e88]:
66
+ - separator [ref=e89]
67
+ - listitem [ref=e90]:
68
+ - heading "General" [level=2] [ref=e92]
69
+ - list [ref=e93]:
70
+ - listitem [ref=e94]:
71
+ - link "App Information" [ref=e95] [cursor=pointer]:
72
+ - /url: /apps/6760631689/distribution/info
73
+ - generic [ref=e96]: App Information
74
+ - listitem [ref=e97]:
75
+ - link "App Review" [ref=e98] [cursor=pointer]:
76
+ - /url: /apps/6760631689/distribution/reviewsubmissions
77
+ - generic [ref=e99]: App Review
78
+ - listitem [ref=e100]:
79
+ - link "History" [ref=e101] [cursor=pointer]:
80
+ - /url: /apps/6760631689/distribution/activity/ios/versions
81
+ - generic [ref=e102]: History
82
+ - listitem [ref=e103]:
83
+ - separator [ref=e104]
84
+ - listitem [ref=e105]:
85
+ - heading "App Store" [level=2] [ref=e107]
86
+ - generic [ref=e108]:
87
+ - heading "Trust & Safety" [level=3] [ref=e110]
88
+ - list [ref=e111]:
89
+ - listitem [ref=e112]:
90
+ - link "App Privacy" [ref=e113] [cursor=pointer]:
91
+ - /url: /apps/6760631689/distribution/privacy
92
+ - generic [ref=e114]: App Privacy
93
+ - listitem [ref=e115]:
94
+ - link "App Accessibility" [ref=e116] [cursor=pointer]:
95
+ - /url: /apps/6760631689/distribution/accessibility
96
+ - generic [ref=e117]: App Accessibility
97
+ - listitem [ref=e118]:
98
+ - link "Ratings and Reviews" [ref=e119] [cursor=pointer]:
99
+ - /url: /apps/6760631689/distribution/ratings/ios
100
+ - generic [ref=e120]: Ratings and Reviews
101
+ - generic [ref=e121]:
102
+ - heading "Growth & Marketing" [level=3] [ref=e123]
103
+ - list [ref=e124]:
104
+ - listitem [ref=e125]:
105
+ - link "In-App Events" [ref=e126] [cursor=pointer]:
106
+ - /url: /apps/6760631689/distribution/events
107
+ - generic [ref=e127]: In-App Events
108
+ - listitem [ref=e128]:
109
+ - link "Custom Product Pages" [ref=e129] [cursor=pointer]:
110
+ - /url: /apps/6760631689/distribution/productpages
111
+ - generic [ref=e130]: Custom Product Pages
112
+ - listitem [ref=e131]:
113
+ - link "Product Page Optimization" [ref=e132] [cursor=pointer]:
114
+ - /url: /apps/6760631689/distribution/optimization
115
+ - generic [ref=e133]: Product Page Optimization
116
+ - listitem [ref=e134]:
117
+ - link "Promo Codes" [ref=e135] [cursor=pointer]:
118
+ - /url: /apps/6760631689/distribution/promo_codes/generate
119
+ - generic [ref=e136]: Promo Codes
120
+ - listitem [ref=e137]:
121
+ - link "Game Center" [ref=e138] [cursor=pointer]:
122
+ - /url: /apps/6760631689/distribution/gamecenter
123
+ - generic [ref=e139]: Game Center
124
+ - generic [ref=e140]:
125
+ - heading "Monetization" [level=3] [ref=e142]
126
+ - list [ref=e143]:
127
+ - listitem [ref=e144]:
128
+ - link "Pricing and Availability" [ref=e145] [cursor=pointer]:
129
+ - /url: /apps/6760631689/distribution/pricing
130
+ - generic [ref=e146]: Pricing and Availability
131
+ - listitem [ref=e147]:
132
+ - link "In-App Purchases" [ref=e148] [cursor=pointer]:
133
+ - /url: /apps/6760631689/distribution/iaps
134
+ - generic [ref=e149]: In-App Purchases
135
+ - listitem [ref=e150]:
136
+ - link "Subscriptions" [ref=e151] [cursor=pointer]:
137
+ - /url: /apps/6760631689/distribution/subscriptions
138
+ - generic [ref=e152]: Subscriptions
139
+ - generic [ref=e153]:
140
+ - heading "Featuring" [level=3] [ref=e155]
141
+ - list [ref=e156]:
142
+ - listitem [ref=e157]:
143
+ - link "Nominations" [ref=e158] [cursor=pointer]:
144
+ - /url: /apps/6760631689/distribution/nominations
145
+ - generic [ref=e159]: Nominations
146
+ - generic [ref=e161]:
147
+ - generic [ref=e163]:
148
+ - heading "App Privacy" [level=2] [ref=e165]
149
+ - button "Publish" [disabled] [ref=e167]
150
+ - separator [ref=e168]
151
+ - generic [ref=e169]:
152
+ - generic [ref=e170]:
153
+ - generic [ref=e171]:
154
+ - heading "Privacy Policy" [level=3] [ref=e172]
155
+ - button "Edit" [ref=e173] [cursor=pointer]
156
+ - generic [ref=e175]:
157
+ - button "English (U.S.)" [disabled] [ref=e176]
158
+ - button "?" [ref=e179] [cursor=pointer]
159
+ - generic [ref=e180]:
160
+ - generic [ref=e181]:
161
+ - generic [ref=e183]:
162
+ - generic [ref=e184]: Privacy Policy URL
163
+ - button "More information" [ref=e186] [cursor=pointer]: "?"
164
+ - paragraph [ref=e187]: –
165
+ - generic [ref=e188]:
166
+ - generic [ref=e189]:
167
+ - generic [ref=e190]: User Privacy Choices URL
168
+ - paragraph [ref=e191]: (Optional)
169
+ - button "More information" [ref=e193] [cursor=pointer]: "?"
170
+ - paragraph [ref=e194]: –
171
+ - separator [ref=e195]
172
+ - generic [ref=e197]:
173
+ - paragraph [ref=e198]:
174
+ - generic [ref=e199]:
175
+ - paragraph [ref=e200]: The App Store is designed to be a safe and trusted place for people to discover apps from talented developers just like you. Your app can influence culture and change lives, so that's why we're counting on you to help us protect users' privacy.
176
+ - paragraph [ref=e201]: After clicking Get Started, you'll be asked to provide some information about your app's data collection practices. This information will appear on your app's product page, where users can see what data your app collects and how it's used.
177
+ - button "Get Started" [ref=e203] [cursor=pointer]
178
+ - contentinfo [ref=e10]:
179
+ - generic [ref=e11]:
180
+ - list [ref=e204]:
181
+ - listitem [ref=e205]:
182
+ - link "App Store Connect" [ref=e206] [cursor=pointer]:
183
+ - /url: /apps
184
+ - list [ref=e12]:
185
+ - listitem [ref=e13]: Copyright © 2026 Apple Inc. All rights reserved. |
186
+ - listitem [ref=e14]:
187
+ - link "Terms of Service" [ref=e15] [cursor=pointer]:
188
+ - /url: /WebObjects/iTunesConnect.woa/wa/termsOfService
189
+ - text: "|"
190
+ - listitem [ref=e16]:
191
+ - link "Privacy Policy" [ref=e17] [cursor=pointer]:
192
+ - /url: https://www.apple.com/legal/privacy
193
+ - text: "|"
194
+ - listitem [ref=e18]:
195
+ - link "Contact Us" [ref=e19] [cursor=pointer]:
196
+ - /url: /contact-us
screenshots/IMG_0737.PNG
Binary files differ
screenshots/IMG_0738.PNG
Binary files differ
screenshots/IMG_0739.PNG
Binary files differ
screenshots/IMG_0740.PNG
Binary files differ
screenshots/IMG_0741.PNG
Binary files differ
screenshots/IMG_0742.PNG
Binary files differ
screenshots/IMG_0743.PNG
Binary files differ
screenshots/ipad/ipad_home.png
Binary files differ
tasks/PRD-Glidr.md
....@@ -0,0 +1,1182 @@
1
+# PRD: Glidr — SPL Exam Preparation App
2
+
3
+**Version:** 1.0
4
+**Date:** 2026-03-15
5
+**Status:** Ready for Implementation
6
+**Author:** Atlas (Principal Software Architect)
7
+
8
+---
9
+
10
+## 1. Executive Summary
11
+
12
+### 1.1 Product Overview
13
+
14
+Glidr is a mobile flashcard and spaced repetition app designed to help glider pilots prepare for the EASA Sailplane Pilot License (SPL) theoretical knowledge exam. The app covers all 9 exam subjects, uses the SuperMemo SM-2 spaced repetition algorithm to optimize long-term retention, and includes a cram mode for last-minute exam preparation.
15
+
16
+The app is sold as a one-time purchase (~$49.99) on the App Store and Google Play. Content (questions, answers, explanations) is served from a remote API at tekmidian.com and cached locally, enabling question corrections and updates without app re-releases.
17
+
18
+### 1.2 Target Users
19
+
20
+- Primary: German/Swiss/European glider pilot students preparing for SPL theoretical exam
21
+- Secondary: Existing pilots refreshing knowledge or preparing for recurrency checks
22
+- Language: English and French (bilingual, selectable in-app)
23
+
24
+### 1.3 Success Metrics
25
+
26
+- App Store rating >= 4.5 stars
27
+- >= 80% of purchased users complete at least one full subject review cycle
28
+- Content update delivery: corrections visible to users within 24 hours of server update
29
+- Exam pass rate correlation: users who complete >= 3 full cycles pass exam at >= 90%
30
+
31
+### 1.4 Timeline Estimate
32
+
33
+| Phase | Duration | Deliverable |
34
+|-------|----------|-------------|
35
+| Phase 1: Foundation | 3 weeks | App shell, DB schema, content download, question display |
36
+| Phase 2: Learning Engine | 2 weeks | SM-2 implementation, review queue, self-assessment |
37
+| Phase 3: Cram Mode | 1 week | Cram mode, session stats |
38
+| Phase 4: Purchase + Polish | 2 weeks | IAP, onboarding, UI polish, accessibility |
39
+| Phase 5: Backend | 1 week | Server setup, API, manifest system |
40
+| Phase 6: Testing + Release | 2 weeks | QA, beta, App Store submission |
41
+| **Total** | **~11 weeks** | |
42
+
43
+---
44
+
45
+## 2. Product Requirements
46
+
47
+### 2.1 Functional Requirements
48
+
49
+#### FR-01: Content Display
50
+- Display multiple choice questions with 4 answer options (A, B, C, D)
51
+- Show question text in selected language (English or French)
52
+- Support embedded figures (PNG and SVG) within questions
53
+- Figures must be zoomable via pinch gesture and double-tap
54
+- Display correct answer and explanation after user selects an answer
55
+- Explanation collapses/expands on tap
56
+
57
+#### FR-02: Subject Navigation
58
+- List all 9 subjects on home screen with progress indicators
59
+- Each subject shows: total cards, due today, learned cards, new cards
60
+- Tap subject to begin study session
61
+
62
+#### FR-03: Spaced Repetition Mode
63
+- Implement SuperMemo SM-2 algorithm exactly as specified
64
+- Present cards due today in review sessions
65
+- After revealing answer, user rates recall using 4-button self-assessment: Again / Hard / Good / Easy
66
+- SM-2 state (n, EF, interval) updated immediately after each rating
67
+- Session ends when all due cards have been reviewed
68
+- Show session summary: cards reviewed, correct count, next due date
69
+
70
+#### FR-04: Cram Mode
71
+- Accessible from each subject screen
72
+- Shows ALL cards in a subject (ignoring SM-2 schedule)
73
+- User answers, then sees correct answer + explanation
74
+- No self-assessment rating in cram mode
75
+- Cram progress does not modify SM-2 state
76
+- Session score shown at end (X/Y correct)
77
+
78
+#### FR-05: Content Updates
79
+- On each app launch: check remote manifest for content version changes
80
+- If new version available: download updated subject JSON in background
81
+- Update local SQLite database with new/changed questions
82
+- Show user notification when update is available and downloaded
83
+- Full offline operation after initial download
84
+
85
+#### FR-06: Purchase / Unlock
86
+- Free tier: first 10 questions of each subject are accessible without purchase
87
+- Paid tier: one-time purchase unlocks all 9 subjects fully
88
+- Restore Purchases button in Settings
89
+- Purchase state persisted in flutter_secure_storage
90
+
91
+#### FR-07: Language Selection
92
+- Language toggle (EN / FR) accessible from Settings and from subject screen
93
+- Switching language immediately updates all displayed content
94
+- Language preference persisted across app sessions
95
+
96
+#### FR-08: Progress and Statistics
97
+- Per-subject statistics: total, new, learning, review, mature (interval > 21 days)
98
+- Overall retention rate (correct / total reviews)
99
+- Study streak counter (consecutive days with at least 1 review)
100
+- Estimated exam readiness per subject (percentage of cards with EF >= 2.0 and interval >= 7)
101
+
102
+#### FR-09: Settings
103
+- Language selection (EN / FR)
104
+- New cards per day per subject (1-20, default 5)
105
+- Review reminder notification (optional, time picker)
106
+- Restore purchases
107
+- App version + build number
108
+
109
+### 2.2 Non-Functional Requirements
110
+
111
+#### NFR-01: Performance
112
+- App launch to home screen: < 1.5 seconds (cold start)
113
+- Question display including image: < 300ms
114
+- SM-2 state save after rating: < 50ms
115
+- Content manifest check: non-blocking (background thread)
116
+
117
+#### NFR-02: Offline Support
118
+- Full functionality after initial content download (no network required)
119
+- Initial download required only once; graceful offline handling after
120
+
121
+#### NFR-03: Platform Support
122
+- iOS 16.0+ (primary)
123
+- Android 10+ (API level 29+) (secondary, same codebase)
124
+- Tested on iPhone 13/14/15 (primary); Pixel 6/7 and Samsung Galaxy S21/S22 (Android)
125
+
126
+#### NFR-04: Accessibility
127
+- Dynamic Type support (text scales with system font size)
128
+- VoiceOver / TalkBack support for all interactive elements
129
+- Minimum tap target size: 44x44pt
130
+
131
+#### NFR-05: Data Privacy
132
+- No user accounts, no personal data collected
133
+- No analytics in v1 (add opt-in analytics in v2)
134
+- Purchase state stored locally only
135
+- GDPR-compliant: no EU data transfer
136
+
137
+---
138
+
139
+## 3. System Architecture
140
+
141
+### 3.1 High-Level Architecture
142
+
143
+```
144
+┌─────────────────────────────────────────────────┐
145
+│ GLIDR iOS/Android App │
146
+│ │
147
+│ ┌──────────────┐ ┌───────────────────────┐ │
148
+│ │ Flutter UI │ │ Business Logic │ │
149
+│ │ (Widgets) │◄──►│ (Riverpod Providers) │ │
150
+│ └──────────────┘ └───────────┬───────────┘ │
151
+│ │ │
152
+│ ┌───────────────────────────────▼─────────────┐ │
153
+│ │ Repository Layer (Drift ORM) │ │
154
+│ └───────────────────────────────┬─────────────┘ │
155
+│ │ │
156
+│ ┌───────────────┐ ┌────────────▼──────────────┐ │
157
+│ │ Secure Storage│ │ SQLite Database (Drift) │ │
158
+│ │ (flutter_ │ │ questions, progress, │ │
159
+│ │ secure_ │ │ sessions, settings │ │
160
+│ │ storage) │ └───────────────────────────┘ │
161
+│ └───────────────┘ │
162
+│ │
163
+│ ┌──────────────────────────────────────────────┐ │
164
+│ │ Content Sync Service (Dio HTTP) │ │
165
+│ └──────────────────┬───────────────────────────┘ │
166
+└─────────────────────│───────────────────────────┘
167
+ │ HTTPS + X-Glidr-Key header
168
+ ▼
169
+┌─────────────────────────────────────────────────┐
170
+│ tekmidian.com/glidr/api/v1/ │
171
+│ │
172
+│ manifest.json Apache/PHP auth layer │
173
+│ subjects/air_law.json Rate limiting │
174
+│ subjects/meteo.json Static file serving │
175
+│ figures/*.png HTTPS (Let's Encrypt) │
176
+│ figures/*.svg │
177
+└─────────────────────────────────────────────────┘
178
+```
179
+
180
+### 3.2 Flutter App Layer Architecture
181
+
182
+```
183
+lib/
184
+├── main.dart
185
+├── app.dart # MaterialApp, routing, theme
186
+├── core/
187
+│ ├── constants.dart # API base URL, API key (from --dart-define)
188
+│ ├── router.dart # go_router route definitions
189
+│ └── theme.dart # Color scheme, typography
190
+├── data/
191
+│ ├── database/
192
+│ │ ├── database.dart # Drift database definition
193
+│ │ ├── tables/ # Drift table definitions
194
+│ │ └── daos/ # Data access objects per domain
195
+│ ├── models/ # Freezed immutable data classes
196
+│ │ ├── question.dart
197
+│ │ ├── card_progress.dart
198
+│ │ ├── study_session.dart
199
+│ │ └── subject.dart
200
+│ ├── repositories/ # Repository interfaces + implementations
201
+│ │ ├── question_repository.dart
202
+│ │ ├── progress_repository.dart
203
+│ │ └── content_sync_repository.dart
204
+│ └── api/
205
+│ ├── glidr_api_client.dart # Dio client with auth interceptor
206
+│ └── models/ # API response models
207
+├── domain/
208
+│ └── sm2/
209
+│ ├── sm2_algorithm.dart # Pure SM-2 calculation functions
210
+│ └── review_scheduler.dart # Queue building logic
211
+├── presentation/
212
+│ ├── home/
213
+│ │ ├── home_screen.dart
214
+│ │ └── home_provider.dart
215
+│ ├── study/
216
+│ │ ├── study_screen.dart # SM-2 review session
217
+│ │ ├── study_provider.dart
218
+│ │ └── widgets/
219
+│ │ ├── question_card.dart
220
+│ │ ├── answer_options.dart
221
+│ │ ├── rating_buttons.dart
222
+│ │ └── figure_viewer.dart # photo_view zoomable image
223
+│ ├── cram/
224
+│ │ ├── cram_screen.dart
225
+│ │ └── cram_provider.dart
226
+│ ├── subject_detail/
227
+│ │ ├── subject_detail_screen.dart
228
+│ │ └── subject_detail_provider.dart
229
+│ ├── stats/
230
+│ │ ├── stats_screen.dart
231
+│ │ └── stats_provider.dart
232
+│ └── settings/
233
+│ ├── settings_screen.dart
234
+│ └── settings_provider.dart
235
+└── l10n/
236
+ ├── app_en.arb
237
+ └── app_fr.arb
238
+```
239
+
240
+---
241
+
242
+## 4. Data Models
243
+
244
+### 4.1 Question JSON Format (Remote API)
245
+
246
+Each subject is served as a single JSON file. Example structure:
247
+
248
+```json
249
+{
250
+ "subject_id": "air_law",
251
+ "subject_code": "01",
252
+ "name": {
253
+ "en": "Air Law",
254
+ "fr": "Droit aérien"
255
+ },
256
+ "version": "1.0.0",
257
+ "updated_at": "2026-03-15T00:00:00Z",
258
+ "questions": [
259
+ {
260
+ "id": "air_law_q1",
261
+ "number": 1,
262
+ "text": {
263
+ "en": "The holder of an SPL license or LAPL(S) license completed a total of 9 winch launches, 4 launches in aero-tow and 2 bungee launches during the last 24 months. What launch methods may the pilot conduct as PIC today?",
264
+ "fr": "Le titulaire d'une licence SPL ou LAPL(S) a effectué au total 9 lancements au treuil, 4 lancements en remorqué et 2 lancements au sandow au cours des 24 derniers mois. Quelles méthodes de lancement le pilote peut-il effectuer en tant que commandant de bord aujourd'hui?"
265
+ },
266
+ "options": {
267
+ "en": {
268
+ "A": "Winch and bungee.",
269
+ "B": "Winch, bungee and aero-tow.",
270
+ "C": "Winch and aero-tow.",
271
+ "D": "Aero-tow and bungee."
272
+ },
273
+ "fr": {
274
+ "A": "Treuil et sandow.",
275
+ "B": "Treuil, sandow et remorqué.",
276
+ "C": "Treuil et remorqué.",
277
+ "D": "Remorqué et sandow."
278
+ }
279
+ },
280
+ "correct": "A",
281
+ "explanation": {
282
+ "en": "Under Part-SFCL (SFCL.010 and SFCL.160), a pilot must have completed at least 5 launches using a specific launch method within the preceding 24 months...",
283
+ "fr": "Selon la Part-SFCL (SFCL.010 et SFCL.160), un pilote doit avoir effectué au moins 5 lancements en utilisant une méthode de lancement spécifique au cours des 24 mois précédents..."
284
+ },
285
+ "figures": []
286
+ },
287
+ {
288
+ "id": "pfp_q14",
289
+ "number": 14,
290
+ "text": {
291
+ "en": "What is the maximum payload according to the loading table?",
292
+ "fr": "Quelle est la charge utile maximale selon le tableau de chargement?"
293
+ },
294
+ "options": {
295
+ "en": { "A": "580 kg", "B": "450 kg", "C": "525 kg", "D": "600 kg" },
296
+ "fr": { "A": "580 kg", "B": "450 kg", "C": "525 kg", "D": "600 kg" }
297
+ },
298
+ "correct": "B",
299
+ "explanation": {
300
+ "en": "According to the Discus loading table shown...",
301
+ "fr": "Selon le tableau de chargement du Discus affiché..."
302
+ },
303
+ "figures": [
304
+ {
305
+ "filename": "bazl_30_q14_discus_loading_table.png",
306
+ "type": "png",
307
+ "alt_en": "Discus aircraft loading table",
308
+ "alt_fr": "Tableau de chargement de l'aéronef Discus",
309
+ "position": "question"
310
+ }
311
+ ]
312
+ }
313
+ ]
314
+}
315
+```
316
+
317
+### 4.2 Manifest JSON Format
318
+
319
+```json
320
+{
321
+ "api_version": "1",
322
+ "manifest_version": "1.0.0",
323
+ "updated_at": "2026-03-15T00:00:00Z",
324
+ "subjects": {
325
+ "air_law": { "version": "1.0.0", "sha256": "abc...", "question_count": 110, "size_bytes": 85000 },
326
+ "aircraft_general_knowledge": { "version": "1.0.0", "sha256": "def...", "question_count": 110, "size_bytes": 92000 },
327
+ "communications": { "version": "1.0.0", "sha256": "ghi...", "question_count": 90, "size_bytes": 71000 },
328
+ "flight_performance": { "version": "1.0.0", "sha256": "jkl...", "question_count": 90, "size_bytes": 68000 },
329
+ "human_performance": { "version": "1.0.0", "sha256": "mno...", "question_count": 110, "size_bytes": 83000 },
330
+ "meteorology": { "version": "1.0.0", "sha256": "pqr...", "question_count": 110, "size_bytes": 88000 },
331
+ "navigation": { "version": "1.0.0", "sha256": "stu...", "question_count": 141, "size_bytes": 115000 },
332
+ "operational_procedures": { "version": "1.0.0", "sha256": "vwx...", "question_count": 110, "size_bytes": 84000 },
333
+ "principles_of_flight": { "version": "1.0.0", "sha256": "yza...", "question_count": 110, "size_bytes": 86000 }
334
+ }
335
+}
336
+```
337
+
338
+### 4.3 SQLite Database Schema (Drift)
339
+
340
+```sql
341
+-- Questions table (populated from downloaded JSON)
342
+CREATE TABLE questions (
343
+ id TEXT NOT NULL PRIMARY KEY,
344
+ subject_id TEXT NOT NULL,
345
+ number INTEGER NOT NULL,
346
+ text_en TEXT NOT NULL,
347
+ text_fr TEXT NOT NULL,
348
+ options_en TEXT NOT NULL, -- JSON string: {"A":"...","B":"...","C":"...","D":"..."}
349
+ options_fr TEXT NOT NULL,
350
+ correct TEXT NOT NULL, -- "A" | "B" | "C" | "D"
351
+ explanation_en TEXT NOT NULL,
352
+ explanation_fr TEXT NOT NULL,
353
+ figures TEXT NOT NULL -- JSON array string (empty "[]" if no figures)
354
+);
355
+
356
+-- SM-2 progress per card
357
+CREATE TABLE card_progress (
358
+ question_id TEXT NOT NULL PRIMARY KEY,
359
+ repetition_number INTEGER NOT NULL DEFAULT 0,
360
+ easiness_factor REAL NOT NULL DEFAULT 2.5,
361
+ interval_days INTEGER NOT NULL DEFAULT 1,
362
+ next_review_date TEXT, -- "YYYY-MM-DD", NULL = new (never reviewed)
363
+ last_review_date TEXT, -- "YYYY-MM-DD"
364
+ total_reviews INTEGER NOT NULL DEFAULT 0,
365
+ correct_reviews INTEGER NOT NULL DEFAULT 0,
366
+ created_at TEXT NOT NULL,
367
+ updated_at TEXT NOT NULL,
368
+ FOREIGN KEY (question_id) REFERENCES questions(id)
369
+);
370
+
371
+-- Study sessions
372
+CREATE TABLE study_sessions (
373
+ id TEXT NOT NULL PRIMARY KEY, -- UUID
374
+ started_at TEXT NOT NULL, -- ISO 8601
375
+ ended_at TEXT,
376
+ mode TEXT NOT NULL, -- "spaced_repetition" | "cram"
377
+ subject_id TEXT, -- NULL = mixed
378
+ cards_reviewed INTEGER NOT NULL DEFAULT 0,
379
+ cards_correct INTEGER NOT NULL DEFAULT 0
380
+);
381
+
382
+-- Individual review events
383
+CREATE TABLE review_log (
384
+ id TEXT NOT NULL PRIMARY KEY, -- UUID
385
+ session_id TEXT NOT NULL,
386
+ question_id TEXT NOT NULL,
387
+ reviewed_at TEXT NOT NULL, -- ISO 8601
388
+ quality INTEGER NOT NULL, -- 0-5 (SM-2 grade) or -1 for cram
389
+ time_to_answer_ms INTEGER,
390
+ was_cram INTEGER NOT NULL DEFAULT 0,
391
+ FOREIGN KEY (session_id) REFERENCES study_sessions(id),
392
+ FOREIGN KEY (question_id) REFERENCES questions(id)
393
+);
394
+
395
+-- Content version tracking
396
+CREATE TABLE content_manifest (
397
+ subject_id TEXT NOT NULL PRIMARY KEY,
398
+ version TEXT NOT NULL,
399
+ sha256 TEXT NOT NULL,
400
+ downloaded_at TEXT NOT NULL,
401
+ question_count INTEGER NOT NULL
402
+);
403
+
404
+-- App settings (key-value)
405
+CREATE TABLE settings (
406
+ key TEXT NOT NULL PRIMARY KEY,
407
+ value TEXT NOT NULL
408
+);
409
+-- Default settings:
410
+-- language: "en"
411
+-- new_cards_per_day: "5"
412
+-- reminder_enabled: "false"
413
+-- reminder_time: "19:00"
414
+-- is_unlocked: "false"
415
+-- onboarding_complete: "false"
416
+```
417
+
418
+---
419
+
420
+## 5. Learning Algorithm: SM-2 Implementation
421
+
422
+### 5.1 Core Algorithm
423
+
424
+```dart
425
+// lib/domain/sm2/sm2_algorithm.dart
426
+
427
+class SM2Result {
428
+ final int repetitionNumber;
429
+ final double easinessFactor;
430
+ final int intervalDays;
431
+ final DateTime nextReviewDate;
432
+
433
+ const SM2Result({
434
+ required this.repetitionNumber,
435
+ required this.easinessFactor,
436
+ required this.intervalDays,
437
+ required this.nextReviewDate,
438
+ });
439
+}
440
+
441
+/// Grade 0: complete blackout
442
+/// Grade 1: incorrect, remembered on seeing answer
443
+/// Grade 2: incorrect, correct seemed easy after
444
+/// Grade 3: correct with serious difficulty
445
+/// Grade 4: correct after hesitation
446
+/// Grade 5: perfect response
447
+SM2Result computeNextInterval({
448
+ required int currentRepetitionNumber, // n
449
+ required double currentEasinessFactor, // EF
450
+ required int currentIntervalDays, // I
451
+ required int quality, // 0-5
452
+}) {
453
+ assert(quality >= 0 && quality <= 5);
454
+
455
+ int n = currentRepetitionNumber;
456
+ double ef = currentEasinessFactor;
457
+ int interval = currentIntervalDays;
458
+
459
+ if (quality < 3) {
460
+ // Failed review: restart interval sequence, keep EF
461
+ n = 0;
462
+ interval = 1;
463
+ } else {
464
+ // Successful review: advance interval
465
+ switch (n) {
466
+ case 0:
467
+ interval = 1;
468
+ case 1:
469
+ interval = 6;
470
+ default:
471
+ interval = (interval * ef).ceil();
472
+ }
473
+ n += 1;
474
+ }
475
+
476
+ // Update EF (clamp to minimum 1.3)
477
+ ef = ef + (0.1 - (5 - quality) * (0.08 + (5 - quality) * 0.02));
478
+ ef = ef.clamp(1.3, double.infinity);
479
+
480
+ final nextDate = DateTime.now().add(Duration(days: interval));
481
+
482
+ return SM2Result(
483
+ repetitionNumber: n,
484
+ easinessFactor: ef,
485
+ intervalDays: interval,
486
+ nextReviewDate: DateTime(nextDate.year, nextDate.month, nextDate.day),
487
+ );
488
+}
489
+```
490
+
491
+### 5.2 Quality Grade Mapping (4-Button UI)
492
+
493
+The app presents 4 buttons (Anki-style simplification of SM-2's 0-5 scale):
494
+
495
+| Button | Color | SM-2 Grade | Effect |
496
+|--------|-------|-----------|--------|
497
+| Again | Red | 1 | Reset interval to 1 day, EF -0.54 |
498
+| Hard | Orange | 3 | EF -0.14, interval advances slowly |
499
+| Good | Green | 4 | EF unchanged, interval advances normally |
500
+| Easy | Blue | 5 | EF +0.10, interval advances faster |
501
+
502
+### 5.3 Daily Review Queue
503
+
504
+```dart
505
+// lib/domain/sm2/review_scheduler.dart
506
+
507
+Future<List<Question>> buildDailyQueue({
508
+ required String? subjectId, // null = all subjects
509
+ required int maxNewCards,
510
+}) async {
511
+ final today = DateTime.now();
512
+ final todayStr = '${today.year}-${today.month.toString().padLeft(2,'0')}-${today.day.toString().padLeft(2,'0')}';
513
+
514
+ // 1. Due cards (have been reviewed before, scheduled for today or earlier)
515
+ final dueCards = await _progressDao.getDueCards(
516
+ subjectId: subjectId,
517
+ asOf: todayStr,
518
+ );
519
+
520
+ // 2. New cards (never reviewed, next_review_date IS NULL)
521
+ final newCards = await _progressDao.getNewCards(
522
+ subjectId: subjectId,
523
+ limit: maxNewCards,
524
+ );
525
+
526
+ // Shuffle each group independently, then concatenate: due first, then new
527
+ dueCards.shuffle();
528
+ newCards.shuffle();
529
+
530
+ return [...dueCards, ...newCards];
531
+}
532
+```
533
+
534
+### 5.4 Cram Mode
535
+
536
+```dart
537
+Future<List<Question>> buildCramQueue({
538
+ required String subjectId,
539
+ required bool shuffled,
540
+}) async {
541
+ final questions = await _questionDao.getAllForSubject(subjectId);
542
+ if (shuffled) questions.shuffle();
543
+ return questions;
544
+}
545
+
546
+// Cram review recording — does NOT update card_progress SM-2 state
547
+Future<void> recordCramReview({
548
+ required String sessionId,
549
+ required String questionId,
550
+ required bool wasCorrect,
551
+}) async {
552
+ await _reviewLogDao.insert(ReviewLogEntry(
553
+ id: const Uuid().v4(),
554
+ sessionId: sessionId,
555
+ questionId: questionId,
556
+ reviewedAt: DateTime.now().toIso8601String(),
557
+ quality: wasCorrect ? 4 : 1, // approximate mapping for stats
558
+ wasCram: true,
559
+ ));
560
+ // card_progress is intentionally NOT updated
561
+}
562
+```
563
+
564
+---
565
+
566
+## 6. API Design
567
+
568
+### 6.1 Base Configuration
569
+
570
+```
571
+Base URL: https://tekmidian.com/glidr/api/v1
572
+Auth Header: X-Glidr-Key: {compile-time-injected-secret}
573
+Content-Type: application/json
574
+```
575
+
576
+### 6.2 Endpoints
577
+
578
+#### GET /manifest.json
579
+Returns the current version hash for all subjects. Used to detect if local content needs updating.
580
+
581
+Response:
582
+```json
583
+{
584
+ "api_version": "1",
585
+ "manifest_version": "1.2.0",
586
+ "updated_at": "2026-03-15T00:00:00Z",
587
+ "subjects": {
588
+ "air_law": { "version": "1.2.0", "sha256": "abc123...", "question_count": 110, "size_bytes": 85000 },
589
+ ...
590
+ }
591
+}
592
+```
593
+
594
+#### GET /subjects/{subject_id}.json
595
+Returns full question set for a subject. Only called when local hash differs from manifest.
596
+
597
+Path parameters:
598
+- `subject_id`: one of `air_law`, `aircraft_general_knowledge`, `communications`, `flight_performance`, `human_performance`, `meteorology`, `navigation`, `operational_procedures`, `principles_of_flight`
599
+
600
+Response: Full subject JSON as described in Section 4.1.
601
+
602
+#### GET /figures/{filename}
603
+Serves a figure file (PNG or SVG). Called only if figures are NOT bundled with the app.
604
+
605
+Note: For v1, all figures are bundled as Flutter assets. This endpoint is a fallback for future use or figure-only updates.
606
+
607
+### 6.3 Error Handling
608
+
609
+| HTTP Status | Meaning | App Behavior |
610
+|------------|---------|-------------|
611
+| 200 | Success | Process response |
612
+| 304 | Not Modified (future: ETag support) | Use cached content |
613
+| 403 | Invalid API key | Log error silently, use cached content |
614
+| 404 | Subject not found | Log error, skip that subject update |
615
+| 429 | Rate limited | Retry after 60 seconds |
616
+| 500 | Server error | Use cached content, retry next launch |
617
+
618
+All errors are non-fatal: the app always falls back to cached local content.
619
+
620
+### 6.4 Content Sync Flow
621
+
622
+```
623
+App Launch
624
+ │
625
+ ├── Is local content available?
626
+ │ NO → Show "Downloading content..." screen
627
+ │ Download all 9 subjects + figures sequentially
628
+ │ Show progress bar
629
+ │ On complete → proceed to Home
630
+ │
631
+ │ YES → Proceed to Home immediately
632
+ │ Background: check manifest
633
+ │ │
634
+ │ ├── Hash differs for any subject?
635
+ │ │ YES → Download updated subject JSON
636
+ │ │ Update SQLite questions table
637
+ │ │ Show subtle "Content updated" banner
638
+ │ │
639
+ │ └── No changes → do nothing
640
+ │
641
+ └── Home Screen
642
+```
643
+
644
+---
645
+
646
+## 7. UI Flows and Screens
647
+
648
+### 7.1 Screen Inventory
649
+
650
+| Screen | Route | Purpose |
651
+|--------|-------|---------|
652
+| Splash | `/` | App init, content check, auth check |
653
+| Onboarding | `/onboarding` | First-run: explain app, prompt purchase or free trial |
654
+| Home | `/home` | Subject list with progress indicators |
655
+| Subject Detail | `/subject/:id` | Subject overview, start study/cram |
656
+| Study Session | `/study/:id` | SM-2 review session |
657
+| Cram Session | `/cram/:id` | Cram mode session |
658
+| Session Complete | `/session-complete` | Post-session summary |
659
+| Statistics | `/stats` | Overall and per-subject stats |
660
+| Settings | `/settings` | Language, IAP, preferences |
661
+| Paywall | `/paywall` | Purchase screen for locked content |
662
+
663
+### 7.2 Home Screen Layout
664
+
665
+```
666
+┌─────────────────────────────┐
667
+│ Glidr [Stats] [⚙]│
668
+├─────────────────────────────┤
669
+│ Good morning! │
670
+│ Review streak: 🔥 7 days │
671
+│ │
672
+│ Due today: 23 cards │
673
+│ [Start All Reviews] │
674
+├─────────────────────────────┤
675
+│ Subjects │
676
+│ │
677
+│ 01 Air Law ■■■□□ │
678
+│ Due: 3 · New: 5 │
679
+│ │
680
+│ 02 Aircraft General ■■□□□ │
681
+│ Due: 7 · New: 5 │
682
+│ │
683
+│ 03 Communications ■□□□□ │
684
+│ Due: 0 · New: 5 │
685
+│ │
686
+│ ... (scrollable list) │
687
+└─────────────────────────────┘
688
+```
689
+
690
+### 7.3 Study Session Flow
691
+
692
+```
693
+1. Question Screen
694
+ ┌─────────────────────────────┐
695
+ │ Air Law Q23 of 34 │
696
+ │ Progress bar ████░░░░░░ │
697
+ ├─────────────────────────────┤
698
+ │ │
699
+ │ Question text here... │
700
+ │ │
701
+ │ [Figure if present, │
702
+ │ pinch to zoom] │
703
+ │ │
704
+ ├─────────────────────────────┤
705
+ │ ○ A) Option text │
706
+ │ ○ B) Option text │
707
+ │ ○ C) Option text │
708
+ │ ○ D) Option text │
709
+ └─────────────────────────────┘
710
+
711
+2. Answer Revealed Screen (after tapping an option)
712
+ ┌─────────────────────────────┐
713
+ │ Air Law Q23 of 34 │
714
+ ├─────────────────────────────┤
715
+ │ │
716
+ │ Question text... │
717
+ │ │
718
+ ├─────────────────────────────┤
719
+ │ ○ A) Option ← Wrong │
720
+ │ ✓ B) Option ← CORRECT │
721
+ │ ○ C) Option │
722
+ │ ○ D) Option │
723
+ ├─────────────────────────────┤
724
+ │ > Explanation (tap to │
725
+ │ expand) │
726
+ │ Under Part-SFCL... │
727
+ ├─────────────────────────────┤
728
+ │ How well did you know it? │
729
+ │ [Again] [Hard] [Good][Easy]│
730
+ └─────────────────────────────┘
731
+
732
+3. Session Complete Screen
733
+ ┌─────────────────────────────┐
734
+ │ Session Complete! │
735
+ │ │
736
+ │ Reviewed: 23 cards │
737
+ │ Correct: 18 (78%) │
738
+ │ Next review: Tomorrow │
739
+ │ │
740
+ │ [Back to Home] │
741
+ └─────────────────────────────┘
742
+```
743
+
744
+### 7.4 Cram Mode Flow
745
+
746
+```
747
+1. Subject screen → [Cram Mode] button
748
+2. Cram session: question → tap to reveal → correct/incorrect tap
749
+3. No self-rating buttons (just "Next" arrow)
750
+4. Session end: score summary (X/Y)
751
+```
752
+
753
+### 7.5 Figure Viewer
754
+
755
+When a question includes a figure:
756
+- Figure displayed inline in the question card
757
+- `photo_view` widget wraps the image
758
+- Pinch-to-zoom with min/max scale (0.5x - 5.0x)
759
+- Double-tap resets to fit
760
+- Single-tap on figure expands to full-screen overlay
761
+- Full-screen overlay: same zoom behavior + close button (X)
762
+
763
+---
764
+
765
+## 8. Technology Stack
766
+
767
+### 8.1 Dependencies (pubspec.yaml)
768
+
769
+```yaml
770
+dependencies:
771
+ flutter:
772
+ sdk: flutter
773
+
774
+ # State management
775
+ flutter_riverpod: ^2.5.0
776
+ riverpod_annotation: ^2.3.0
777
+
778
+ # Database
779
+ drift: ^2.18.0
780
+ sqlite3_flutter_libs: ^0.5.0
781
+ path_provider: ^2.1.0
782
+ path: ^1.9.0
783
+
784
+ # HTTP
785
+ dio: ^5.4.0
786
+
787
+ # Immutable data models
788
+ freezed_annotation: ^2.4.0
789
+ json_annotation: ^4.9.0
790
+
791
+ # Image zoom
792
+ photo_view: ^0.15.0
793
+
794
+ # In-app purchase
795
+ in_app_purchase: ^3.1.0
796
+
797
+ # Secure storage (API key, purchase state)
798
+ flutter_secure_storage: ^9.0.0
799
+
800
+ # Navigation
801
+ go_router: ^13.0.0
802
+
803
+ # UUID generation
804
+ uuid: ^4.4.0
805
+
806
+ # Crypto (SHA-256 for manifest verification)
807
+ crypto: ^3.0.0
808
+
809
+ # SVG rendering
810
+ flutter_svg: ^2.0.0
811
+
812
+ # Internationalization
813
+ flutter_localizations:
814
+ sdk: flutter
815
+ intl: ^0.19.0
816
+
817
+dev_dependencies:
818
+ flutter_test:
819
+ sdk: flutter
820
+ drift_dev: ^2.18.0
821
+ riverpod_generator: ^2.3.0
822
+ build_runner: ^2.4.0
823
+ freezed: ^2.4.0
824
+ json_serializable: ^6.7.0
825
+ flutter_lints: ^4.0.0
826
+```
827
+
828
+### 8.2 Flutter Configuration
829
+
830
+```
831
+flutter:
832
+ assets:
833
+ - assets/figures/ # All 58 figure files (PNG + SVG)
834
+ - assets/fonts/ # Custom fonts if used
835
+
836
+ generate: true # Enable l10n generation
837
+```
838
+
839
+Build-time injection of API key (never in source):
840
+```bash
841
+flutter build ios --dart-define=GLIDR_API_KEY=your_secret_here
842
+flutter build appbundle --dart-define=GLIDR_API_KEY=your_secret_here
843
+```
844
+
845
+---
846
+
847
+## 9. Backend Setup (tekmidian.com)
848
+
849
+### 9.1 Directory Structure
850
+
851
+```
852
+/var/www/tekmidian.com/public_html/glidr/
853
+├── api/
854
+│ └── v1/
855
+│ ├── .htaccess # Auth + CORS headers
856
+│ ├── manifest.json # Regenerated on each content update
857
+│ ├── subjects/
858
+│ │ ├── air_law.json
859
+│ │ ├── aircraft_general_knowledge.json
860
+│ │ ├── communications.json
861
+│ │ ├── flight_performance.json
862
+│ │ ├── human_performance.json
863
+│ │ ├── meteorology.json
864
+│ │ ├── navigation.json
865
+│ │ ├── operational_procedures.json
866
+│ │ └── principles_of_flight.json
867
+│ └── figures/
868
+│ ├── *.png (50 files)
869
+│ └── *.svg (8 files)
870
+└── tools/
871
+ └── generate_manifest.php # CLI tool to regenerate manifest.json
872
+```
873
+
874
+### 9.2 .htaccess Auth Configuration
875
+
876
+```apache
877
+# /glidr/api/v1/.htaccess
878
+Options -Indexes
879
+
880
+# CORS for potential web use
881
+Header always set Access-Control-Allow-Origin "*"
882
+Header always set Access-Control-Allow-Headers "X-Glidr-Key, Content-Type"
883
+
884
+# Auth check via environment variable
885
+SetEnvIf HTTP_X_GLIDR_KEY "^your_secret_here$" GLIDR_AUTH=1
886
+Order Deny,Allow
887
+Deny from all
888
+Allow from env=GLIDR_AUTH
889
+
890
+# Better: use a PHP wrapper for auth to avoid key in .htaccess
891
+```
892
+
893
+Better approach — PHP auth wrapper:
894
+
895
+```php
896
+<?php
897
+// auth.php — included by all JSON-serving endpoints
898
+$provided_key = $_SERVER['HTTP_X_GLIDR_KEY'] ?? '';
899
+$expected_key = getenv('GLIDR_API_KEY'); // Set in Apache/server environment
900
+
901
+if (empty($expected_key) || $provided_key !== $expected_key) {
902
+ http_response_code(403);
903
+ header('Content-Type: application/json');
904
+ echo json_encode(['error' => 'Forbidden']);
905
+ exit;
906
+}
907
+```
908
+
909
+### 9.3 Content Update Workflow
910
+
911
+When questions need to be corrected or updated:
912
+
913
+1. Edit the source Markdown files (already in Obsidian vault)
914
+2. Run the conversion tool (see Section 10.4) to regenerate JSON files
915
+3. Upload new JSON files to server via SFTP/rsync
916
+4. Run `generate_manifest.php` to update version hashes
917
+5. App users receive update on next launch
918
+
919
+---
920
+
921
+## 10. Implementation Checklists
922
+
923
+### 10.1 Phase 1: Foundation (3 weeks)
924
+
925
+#### Database & Models
926
+- [ ] Set up Flutter project with all dependencies listed in Section 8.1
927
+- [ ] Create Drift database with all tables from Section 4.3
928
+- [ ] Generate Drift DAOs for questions, card_progress, review_log, settings
929
+- [ ] Create Freezed data models for Question, CardProgress, StudySession
930
+- [ ] Write unit tests for all DAOs
931
+
932
+#### Content Download
933
+- [ ] Implement Dio HTTP client with X-Glidr-Key auth interceptor
934
+- [ ] Implement manifest.json fetch and local version comparison
935
+- [ ] Implement subject JSON download with SHA-256 verification
936
+- [ ] Implement SQLite import from downloaded JSON
937
+- [ ] Implement first-run download screen with progress indicator
938
+- [ ] Implement background update check on subsequent launches
939
+
940
+#### Question Display
941
+- [ ] Implement question card widget (text + options)
942
+- [ ] Implement figure viewer widget using photo_view
943
+- [ ] Implement SVG rendering via flutter_svg
944
+- [ ] Implement answer selection with color feedback (correct/incorrect)
945
+- [ ] Implement explanation collapsible section
946
+
947
+#### App Shell
948
+- [ ] Set up go_router with all routes from Section 7.1
949
+- [ ] Implement Riverpod provider structure
950
+- [ ] Implement home screen with subject list
951
+- [ ] Implement subject detail screen
952
+- [ ] Implement bilingual content switching (EN/FR)
953
+
954
+#### Testing Checklist — Phase 1
955
+- [ ] Unit tests: JSON parsing for all 9 subjects
956
+- [ ] Unit tests: SHA-256 manifest verification
957
+- [ ] Unit tests: SQLite import idempotency (re-importing same data is safe)
958
+- [ ] Widget tests: question card displays correctly for question with figure
959
+- [ ] Widget tests: question card displays correctly for question without figure
960
+- [ ] Integration test: full download flow on fresh install
961
+- [ ] Manual test: figure zoom works on real device
962
+
963
+### 10.2 Phase 2: Learning Engine (2 weeks)
964
+
965
+#### SM-2 Algorithm
966
+- [ ] Implement `computeNextInterval()` function (Section 5.1)
967
+- [ ] Unit test all quality grades 0-5 with known expected outputs
968
+- [ ] Unit test EF clamping at 1.3 minimum
969
+- [ ] Unit test interval reset on quality < 3 (keeps EF, resets n and I)
970
+- [ ] Unit test progression: n=0→1day, n=1→6days, n=2→6*EF days
971
+
972
+#### Review Queue
973
+- [ ] Implement `buildDailyQueue()` — due cards + new cards (Section 5.3)
974
+- [ ] Implement "new cards per day" limit from settings
975
+- [ ] Implement queue shuffle
976
+- [ ] Unit test queue: due cards before new cards
977
+- [ ] Unit test queue: respects new card limit
978
+
979
+#### Study Session UI
980
+- [ ] Implement study session screen with question display
981
+- [ ] Implement progress bar (X of Y reviewed)
982
+- [ ] Implement answer tap → reveal flow
983
+- [ ] Implement 4-button rating row (Again / Hard / Good / Easy)
984
+- [ ] On rating: call `computeNextInterval()`, persist to card_progress
985
+- [ ] Log review to review_log table
986
+- [ ] Implement within-session re-show for quality < 3 cards
987
+- [ ] Implement session completion detection
988
+- [ ] Implement session summary screen
989
+
990
+#### Testing Checklist — Phase 2
991
+- [ ] Unit tests: all SM-2 branches (quality 0-5, all n values, EF edge cases)
992
+- [ ] Unit tests: daily queue respects new card limit
993
+- [ ] Integration test: complete a study session of 10 cards, verify DB state
994
+- [ ] Integration test: rating "Again" re-shows card in same session
995
+- [ ] Integration test: session completion triggers summary screen
996
+- [ ] Manual test: study 20 cards in one session, check review_log entries
997
+
998
+### 10.3 Phase 3: Cram Mode (1 week)
999
+
1000
+- [ ] Implement cram mode queue builder (all cards in subject, shuffled)
1001
+- [ ] Implement cram session screen (question → reveal → next, no rating buttons)
1002
+- [ ] Implement cram correct/incorrect tap (for session stats only)
1003
+- [ ] Verify cram reviews do NOT modify card_progress SM-2 state
1004
+- [ ] Log cram reviews to review_log with was_cram=1
1005
+- [ ] Implement cram session summary screen
1006
+
1007
+#### Testing Checklist — Phase 3
1008
+- [ ] Unit test: cram review does not modify card_progress
1009
+- [ ] Integration test: cram session records in review_log with was_cram=1
1010
+- [ ] Integration test: SM-2 state unchanged after cram session
1011
+
1012
+### 10.4 Phase 4: Purchase + Polish (2 weeks)
1013
+
1014
+#### In-App Purchase
1015
+- [ ] Create non-consumable IAP product in App Store Connect
1016
+- [ ] Create one-time product in Google Play Console
1017
+- [ ] Implement `in_app_purchase` purchase flow
1018
+- [ ] Implement "Restore Purchases" button
1019
+- [ ] Persist unlock state in flutter_secure_storage
1020
+- [ ] Implement paywall screen with subject preview (first 10 questions free)
1021
+- [ ] Gate subject access: > Q10 requires purchase
1022
+
1023
+#### Statistics Screen
1024
+- [ ] Implement per-subject stats: new / learning / review / mature counts
1025
+- [ ] Implement overall retention rate calculation
1026
+- [ ] Implement study streak counter
1027
+- [ ] Implement "exam readiness" indicator per subject
1028
+
1029
+#### Onboarding
1030
+- [ ] Implement first-run onboarding (3-4 screens: welcome, how it works, language, purchase/trial)
1031
+- [ ] Implement first-run content download trigger
1032
+
1033
+#### UI Polish
1034
+- [ ] Implement review notification (local notification at configured time)
1035
+- [ ] Implement settings screen (language, new cards/day, reminder, restore, version)
1036
+- [ ] Accessibility: VoiceOver labels on all interactive elements
1037
+- [ ] Dynamic Type: test at all font sizes
1038
+- [ ] Dark mode support
1039
+
1040
+#### Testing Checklist — Phase 4
1041
+- [ ] Manual test: purchase flow on Sandbox environment (iOS)
1042
+- [ ] Manual test: restore purchases after app delete and reinstall
1043
+- [ ] Manual test: free tier correctly limits to 10 questions per subject
1044
+- [ ] Accessibility audit: VoiceOver navigate entire study session
1045
+- [ ] Manual test: dark mode on iOS and Android
1046
+
1047
+### 10.5 Phase 5: Backend (1 week)
1048
+
1049
+- [ ] Provision `tekmidian.com/glidr/api/v1/` directory
1050
+- [ ] Set GLIDR_API_KEY server environment variable
1051
+- [ ] Write and deploy `.htaccess` auth rules
1052
+- [ ] Write Markdown-to-JSON conversion script (Python or PHP)
1053
+- [ ] Convert all 9 subject Markdown files to JSON format
1054
+- [ ] Convert French Markdown files and merge into bilingual JSON
1055
+- [ ] Copy all figures to server
1056
+- [ ] Write and run `generate_manifest.php` to create initial manifest.json
1057
+- [ ] Test all endpoints with curl (with and without API key)
1058
+- [ ] Test rate limiting (verify 429 on abuse)
1059
+- [ ] Document update workflow in a README
1060
+
1061
+#### Security Checklist — Phase 5
1062
+- [ ] HTTPS with valid SSL certificate on tekmidian.com
1063
+- [ ] API key not present in any git repository (use environment variable)
1064
+- [ ] Directory listing disabled (Options -Indexes)
1065
+- [ ] Server error pages don't expose stack traces
1066
+- [ ] Test: direct URL access without API key returns 403
1067
+
1068
+### 10.6 Phase 6: Testing + Release (2 weeks)
1069
+
1070
+- [ ] Full regression test on iPhone 13/14/15 (real devices)
1071
+- [ ] Full regression test on Android Pixel 6/7 and Samsung Galaxy S21
1072
+- [ ] TestFlight beta (iOS): 5-10 beta testers
1073
+- [ ] Beta feedback incorporated
1074
+- [ ] App Store listing: screenshots, description (EN + FR), keywords
1075
+- [ ] App Store Review Guidelines compliance check
1076
+- [ ] Privacy Policy published (required for App Store)
1077
+- [ ] Submit for App Store review
1078
+- [ ] Google Play closed testing track
1079
+- [ ] Submit for Play Store review
1080
+
1081
+---
1082
+
1083
+## 11. Content Conversion Tool
1084
+
1085
+A command-line Python script to convert the existing Obsidian Markdown files to the JSON format expected by the API.
1086
+
1087
+### 11.1 Script Purpose
1088
+
1089
+Input: `/SPL Exam Questions/01 - Air Law.md` + `/SPL Exam Questions FR/01 - Droit aérien.md`
1090
+Output: `air_law.json` matching the schema in Section 4.1
1091
+
1092
+### 11.2 Parsing Logic
1093
+
1094
+The script must handle:
1095
+1. Parse `### Q{N}: {text} ^q{N}` as question text and number
1096
+2. Parse `- A) ... B) ... C) ... D) ...` as answer options
1097
+3. Parse `**Correct: {letter})**` as correct answer
1098
+4. Parse `> **Explanation:** {text}` as explanation
1099
+5. Parse `![[figures/{filename}]]` and `![alt](figures/{filename})` as figure references
1100
+6. Match each English question to its French counterpart by question number
1101
+7. Combine into bilingual JSON structure
1102
+
1103
+### 11.3 Script Location
1104
+
1105
+`/Users/i052341/dev/apps/glidr/tools/convert_questions.py`
1106
+
1107
+(To be created as part of Phase 5)
1108
+
1109
+---
1110
+
1111
+## 12. Risk Assessment
1112
+
1113
+| Risk | Probability | Impact | Mitigation |
1114
+|------|-------------|--------|-----------|
1115
+| App Store rejection (IAP implementation) | Low | High | Follow IAP guidelines strictly; add required Restore Purchases button |
1116
+| Question count discrepancy (Markdown vs spec) | Medium | Low | Conversion script validates counts and flags mismatches |
1117
+| tekmidian.com SSL certificate expiry breaking content sync | Low | Medium | Set calendar reminder for cert renewal; app falls back to cached content |
1118
+| API key extracted from binary | Low | Low | App contains no user data; question bank has limited commercial value; rotate key if abused |
1119
+| Flutter major version breaking dependencies | Low | Medium | Pin to Flutter stable channel; update dependencies deliberately, not on latest |
1120
+| French translation gaps | Medium | Medium | Conversion script flags any English questions without a matching French question |
1121
+
1122
+---
1123
+
1124
+## 13. Future Enhancements (v2 Backlog)
1125
+
1126
+- User accounts: sync progress across devices via iCloud/server
1127
+- More content: additional national question banks (Germany, Austria, UK)
1128
+- Mock exam mode: simulate real SPL exam (random selection, timed, per EASA format)
1129
+- Detailed analytics: per-topic weak areas, study time tracking
1130
+- Opt-in analytics: understand which questions users find hardest
1131
+- Push notifications: study reminders
1132
+- Certificate pinning: harden API against MITM attacks
1133
+- Apple App Attest: prevent automated bulk downloading
1134
+- Widget: iOS home screen widget showing "cards due today"
1135
+- Apple Watch: quick review on watch
1136
+- Web version: study on desktop browser (Flutter Web)
1137
+
1138
+---
1139
+
1140
+## Appendix A: Subject IDs Reference
1141
+
1142
+| Code | Subject Name (EN) | Subject Name (FR) | subject_id |
1143
+|------|-------------------|-------------------|------------|
1144
+| 01 | Air Law | Droit aérien | air_law |
1145
+| 02 | Aircraft General Knowledge | Connaissances générales de l'aéronef | aircraft_general_knowledge |
1146
+| 03 | Communications | Communications | communications |
1147
+| 04 | Flight Performance and Planning | Performances et planification du vol | flight_performance |
1148
+| 05 | Human Performance | Performance humaine | human_performance |
1149
+| 06 | Meteorology | Météorologie | meteorology |
1150
+| 07 | Navigation | Navigation | navigation |
1151
+| 08 | Operational Procedures | Procédures opérationnelles | operational_procedures |
1152
+| 09 | Principles of Flight | Principes du vol | principles_of_flight |
1153
+
1154
+## Appendix B: Question Count Reference
1155
+
1156
+| Subject | Questions in Current Files | Target (Full Bank) |
1157
+|---------|---------------------------|-------------------|
1158
+| Air Law | 50 (QuizVDS) | 110 |
1159
+| Aircraft General Knowledge | 50 (QuizVDS) | 110 |
1160
+| Communications | 50 (QuizVDS) | 90 |
1161
+| Flight Performance and Planning | 30 (QuizVDS) | 90 |
1162
+| Human Performance | 50 (QuizVDS) | 110 |
1163
+| Meteorology | 50 (QuizVDS) | 110 |
1164
+| Navigation | 80 (QuizVDS + SFVS) | 141 |
1165
+| Operational Procedures | 50 (QuizVDS) | 110 |
1166
+| Principles of Flight | 50 (QuizVDS) | 110 |
1167
+| **Total** | **510** | **981** |
1168
+
1169
+The app works with whatever is in the JSON files. The full bank (981 questions) can be built out over time by adding BAZL mock exam questions, which are already partially present in the Markdown files as supplementary sections.
1170
+
1171
+## Appendix C: SM-2 EF Delta at Each Quality Grade
1172
+
1173
+| Quality | EF Delta | Example: EF=2.5 → |
1174
+|---------|----------|-------------------|
1175
+| 5 | +0.10 | 2.60 |
1176
+| 4 | 0.00 | 2.50 |
1177
+| 3 | -0.14 | 2.36 |
1178
+| 2 | -0.32 | 2.18 |
1179
+| 1 | -0.54 | 1.96 |
1180
+| 0 | -0.80 | 1.70 |
1181
+
1182
+Formula: `delta = 0.1 - (5 - q) * (0.08 + (5 - q) * 0.02)`
tasks/research-api-security.md
....@@ -0,0 +1,200 @@
1
+# API Security Research: Content Protection for Glidr
2
+
3
+## Threat Model
4
+
5
+What we are protecting:
6
+- A question bank (981 questions with explanations) that represents significant editorial work
7
+- Not financial data, medical data, or personal information
8
+- Business goal: prevent competitors from bulk-downloading questions for free
9
+
10
+Realistic threats:
11
+1. **Casual scraping** — someone writes a script to download all content
12
+2. **Competitor copying** — another app developer bulk-downloads the question bank
13
+3. NOT a concern: sophisticated nation-state attackers, reverse engineers with unlimited resources
14
+
15
+Conclusion: We need "good enough" security, not military-grade protection. A determined attacker with the app binary can always extract keys, but we want to raise the bar above casual scraping.
16
+
17
+---
18
+
19
+## Security Options Evaluated
20
+
21
+### Option 1: API Key in App Binary (Basic, Recommended for v1)
22
+
23
+**How it works:**
24
+- A shared secret (e.g., `X-Glidr-Key: abc123...`) is embedded in the app
25
+- Server validates this header on all content endpoints
26
+- Key is obfuscated in the binary using compile-time string splitting or encryption
27
+
28
+**Implementation:**
29
+```dart
30
+// Store as environment variable injected at build time
31
+// Never hardcode in plain text in source
32
+const apiKey = String.fromEnvironment('GLIDR_API_KEY');
33
+
34
+// In HTTP client
35
+dio.options.headers['X-Glidr-Key'] = apiKey;
36
+```
37
+
38
+**Server side (PHP example):**
39
+```php
40
+$key = $_SERVER['HTTP_X_GLIDR_KEY'] ?? '';
41
+if ($key !== getenv('GLIDR_API_KEY')) {
42
+ http_response_code(403);
43
+ die('Forbidden');
44
+}
45
+```
46
+
47
+**Pros:** Simple, zero infrastructure cost, stops casual scrapers
48
+**Cons:** Key is extractable from app binary by determined attacker
49
+**Verdict:** Sufficient for protecting a $49.99 exam app's question bank
50
+
51
+---
52
+
53
+### Option 2: Certificate Pinning
54
+
55
+**How it works:**
56
+- App validates that tekmidian.com presents the exact SSL certificate it expects
57
+- Prevents man-in-the-middle attacks even on compromised networks
58
+
59
+**Implementation in Dio:**
60
+```dart
61
+(dio.httpClientAdapter as IOHttpClientAdapter).onHttpClientCreate = (client) {
62
+ client.badCertificateCallback = (cert, host, port) => false;
63
+ SecurityContext context = SecurityContext();
64
+ context.setTrustedCertificatesBytes(pinnedCertBytes);
65
+ return HttpClient(context: context);
66
+};
67
+```
68
+
69
+**Pros:** Prevents MITM interception of API key
70
+**Cons:** Certificate rotation causes app to break; requires app update when cert expires
71
+**Verdict:** Nice-to-have, add in v2 if abuse becomes a problem
72
+
73
+---
74
+
75
+### Option 3: Apple App Attest + Google Play Integrity
76
+
77
+**How it works:**
78
+- Apple/Google cryptographically verify the app is genuine and unmodified
79
+- Backend receives attestation token, validates with Apple/Google servers
80
+- Only genuine, unmodified app instances can download content
81
+
82
+**Pros:** Strongest protection available; cannot be bypassed without jailbreak
83
+**Cons:**
84
+ - Requires backend infrastructure to validate attestation tokens
85
+ - Apple App Attest has rate limits (free tier: limited attestations/day)
86
+ - Adds significant implementation complexity
87
+ - Overkill for a small hobby/niche app
88
+
89
+**Verdict:** Not needed for v1. Consider for v2 if piracy becomes a real problem.
90
+
91
+---
92
+
93
+### Option 4: JWT Tokens with Device Fingerprinting
94
+
95
+**How it works:**
96
+- App registers with backend using device ID + purchase receipt
97
+- Backend issues a JWT valid for this device
98
+- JWT is used for all content requests
99
+- Content is tied to a specific "account"
100
+
101
+**Pros:** Can revoke access per device; enables future account features
102
+**Cons:** Requires user accounts infrastructure; adds backend complexity
103
+**Verdict:** Not needed for v1 one-time purchase model with no accounts
104
+
105
+---
106
+
107
+## Recommended Security Architecture for Glidr v1
108
+
109
+### Layer 1: HTTPS (mandatory, baseline)
110
+All API traffic over HTTPS. tekmidian.com must have a valid SSL certificate.
111
+
112
+### Layer 2: API Key Header
113
+- Obfuscated compile-time constant injected via `--dart-define`
114
+- Never committed to source control
115
+- Stored in CI/CD environment variables
116
+- Rotatable by releasing a new app version
117
+
118
+### Layer 3: Rate Limiting on Server
119
+- Limit to 100 requests/hour per IP
120
+- Limit to 10 full-bank downloads per day globally
121
+- Simple nginx or PHP-level throttling
122
+
123
+### Layer 4: Content Structure (Defense in Depth)
124
+- Serve individual subject JSON files, not one giant file
125
+- App downloads only what it needs (avoids one-request full dump)
126
+
127
+### Layer 5: Monitoring
128
+- Server access logs reviewed periodically
129
+- Alert on unusual download patterns
130
+
131
+---
132
+
133
+## API Endpoint Design
134
+
135
+Base URL: `https://tekmidian.com/glidr/api/v1/`
136
+
137
+All requests require header: `X-Glidr-Key: {secret}`
138
+
139
+```
140
+GET /manifest.json
141
+ Response: { "version": "1.2.0", "subjects": { "air_law": "abc123hash", ... } }
142
+
143
+GET /subjects/{subject_id}.json
144
+ Response: Full subject JSON with all questions
145
+ Example: /subjects/air_law.json
146
+
147
+GET /figures/{filename}
148
+ Response: Image file (PNG or SVG)
149
+ Example: /figures/bazl_30_q08_ask21_speed_polar.png
150
+```
151
+
152
+### Manifest Response Example
153
+```json
154
+{
155
+ "version": "1.2.0",
156
+ "updated_at": "2026-03-15T00:00:00Z",
157
+ "subjects": {
158
+ "air_law": { "hash": "sha256:abc...", "question_count": 110, "size_bytes": 45000 },
159
+ "meteorology": { "hash": "sha256:def...", "question_count": 110, "size_bytes": 52000 }
160
+ },
161
+ "figures": {
162
+ "hash": "sha256:ghi...",
163
+ "count": 58,
164
+ "size_bytes": 4200000
165
+ }
166
+}
167
+```
168
+
169
+App caches subject hashes locally. On launch, compares cached hash vs remote manifest. Downloads only changed subjects.
170
+
171
+---
172
+
173
+## Server Setup on tekmidian.com
174
+
175
+Minimal PHP implementation:
176
+
177
+```
178
+/glidr/
179
+ api/
180
+ v1/
181
+ .htaccess # auth check + routing
182
+ auth.php # API key validation
183
+ manifest.json # pre-generated static file
184
+ subjects/
185
+ air_law.json
186
+ meteorology.json
187
+ ... (9 files)
188
+ figures/
189
+ *.png
190
+ *.svg
191
+```
192
+
193
+`.htaccess`:
194
+```apache
195
+RewriteEngine On
196
+RewriteCond %{HTTP:X-Glidr-Key} !={GLIDR_API_KEY}
197
+RewriteRule ^ - [F,L]
198
+```
199
+
200
+This is the simplest possible implementation — Apache validates the key before serving any file.
tasks/research-content-analysis.md
....@@ -0,0 +1,140 @@
1
+# Content Analysis: SPL Exam Question Files
2
+
3
+## Summary
4
+
5
+**Total questions: 510 (English) + matching French translation**
6
+
7
+| Subject | File | EN Questions | Notes |
8
+|---------|------|-------------|-------|
9
+| 01 Air Law | 01 - Air Law.md | 50 | Source: QuizVDS.it EASA ECQB-SPL |
10
+| 02 Aircraft General Knowledge | 02 - Aircraft General Knowledge.md | 50 | |
11
+| 03 Communications | 03 - Communications.md | 50 | |
12
+| 04 Flight Performance and Planning | 04 - Flight Performance and Planning.md | 30 | (shorter) |
13
+| 05 Human Performance | 05 - Human Performance.md | 50 | |
14
+| 06 Meteorology | 06 - Meteorology.md | 50 | |
15
+| 07 Navigation | 07 - Navigation.md | 80 | Incl. Swiss SFVS exercises |
16
+| 08 Operational Procedures | 08 - Operational Procedures.md | 50 | |
17
+| 09 Principles of Flight | 09 - Principles of Flight.md | 50 | |
18
+
19
+Note: SPL Exam Questions.md index page states the full bank has 981 questions total across all sources (QuizVDS, SFVS, BAZL mock exams). The files counted above represent the QuizVDS-sourced questions. Navigation has 141 total per index including Swiss exercises.
20
+
21
+## Question Format (Markdown)
22
+
23
+Each question follows this exact structure:
24
+
25
+```markdown
26
+### Q{N}: {Question text} ^q{N}
27
+> *[FR](../SPL Exam Questions FR/01 - Droit aérien.md#^q{N})*
28
+- A) {option}
29
+- B) {option}
30
+- C) {option}
31
+- D) {option}
32
+**Correct: {letter})**
33
+
34
+> **Explanation:** {detailed explanation paragraph}
35
+```
36
+
37
+### Key structural observations:
38
+- Questions use `### Q{N}:` headers with Obsidian block reference anchors `^q{N}`
39
+- Each English question links directly to its French counterpart via relative path
40
+- 4 answer options always labeled A, B, C, D
41
+- Correct answer on its own line: `**Correct: X)**`
42
+- Explanation in a blockquote immediately after
43
+- Some questions embed images using Obsidian wiki-link syntax: `![[figures/filename.png]]`
44
+- Some use standard markdown: `![Alt text](figures/filename.svg)`
45
+
46
+## Image/Figure References
47
+
48
+Two syntaxes in use:
49
+1. **Obsidian wiki-link**: `![[figures/bazl_30_q08_ask21_speed_polar.png]]` - used in BAZL mock exam questions
50
+2. **Standard markdown**: `![Earth Globe](figures/NAV-002-earth-globe.svg)` - used in custom-created figures
51
+
52
+### Figures directory: 58 total files
53
+- 8 SVG files (custom-drawn navigation diagrams)
54
+- 50 PNG files (BAZL official exam images: speed polars, charts, maps, airport diagrams)
55
+
56
+Images primarily appear in:
57
+- Navigation (SVG diagrams)
58
+- Flight Performance and Planning (BAZL speed polars, loading tables, approach charts, maps)
59
+- Operational Procedures (ground signals)
60
+
61
+## French Version
62
+
63
+- Identical structure to English
64
+- Same filenames (French titles): `01 - Droit aérien.md`, `06 - Météorologie.md`, etc.
65
+- Same question count confirmed for files checked (50 Air Law, 50 Meteorology)
66
+- Questions use `^q{N}` anchors matching English versions
67
+- Links back to English: `> *[EN](../SPL Exam Questions/01 - Air Law.md#^q1)*`
68
+- Shares the same `figures/` directory (images are language-neutral)
69
+
70
+## Recommended JSON Format for App
71
+
72
+```json
73
+{
74
+ "version": "1.0.0",
75
+ "updated_at": "2026-03-15T00:00:00Z",
76
+ "subjects": [
77
+ {
78
+ "id": "air_law",
79
+ "code": "01",
80
+ "name": {
81
+ "en": "Air Law",
82
+ "fr": "Droit aérien"
83
+ },
84
+ "questions": [
85
+ {
86
+ "id": "air_law_q1",
87
+ "number": 1,
88
+ "text": {
89
+ "en": "The holder of an SPL license...",
90
+ "fr": "Le titulaire d'une licence SPL..."
91
+ },
92
+ "options": {
93
+ "en": {
94
+ "A": "Winch and bungee.",
95
+ "B": "Winch, bungee and aero-tow.",
96
+ "C": "Winch and aero-tow.",
97
+ "D": "Aero-tow and bungee."
98
+ },
99
+ "fr": {
100
+ "A": "Treuil et sandow.",
101
+ "B": "...",
102
+ "C": "...",
103
+ "D": "..."
104
+ }
105
+ },
106
+ "correct": "A",
107
+ "explanation": {
108
+ "en": "Under Part-SFCL...",
109
+ "fr": "Selon la Part-SFCL..."
110
+ },
111
+ "figures": []
112
+ },
113
+ {
114
+ "id": "pfp_q14",
115
+ "number": 14,
116
+ "text": { "en": "...", "fr": "..." },
117
+ "options": { "en": {...}, "fr": {...} },
118
+ "correct": "B",
119
+ "explanation": { "en": "...", "fr": "..." },
120
+ "figures": [
121
+ {
122
+ "filename": "bazl_30_q14_discus_loading_table.png",
123
+ "type": "png",
124
+ "alt": "Discus loading table"
125
+ }
126
+ ]
127
+ }
128
+ ]
129
+ }
130
+ ]
131
+}
132
+```
133
+
134
+### Key design decisions:
135
+- Bilingual content embedded in single question object (not separate files)
136
+- `figures` array per question (empty array if no figures)
137
+- `id` format: `{subject_code}_{qN}` for stable cross-referencing
138
+- `version` + `updated_at` at top level for update detection
139
+- Correct answer stored as letter string "A"/"B"/"C"/"D"
140
+- Subjects have both `id` (slug) and `code` (01-09 for ordering)
tasks/research-supermemo-sm2.md
....@@ -0,0 +1,172 @@
1
+# SuperMemo SM-2 Algorithm Research
2
+
3
+## The SM-2 Algorithm (Complete Technical Specification)
4
+
5
+Source: https://super-memory.com/english/ol/sm2.htm
6
+
7
+### Per-Card State Variables
8
+
9
+Each card (flashcard item) tracks three values:
10
+- `n` — repetition number (count of successful reviews, starts at 0)
11
+- `EF` — easiness factor (starts at 2.5, minimum 1.3)
12
+- `I` — current interval in days (time until next review)
13
+
14
+### Interval Schedule
15
+
16
+```
17
+I(1) = 1 # after first successful review: 1 day
18
+I(2) = 6 # after second successful review: 6 days
19
+I(n) = I(n-1) * EF # for n > 2: multiply previous interval by EF
20
+```
21
+
22
+Fractional intervals are rounded up to the nearest integer day.
23
+
24
+### Quality Grades (0–5 scale)
25
+
26
+| Grade | Meaning |
27
+|-------|---------|
28
+| 5 | Perfect response — no hesitation |
29
+| 4 | Correct after hesitation |
30
+| 3 | Correct with serious difficulty |
31
+| 2 | Incorrect — correct answer seemed easy to recall after seeing it |
32
+| 1 | Incorrect — correct answer remembered after seeing it |
33
+| 0 | Complete blackout — no recollection |
34
+
35
+### Easiness Factor Adjustment Formula
36
+
37
+After each review:
38
+```
39
+EF' = EF + (0.1 - (5 - q) * (0.08 + (5 - q) * 0.02))
40
+```
41
+
42
+Where `q` is the quality grade (0–5). Results at each grade:
43
+- q=5: EF increases by +0.10
44
+- q=4: EF unchanged (delta = 0)
45
+- q=3: EF decreases by -0.14
46
+- q=2: EF decreases by -0.32
47
+- q=1: EF decreases by -0.54
48
+- q=0: EF decreases by -0.80
49
+
50
+EF is clamped to minimum 1.3. Items with EF below 1.3 were found to be "annoyingly often repeated" and indicate a poorly-formed question.
51
+
52
+### Reset Rule (Quality < 3)
53
+
54
+When a review scores 0, 1, or 2:
55
+- Reset repetition counter to n=1 (restart interval sequence: 1 day, then 6 days)
56
+- **Do NOT change the EF** (keep accumulated EF to influence future spacing)
57
+- Re-show the card the same session until it scores >= 4
58
+
59
+### Session Behavior
60
+
61
+Within a single study session:
62
+- All items scoring < 4 are re-shown in the same session
63
+- Session continues until all shown items score >= 4
64
+- New intervals only schedule for the NEXT day's review (not within-session repetitions)
65
+
66
+---
67
+
68
+## Practical Implementation Notes
69
+
70
+### Data Model Per Card
71
+
72
+```typescript
73
+interface CardProgress {
74
+ cardId: string;
75
+ repetitionNumber: number; // n (0 = never studied)
76
+ easinessFactor: number; // EF (default 2.5, min 1.3)
77
+ intervalDays: number; // I (days until next review)
78
+ nextReviewDate: string; // ISO date string
79
+ lastReviewDate: string | null;
80
+ totalReviews: number;
81
+ correctReviews: number;
82
+}
83
+```
84
+
85
+### Scheduling Logic
86
+
87
+```typescript
88
+function scheduleNextReview(card: CardProgress, quality: number): CardProgress {
89
+ let { n, EF, I } = card;
90
+
91
+ if (quality < 3) {
92
+ // Failed: reset sequence but keep EF
93
+ n = 0;
94
+ I = 1;
95
+ } else {
96
+ // Successful: advance sequence
97
+ if (n === 0) I = 1;
98
+ else if (n === 1) I = 6;
99
+ else I = Math.ceil(I * EF);
100
+ n += 1;
101
+ }
102
+
103
+ // Update EF (clamp to 1.3 minimum)
104
+ EF = Math.max(1.3, EF + 0.1 - (5 - quality) * (0.08 + (5 - quality) * 0.02));
105
+
106
+ const nextDate = addDays(today(), I);
107
+ return { ...card, n, EF, I, nextReviewDate: nextDate };
108
+}
109
+```
110
+
111
+---
112
+
113
+## Cram Mode
114
+
115
+Cram mode ignores all SM-2 scheduling — it simply shows all cards in a subject (or selected subset) sequentially or randomly, without affecting the SM-2 state. Two approaches:
116
+
117
+### Option A: Fully Isolated Cram
118
+- Cram sessions use a separate "cram_progress" table
119
+- SM-2 state for normal mode is untouched
120
+- Good for: pre-exam cramming without corrupting spacing data
121
+
122
+### Option B: Cram Reads but Doesn't Write SM-2
123
+- Cram shows cards from the full bank
124
+- Correct/incorrect tracked for session stats only
125
+- SM-2 nextReviewDate is not modified
126
+- Simpler implementation, recommended approach
127
+
128
+### Recommended Cram Mode UX
129
+- Show cards in random order within a subject
130
+- Show question → user answers → reveal correct answer + explanation
131
+- Show session score at end (X/Y correct, per-subject breakdown)
132
+- No self-rating needed (just correct/incorrect tap)
133
+
134
+---
135
+
136
+## Multi-Subject / Multi-Deck Handling
137
+
138
+Each subject is a separate "deck" but SM-2 state is unified per-card. Recommended approach:
139
+
140
+### Daily Review Queue
141
+- At app open: query all cards where `nextReviewDate <= today`
142
+- Group by subject for display
143
+- Allow "study all due" or "study due in [subject]"
144
+
145
+### New Card Introduction
146
+- Introduce N new cards per day per subject (configurable, default: 5)
147
+- New cards have n=0 and no scheduled date
148
+- Introduce after reviewing due cards (or before — user preference)
149
+
150
+### Statistics
151
+- Per-subject: total cards, due today, learned (n>=2), new
152
+- Overall retention rate (quality >= 3 / total reviews)
153
+- Streak tracking (days in a row with at least 1 review)
154
+
155
+---
156
+
157
+## Self-Assessment UX for SPL App
158
+
159
+Recommended: Use a simplified 3-button rating instead of the full 0-5 scale (less cognitive load for mobile):
160
+
161
+| Button | Label | Maps to SM-2 Grade |
162
+|--------|-------|--------------------|
163
+| Again | Didn't know it | 1 |
164
+| Hard | Knew it with difficulty | 3 |
165
+| Good | Knew it well | 4 |
166
+| Easy | Perfect recall | 5 |
167
+
168
+This is the same simplification Anki uses. The 4-button approach covers all meaningful SM-2 branches:
169
+- "Again" → reset (q=1)
170
+- "Hard" → decrease EF significantly (q=3)
171
+- "Good" → keep EF stable (q=4)
172
+- "Easy" → increase EF (q=5)
tasks/research-tech-stack.md
....@@ -0,0 +1,171 @@
1
+# Tech Stack Research: Cross-Platform Mobile Framework
2
+
3
+## Decision: Flutter
4
+
5
+**Recommendation: Flutter with Dart**
6
+
7
+### Justification
8
+
9
+| Criterion | Flutter | React Native | Winner |
10
+|-----------|---------|-------------|--------|
11
+| UI consistency | Custom renderer, pixel-perfect on all devices | Native widgets, slight platform differences | Flutter |
12
+| Performance | 60/120fps via Impeller engine, compiled to native | Improved via New Architecture (Fabric), near-native | Flutter (slight edge) |
13
+| Offline data (SQLite) | sqflite package, excellent | better-sqlite3/op-sqlite, good | Tie |
14
+| Image handling + zoom | photo_view package, InteractiveViewer widget | react-native-image-zoom-viewer, good | Tie |
15
+| App Store IAP | in_app_purchase plugin (official Flutter team) | react-native-iap, community | Flutter (official plugin) |
16
+| Remote content download | dio + path_provider, well-documented | react-native-fs + axios, good | Tie |
17
+| Learning curve | Dart (2-3 week ramp for new devs) | JavaScript/React (huge talent pool) | React Native |
18
+| iOS-first development | Excellent, first-class Xcode integration | Excellent | Tie |
19
+| Educational app examples | Many quiz/flashcard apps | Many | Tie |
20
+| Bundle size | Larger (~10MB base) | Smaller (~5MB base) | React Native |
21
+| Hot reload speed | Fast | Fast | Tie |
22
+
23
+**Key deciding factors for Glidr:**
24
+1. **Pixel-perfect UI** matters for zoomable aviation charts/diagrams
25
+2. **Official IAP plugin** reduces risk for the one-time purchase model
26
+3. **Flutter 46% market share** in 2025, strong momentum
27
+4. **No JavaScript bridge** for image rendering means smoother zoom/pan experience
28
+5. App is data-heavy but not UI-heavy — Flutter's widget library handles quiz UX cleanly
29
+
30
+---
31
+
32
+## Recommended Full Stack
33
+
34
+### Mobile App
35
+- **Framework**: Flutter 3.x (Dart)
36
+- **State Management**: Riverpod 2.x (Provider successor, better testability)
37
+- **Local Database**: SQLite via `sqflite` + `sqflite_common_ffi` for tests
38
+- **ORM/Query builder**: `drift` (type-safe SQLite layer, formerly Moor)
39
+- **HTTP Client**: `dio` with interceptors for auth headers
40
+- **Image zoom**: `photo_view` package
41
+- **IAP**: `in_app_purchase` (official Flutter plugin, supports both App Store + Play Store)
42
+- **Secure storage**: `flutter_secure_storage` (Keychain on iOS, EncryptedSharedPreferences on Android)
43
+- **Internationalization**: Flutter's built-in `intl` + ARB files (en, fr)
44
+- **JSON serialization**: `json_serializable` + `freezed` for immutable data classes
45
+
46
+### Backend (Content API)
47
+- **Hosting**: tekmidian.com — static file server or lightweight Node.js/PHP
48
+- **Language**: PHP 8.x or Node.js (whatever tekmidian.com already runs)
49
+- **Content delivery**: Pre-built JSON files served with auth header validation
50
+- **No database needed** for v1 — question bank is static JSON files per subject
51
+
52
+### Content Update Mechanism
53
+1. App checks `/api/v1/manifest.json` on launch (version hash per subject)
54
+2. If local version hash differs from remote: download updated subject JSON
55
+3. Questions stored in SQLite after first download
56
+4. Images bundled with app for v1 (to avoid complex asset downloading); OR served from CDN with local cache
57
+
58
+---
59
+
60
+## Local Database Schema (SQLite via Drift)
61
+
62
+### Tables
63
+
64
+```sql
65
+-- Question bank (populated from downloaded JSON)
66
+CREATE TABLE questions (
67
+ id TEXT PRIMARY KEY, -- "air_law_q1"
68
+ subject_id TEXT NOT NULL, -- "air_law"
69
+ number INTEGER NOT NULL,
70
+ text_en TEXT NOT NULL,
71
+ text_fr TEXT NOT NULL,
72
+ options_en TEXT NOT NULL, -- JSON: {"A":"...", "B":"...", "C":"...", "D":"..."}
73
+ options_fr TEXT NOT NULL,
74
+ correct TEXT NOT NULL, -- "A", "B", "C", or "D"
75
+ explanation_en TEXT NOT NULL,
76
+ explanation_fr TEXT NOT NULL,
77
+ figures TEXT NOT NULL -- JSON array: [{"filename":"...", "type":"png"}]
78
+);
79
+
80
+-- SM-2 progress per card
81
+CREATE TABLE card_progress (
82
+ question_id TEXT PRIMARY KEY,
83
+ repetition_number INTEGER NOT NULL DEFAULT 0,
84
+ easiness_factor REAL NOT NULL DEFAULT 2.5,
85
+ interval_days INTEGER NOT NULL DEFAULT 1,
86
+ next_review_date TEXT, -- ISO date "2026-03-16", NULL = new card
87
+ last_review_date TEXT,
88
+ total_reviews INTEGER NOT NULL DEFAULT 0,
89
+ correct_reviews INTEGER NOT NULL DEFAULT 0,
90
+ created_at TEXT NOT NULL,
91
+ updated_at TEXT NOT NULL
92
+);
93
+
94
+-- Study session log (for stats/history)
95
+CREATE TABLE study_sessions (
96
+ id TEXT PRIMARY KEY,
97
+ started_at TEXT NOT NULL,
98
+ ended_at TEXT,
99
+ mode TEXT NOT NULL, -- "spaced_repetition" | "cram"
100
+ subject_id TEXT, -- NULL = mixed/all
101
+ cards_reviewed INTEGER NOT NULL DEFAULT 0,
102
+ cards_correct INTEGER NOT NULL DEFAULT 0
103
+);
104
+
105
+-- Per-review log (for detailed analytics)
106
+CREATE TABLE review_log (
107
+ id TEXT PRIMARY KEY,
108
+ session_id TEXT NOT NULL,
109
+ question_id TEXT NOT NULL,
110
+ reviewed_at TEXT NOT NULL,
111
+ quality INTEGER NOT NULL, -- 0-5
112
+ time_to_answer_ms INTEGER, -- optional: track hesitation time
113
+ was_cram INTEGER NOT NULL DEFAULT 0 -- boolean
114
+);
115
+
116
+-- Content manifest (version tracking)
117
+CREATE TABLE content_manifest (
118
+ subject_id TEXT PRIMARY KEY,
119
+ version TEXT NOT NULL,
120
+ downloaded_at TEXT NOT NULL,
121
+ question_count INTEGER NOT NULL
122
+);
123
+
124
+-- App settings
125
+CREATE TABLE settings (
126
+ key TEXT PRIMARY KEY,
127
+ value TEXT NOT NULL
128
+);
129
+```
130
+
131
+---
132
+
133
+## Image Handling Strategy
134
+
135
+### Option A: Bundle All Images with App (Recommended for v1)
136
+- All 58 figures (50 PNG + 8 SVG) = estimated ~5-10 MB total
137
+- Bundle in Flutter assets: `assets/figures/`
138
+- Display with `photo_view` for pinch-zoom
139
+- Pro: works offline immediately, no download complexity
140
+- Con: app binary is larger, updating images requires app update
141
+
142
+### Option B: Download with Question Pack
143
+- Images served from tekmidian.com alongside JSON
144
+- Downloaded to local app documents directory
145
+- Cached permanently
146
+- Pro: images can be updated without app release
147
+- Con: more complex implementation, first-run requires download
148
+
149
+**Recommendation**: Bundle images in v1. Total size is small (<10MB). Move to Option B if the question bank grows significantly or if images need frequent correction.
150
+
151
+---
152
+
153
+## One-Time Purchase Model
154
+
155
+### App Store (iOS)
156
+- IAP type: **Non-Consumable** (purchased once, restored across devices)
157
+- Product ID: `com.tekmidian.glidr.fullaccess` (example)
158
+- Free tier: first 10 questions of each subject (preview)
159
+- Paid tier: full question bank (unlock all 9 subjects)
160
+- Restore purchases button required by App Store guidelines
161
+
162
+### Play Store (Android)
163
+- IAP type: **One-time product** (equivalent to non-consumable)
164
+- Same product unlock logic
165
+
166
+### Implementation with `in_app_purchase` plugin
167
+```dart
168
+// Check purchase status at app start
169
+final purchases = await InAppPurchase.instance.queryPastPurchases();
170
+final isUnlocked = purchases.any((p) => p.productID == 'com.tekmidian.glidr.fullaccess');
171
+```
tasks/restructure_explanations.py
....@@ -0,0 +1,275 @@
1
+#!/usr/bin/env python3
2
+"""
3
+Restructure explanation text in SPL exam question files to use markdown bullets
4
+for option analysis sentences.
5
+"""
6
+
7
+import re
8
+import os
9
+from pathlib import Path
10
+
11
+BASE_DIR = Path("/Users/i052341/Daten/Cloud/04 - Ablage/Ablage 2020 - 2029/Ablage 2025/Hobbies 2025/Segelflug/Theorie/Glidr")
12
+
13
+SUBJECT_DIRS = {
14
+ "EN": BASE_DIR / "SPL Exam Questions EN",
15
+ "DE": BASE_DIR / "SPL Exam Questions DE",
16
+ "FR": BASE_DIR / "SPL Exam Questions FR",
17
+}
18
+
19
+EXPLANATION_HEADERS = {
20
+ "EN": "#### Explanation",
21
+ "DE": "#### Erklärung",
22
+ "FR": "#### Explication",
23
+}
24
+
25
+KEY_TERMS_HEADERS = {
26
+ "EN": "#### Key Terms",
27
+ "DE": "#### Begriffe",
28
+ "FR": "#### Termes clés",
29
+}
30
+
31
+# Patterns that identify option-analysis sentences.
32
+# Each pattern must match the START of a sentence (after splitting on sentence boundaries).
33
+# Strategy: a sentence is an option sentence if it STARTS with an option reference.
34
+# This catches all forms: "Option A is...", "Option A (label) contains...", "Options A and B are...", etc.
35
+OPTION_PATTERNS = [
36
+ # EN/DE: sentence starts with "Option" or "Options" followed by one or more letters A-D
37
+ r"^Options?\s+[A-D]",
38
+ # EN/DE: "Die Option A" or "Nur Option A"
39
+ r"^(?:Die|Nur|Only)\s+Options?\s+[A-D]",
40
+ # EN bare letter: "A is wrong", "B is incorrect" (only when followed by a form of "to be")
41
+ r"^[A-D]\s+(?:is|are|was|were|would|can|cannot|does|did|has|have)\b",
42
+ # DE bare letter: "A ist falsch"
43
+ r"^[A-D]\s+(?:ist|sind|war|w\u00e4re)\b",
44
+ # FR: "L'option A" or "L\u2019option A"
45
+ r"^L['\u2019]?options?\s+[A-D]",
46
+ # FR bare letter: "A est incorrecte"
47
+ r"^[A-D]\s+est\b",
48
+ # Generic: "Option A:" or "Option A —" or "Option A–"
49
+ r"^Options?\s+[A-D](?:\s*(?:,|and|und|et)\s*(?:and\s+|und\s+|et\s+)?[A-D])*\s*(?::|—|–)",
50
+ # "Seule l'option C" (FR), "Nur Option C" (DE), "Only Option C" (EN) - correct answer callouts
51
+ r"^(?:Seule\s+l['\u2019]?option|Nur\s+Option|Only\s+Option)\s+[A-D]",
52
+]
53
+
54
+# Compiled combined pattern (case-sensitive)
55
+# We split by detecting sentence starts matching any option pattern.
56
+# Strategy: split the explanation text into sentences, then bucket them.
57
+
58
+def split_into_sentences(text):
59
+ """
60
+ Split text into sentences. Split on sentence-ending punctuation followed by
61
+ a space and a capital letter. Handles:
62
+ - ". Capital"
63
+ - '." Capital' (period inside quotes)
64
+ - ".'" / ".»" etc.
65
+ """
66
+ # Split on: period (optionally followed by closing quote/bracket) then whitespace then capital
67
+ parts = re.split(r'(?<=\.)["\'\u201d\u2019»]?\s+(?=[A-Z\xdc\xc4\xd6L\'"«\u201c\u2018])', text.strip())
68
+ return parts
69
+
70
+
71
+def is_option_sentence(sentence, lang):
72
+ """Return True if the sentence is an option-analysis sentence."""
73
+ s = sentence.strip()
74
+ for pat in OPTION_PATTERNS:
75
+ if re.match(pat, s, re.IGNORECASE):
76
+ return True
77
+ return False
78
+
79
+
80
+def bold_option_reference(sentence):
81
+ """
82
+ Bold the initial option reference in a sentence.
83
+ e.g. "Option A is wrong..." -> "**Option A** is wrong..."
84
+ "Option A (label) contains..." -> "**Option A** (label) contains..."
85
+ "Options A and B are..." -> "**Options A and B** are..."
86
+ "L'option A est..." -> "**L'option A** est..."
87
+ "Only Option C correctly..." -> "Only **Option C** correctly..."
88
+ "A is wrong" -> "**A** is wrong"
89
+ """
90
+ s = sentence.strip()
91
+
92
+ patterns_to_bold = [
93
+ # EN/DE multi: "Options A, B, and C" / "Options A und B" (must come before single)
94
+ (r'^(Options?\s+[A-D](?:\s*(?:,|and|und)\s*(?:and\s+|und\s+)?[A-D])+)', r'**\1**'),
95
+ # EN/DE single: "Option A"
96
+ (r'^(Options?\s+[A-D])\b', r'**\1**'),
97
+ # FR multi: "L'option A et B"
98
+ (r"^(L['\u2019]?options?\s+[A-D](?:\s*(?:,|et)\s*(?:et\s+)?[A-D])+)", r'**\1**'),
99
+ # FR single: "L'option A"
100
+ (r"^(L['\u2019]?options?\s+[A-D])\b", r'**\1**'),
101
+ # EN "Only Option C" -> "Only **Option C**"
102
+ (r'^(Only\s+)(Options?\s+[A-D])\b', r'\1**\2**'),
103
+ # DE "Nur Option C"
104
+ (r'^(Nur\s+)(Options?\s+[A-D])\b', r'\1**\2**'),
105
+ # FR "Seule l'option C"
106
+ (r"^(Seule\s+)(l['\u2019]?options?\s+[A-D])\b", r'\1**\2**'),
107
+ # DE "Die Option A"
108
+ (r'^(Die\s+)(Options?\s+[A-D])\b', r'\1**\2**'),
109
+ # Bare letter: "A is", "B est"
110
+ (r'^([A-D])(\s+(?:is|are|ist|sind|est|sont|was|w\u00e4re|serait)\b)', r'**\1**\2'),
111
+ ]
112
+
113
+ for pat, repl in patterns_to_bold:
114
+ new_s = re.sub(pat, repl, s, count=1, flags=re.IGNORECASE)
115
+ if new_s != s:
116
+ return new_s
117
+
118
+ return s
119
+
120
+
121
+def restructure_explanation(explanation_text, lang):
122
+ """
123
+ Given the raw explanation text (without the header line), restructure it:
124
+ - Sentences before the first option-analysis sentence -> main paragraph
125
+ - Option-analysis sentences -> bullet points
126
+ Returns (new_text, was_changed: bool)
127
+ """
128
+ text = explanation_text.strip()
129
+ if not text:
130
+ return text, False
131
+
132
+ sentences = split_into_sentences(text)
133
+ if not sentences:
134
+ return text, False
135
+
136
+ # Find index of first option sentence
137
+ first_option_idx = None
138
+ for i, s in enumerate(sentences):
139
+ if is_option_sentence(s, lang):
140
+ first_option_idx = i
141
+ break
142
+
143
+ if first_option_idx is None:
144
+ # No option sentences found, leave as-is
145
+ return text, False
146
+
147
+ # Main paragraph: sentences before first option sentence
148
+ main_sentences = sentences[:first_option_idx]
149
+ option_sentences = sentences[first_option_idx:]
150
+
151
+ # Verify that option_sentences are indeed all option-like (some trailing sentences might not be)
152
+ # We keep going: once we see an option sentence, everything else goes to bullets
153
+ # (this matches the described format where option analysis is at the end)
154
+
155
+ main_paragraph = " ".join(s.strip() for s in main_sentences if s.strip())
156
+
157
+ bullets = []
158
+ for s in option_sentences:
159
+ s = s.strip()
160
+ if not s:
161
+ continue
162
+ # Remove trailing period for bullet, then re-add
163
+ s_clean = s.rstrip(".")
164
+ bolded = bold_option_reference(s_clean)
165
+ bullets.append(f"- {bolded}.")
166
+
167
+ if not bullets:
168
+ return text, False
169
+
170
+ # Build new text
171
+ parts = []
172
+ if main_paragraph:
173
+ parts.append(main_paragraph)
174
+ parts.append("") # blank line
175
+ parts.extend(bullets)
176
+
177
+ new_text = "\n".join(parts)
178
+
179
+ # Only report change if something actually changed
180
+ changed = new_text.strip() != text.strip()
181
+ return new_text, changed
182
+
183
+
184
+def process_file(filepath, lang, explanation_header, key_terms_header):
185
+ """
186
+ Process a single markdown file. Returns (content, count_restructured).
187
+ """
188
+ content = filepath.read_text(encoding="utf-8")
189
+ lines = content.split("\n")
190
+
191
+ count = 0
192
+ result_lines = []
193
+ i = 0
194
+
195
+ while i < len(lines):
196
+ line = lines[i]
197
+
198
+ # Check if this line is the explanation header
199
+ if line.strip() == explanation_header:
200
+ result_lines.append(line)
201
+ i += 1
202
+
203
+ # Collect blank lines after header
204
+ while i < len(lines) and lines[i].strip() == "":
205
+ result_lines.append(lines[i])
206
+ i += 1
207
+
208
+ # Collect the explanation body until we hit:
209
+ # - key terms header
210
+ # - next question (### Q)
211
+ # - end of file
212
+ explanation_body_lines = []
213
+ while i < len(lines):
214
+ l = lines[i]
215
+ if (l.strip() == key_terms_header or
216
+ l.strip().startswith("### Q") or
217
+ l.strip().startswith("#### ")):
218
+ break
219
+ explanation_body_lines.append(l)
220
+ i += 1
221
+
222
+ # The explanation body (trim trailing blanks)
223
+ raw_body = "\n".join(explanation_body_lines).rstrip()
224
+
225
+ new_body, changed = restructure_explanation(raw_body, lang)
226
+
227
+ if changed:
228
+ count += 1
229
+ result_lines.append(new_body)
230
+ result_lines.append("") # trailing blank line
231
+ else:
232
+ # Restore original lines
233
+ for bl in explanation_body_lines:
234
+ result_lines.append(bl)
235
+
236
+ else:
237
+ result_lines.append(line)
238
+ i += 1
239
+
240
+ new_content = "\n".join(result_lines)
241
+ return new_content, count
242
+
243
+
244
+def main():
245
+ total_restructured = 0
246
+ total_files = 0
247
+
248
+ for lang, dir_path in SUBJECT_DIRS.items():
249
+ explanation_header = EXPLANATION_HEADERS[lang]
250
+ key_terms_header = KEY_TERMS_HEADERS[lang]
251
+
252
+ md_files = sorted(dir_path.glob("*.md"))
253
+ for filepath in md_files:
254
+ # Skip the combined file
255
+ if "SPL Exam Questions" in filepath.name:
256
+ continue
257
+
258
+ new_content, count = process_file(
259
+ filepath, lang, explanation_header, key_terms_header
260
+ )
261
+
262
+ if count > 0:
263
+ filepath.write_text(new_content, encoding="utf-8")
264
+ print(f" [{lang}] {filepath.name}: {count} explanation(s) restructured")
265
+ total_restructured += count
266
+ else:
267
+ print(f" [{lang}] {filepath.name}: no changes")
268
+
269
+ total_files += 1
270
+
271
+ print(f"\nDone. {total_restructured} explanations restructured across {total_files} files.")
272
+
273
+
274
+if __name__ == "__main__":
275
+ main()
tasks/todo.md
....@@ -0,0 +1,117 @@
1
+# Glidr - TODO
2
+
3
+## Session 2026-03-16: Xcode Build + App Store Submission
4
+
5
+### What Was Done
6
+
7
+#### Xcode Project Setup
8
+- Created Glidr.xcodeproj / Glidr.xcworkspace (renamed from Runner)
9
+- All Runner references replaced with Glidr in: pbxproj, Podfile, xcscheme, xcworkspacedata, xcconfig files, storyboards
10
+- Team ID: 7KU642K5ZL, Bundle ID: com.tekmidian.glidr
11
+- Signing: Automatic with Apple Development: Matthias Nott
12
+- Created Runner.xcscheme symlink -> Glidr.xcscheme (needed for flutter CLI)
13
+
14
+#### Build Issues Fixed
15
+- Homebrew rsync 3.4.1 incompatible with Xcode distribution (causes "Copy failed")
16
+ - Fix: `mv /opt/homebrew/bin/rsync /opt/homebrew/bin/rsync.bak` before distribution, restore after
17
+- Icon alpha channels: App Store rejects transparent icons
18
+ - Fix: Python PIL script removes alpha, saves as RGB
19
+- Overflow UI indicator ("RFLOWED BY" text): leadingWidth too small in home_screen.dart
20
+ - Fix: Wrapped in ClipRect + OverflowBox, increased leadingWidth to 110
21
+
22
+#### App Store Connect (Apple ID: 6760631689)
23
+- App name: Glider Pilot (Glidr was taken)
24
+- Apple account: mn@mnsoft.org
25
+- Build 1.0.0 uploaded successfully (with dSYM warning - non-blocking)
26
+- Pricing: FREE ($0.00) - changed from initial $49.99 mistake
27
+- In-App Purchase created:
28
+ - Name: Full Access
29
+ - Product ID: com.tekmidian.glidr.fullaccess
30
+ - Type: Non-Consumable
31
+ - Price: $49.99 (all 175 regions)
32
+ - Localization: "Full Access - All Questions" / "Unlock all 950 SPL exam questions in EN/FR/DE."
33
+- Category: Education
34
+- Age Rating: 4+ (all "None" for all categories)
35
+- Content Rights: No third-party content
36
+- Encryption: None (no custom encryption)
37
+- 7 screenshots uploaded (resized from 1320x2868 to 1284x2778 for 6.5" display)
38
+- Description, promotional text, keywords, support URL, marketing URL all filled
39
+- Build attached to version, compliance handled
40
+- Review contact: Matthias Nott, mn@mnsoft.org, +41 79 000 0000 (placeholder)
41
+- Review notes filled
42
+
43
+#### App Store Submission Blockers (remaining)
44
+- [x] Privacy Policy URL - set to https://youdrill.com/glidr/privacy.html
45
+- [x] Content Rights - set to "no third-party content"
46
+- [ ] iPad 13-inch screenshot - created at screenshots/ipad/ipad_home.png but NOT uploaded yet
47
+- [ ] App Privacy practices - need to click "Get Started" and fill in (app collects no data)
48
+- [ ] Agreement Update dialog keeps appearing - may need to re-accept developer agreement
49
+- [ ] Submit for review (click "Add for Review")
50
+
51
+#### Docker / youdrill.com Server
52
+- Created youdrill-website container (nginx:alpine) alongside existing youdrill-api (node:22-alpine)
53
+- docker-compose.yml at /opt/data/youdrill/docker-compose.yml - has both services
54
+- Traefik config at /opt/data/traefik/dynamic/youdrill.yaml - routes /glidr/ to website, rest to API
55
+- Static files at /opt/data/youdrill/website/
56
+ - /glidr/privacy.html - privacy policy (live, verified 200)
57
+ - /glidr/support.html - support page
58
+ - /glidr/index.html - landing page
59
+ - /index.html - root (for healthcheck)
60
+- Container is healthy
61
+
62
+#### Code Changes Made
63
+- ios/Glidr/Info.plist: CFBundleDisplayName changed to "Glider Pilot"
64
+- lib/screens/home_screen.dart: title changed to "Glider Pilot", leading wrapped in ClipRect/OverflowBox
65
+- create_icon.py: OUTPUT_DIR path updated from Runner to Glidr
66
+- ios/Glidr.xcodeproj/xcshareddata/xcschemes/Glidr.xcscheme: LaunchAction buildConfiguration changed to Release
67
+- Runner.xcscheme symlink created pointing to Glidr.xcscheme
68
+
69
+#### App Icon
70
+- Smiling glider plane icon restored from git history (commit a8a0c56)
71
+- Alpha channels removed from all 15 icon PNGs for App Store compliance
72
+- Icons in ios/Glidr/Assets.xcassets/AppIcon.appiconset/
73
+
74
+### Known Issues
75
+- App crashes on iPhone restart when deployed via Xcode Cmd+R (development signing issue)
76
+ - Dev-signed apps have get-task-allow=true, iOS 26 kills process without debugger
77
+ - Fix: Use flutter build ipa --release + devicectl install, or TestFlight
78
+ - flutter build ipa --release --no-pub (then xcrun devicectl device install app)
79
+- Homebrew rsync must be temporarily moved aside for Xcode distribution
80
+- Scheme rename to "Glider Pilot" broke flutter CLI - reverted to "Glidr" with Runner symlink
81
+- Simulators must be shut down before flutter device detection (xcrun simctl shutdown all)
82
+- flutter run --release hangs on device detection with Xcode 26 beta
83
+
84
+### Deploy Commands
85
+```bash
86
+# Build release IPA
87
+cd /Users/i052341/dev/apps/glidr
88
+flutter build ipa --release --no-pub
89
+
90
+# Install on iPhone
91
+xcrun devicectl device install app --device 00008150-001609EA3CEA401C build/ios/ipa/glidr.ipa
92
+
93
+# Archive and distribute (Xcode GUI)
94
+# 1. Move homebrew rsync: mv /opt/homebrew/bin/rsync /opt/homebrew/bin/rsync.bak
95
+# 2. Open Glidr.xcworkspace, set destination to "Any iOS Device"
96
+# 3. Product > Archive
97
+# 4. Distribute App > App Store Connect > Distribute
98
+# 5. Restore rsync: mv /opt/homebrew/bin/rsync.bak /opt/homebrew/bin/rsync
99
+```
100
+
101
+## Previously Completed (2026-03-15)
102
+
103
+- [x] Flutter app built and deployed to iPhone (release build)
104
+- [x] 950 questions across 9 subjects in EN/FR/DE
105
+- [x] SM-2 spaced repetition, cram mode, browse all, statistics
106
+- [x] Smiling glider app icon
107
+- [x] Content sync from youdrill.com
108
+- [x] Articles system
109
+- [x] Converter handles all 3 languages
110
+
111
+## Next Up
112
+- [ ] Upload iPad screenshot to ASC
113
+- [ ] Complete App Privacy practices in ASC
114
+- [ ] Submit for App Review
115
+- [ ] Update phone number in review contact
116
+- [ ] Test release build on iPhone (standalone restart)
117
+- [ ] TestFlight testing
xcode_initial.png
Binary files differ