Outils pour utilisateurs

Outils du site


fr:yaml:medias

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
fr:yaml:medias [2026/05/03 17:22] – mise a jour wiki cyrilfiestafr:yaml:medias [2026/09/06 19:06] (Version actuelle) – 4.14 : le texte TTS est lu sans affichage hors Discord cyrilfiesta
Ligne 1: Ligne 1:
 +**Language / Langue :** **FR** | [[en:yaml:medias|EN]]
 +
 ====== Sons, images et vidéos (YAML) ====== ====== Sons, images et vidéos (YAML) ======
 +
 +Les médias se placent directement dans les textes narratifs, les descriptions d'objets et les encadrés HUD.
  
 ===== Sons ===== ===== Sons =====
Ligne 11: Ligne 15:
 </code> </code>
  
-Formats supportés : ''.mp3'', ''.ogg'', ''.wav''+Formats supportés par le linter et les exports : ''.mp3'', ''.ogg'', ''.wav'', ''.flac'', ''.m4a''. 
 + 
 +Sans extension audio, le contenu de ''%%<<…>>%%'' est lu à voix haute sans être affiché : 
 +<code yaml> 
 +texte: "<<Bienvenue dans l'aventure !>>" 
 +</code> 
 +Discord utilise ses messages TTS natifs, qui restent visibles ; Web, Desktop et l'export standalone utilisent la synthèse vocale de l'appareil sans afficher le contenu. Le Terminal ne dispose pas de synthèse vocale et ignore ce contenu. Pour afficher aussi le texte, écrivez-le normalement en plus de la balise.
  
 **Jouer N fois** (0 = boucle infinie) : **Jouer N fois** (0 = boucle infinie) :
 <code yaml> <code yaml>
-<<3:https://exemple.com/sons/alarme.mp3>>    # joue 3 fois +<<3:https://exemple.com/sons/alarme.mp3>> 
-<<0:https://exemple.com/sons/musique.mp3>>   # boucle infinie+<<0:https://exemple.com/sons/musique.mp3>>
 </code> </code>
  
Ligne 24: Ligne 34:
 </code> </code>
  
-  * Un seul son à la fois — un nouveau son arrête le précédent +  * Un nouveau son arrête le précédent. 
-  * Le bot se connecte automatiquement au salon vocal **JDR-Bot** (Discord) s'il existe, et se déconnecte en fin de partie+  * Sur Discord, le bot tente de rejoindre le salon vocal **JDR-Bot** s'il existe.
   * Des sons libres de droits sont disponibles : [[https://cyril-fiesta.fr/jdr-bot/scenarios/sounds/]]   * Des sons libres de droits sont disponibles : [[https://cyril-fiesta.fr/jdr-bot/scenarios/sounds/]]
  
Ligne 37: Ligne 47:
 </code> </code>
  
-Formats supportés : ''.png'', ''.jpg'', ''.gif'', ''.webp''+Formats supportés : ''.png'', ''.jpg'', ''.jpeg'', ''.gif'', ''.webp'', ''.svg'' selon le navigateur/adaptateur.
  
-**Images cliquables (v4.9)** — aucune syntaxe supplémentaire : +Si le contenu entre ''%%[[%%'' et ''%%]]%%'' n'est pas une URL d'image, il est rendu comme un encart texte. Voir [[fr:yaml:texte|Texte et formatage]].
-  * **Web** : clic → ouvre l'image dans un nouvel onglet +
-  * **Desktop** : clic → lightbox plein écran avec zoom molette (0.5×–8×), fermeture par clic ou Échap+
  
 ===== Vidéos (v4.10) ===== ===== Vidéos (v4.10) =====
Ligne 52: Ligne 60:
 </code> </code>
  
-Formats supportés : ''.mp4'', ''.webm''+Formats reconnus : ''.mp4'', ''.webm'', ''.mov'', ''.ogv''.
  
-**Options** (séparées par '';'', avant le '':'' de l'URL) :+Si le contenu ne ressemble pas à une vidéo valide, il reste affiché comme du texte normal avec ses parenthèses. 
 + 
 +===== Options vidéo ===== 
 + 
 +Les options se placent avant l'URL, séparées par '';'' puis par '':'' :
  
 ^ Option ^ Effet ^ ^ Option ^ Effet ^
-| ''loop'' | Lecture en boucle | +| ''loop'' | Lecture en boucle. | 
-| ''autoplay'' | Lecture automatique (''muted'' requis par les navigateurs) | +| ''autoplay'' | Lecture automatique ; le moteur force aussi ''muted'' pour respecter les navigateurs. | 
-| ''muted'' | Son coupé | +| ''muted'' | Son coupé. | 
-| ''controls=false'' | Masque la barre de contrôles |+| ''controls'' ou ''controls=true'' | Affiche les contrôles vidéo. C'est le comportement par défaut. | 
 +| ''controls=false'' | Masque les contrôles. Pour un fichier, le clic lecture/pause reste géré sur web et standalone. Pour une vidéo hébergée, la lecture démarre seule, sans son : une iframe ne se pilote pas au clic. | 
 +| ''poster=url_image'' | Image d'attente avant lecture. Les variables ''{nom}'' sont acceptées. |
  
 <code yaml> <code yaml>
 ((loop:https://exemple.com/videos/ambiance.mp4)) ((loop:https://exemple.com/videos/ambiance.mp4))
 ((autoplay;muted:https://exemple.com/videos/intro.mp4)) ((autoplay;muted:https://exemple.com/videos/intro.mp4))
 +((poster=https://exemple.com/poster.jpg;loop:https://exemple.com/videos/scene.mp4))
 ((controls=false;loop;muted:https://exemple.com/videos/bg.mp4)) ((controls=false;loop;muted:https://exemple.com/videos/bg.mp4))
 </code> </code>
  
-Sur Discord : l'URL est postée telle quelle, Discord gère l'aperçu.+===== Vidéos hébergées =====
  
-Texte non-vidéo entre ''((...))'' : reste affiché comme du texte normal, sans effet.+La même syntaxe ''%%(( ))%%'' accepte aussi un lien YouTube, Vimeo, Dailymotion ou PeerTube. Le lecteur du service remplace le lecteur intégré, au même emplacement et avec la même apparence qu'une vidéo ordinaire. 
 + 
 +<code yaml> 
 +((https://www.youtube.com/watch?v=aqz-KE-bpKQ)) 
 +((https://vimeo.com/76979871)) 
 +((https://framatube.org/w/mnRs2Wm5cGqXcHbF)) 
 +</code> 
 + 
 +Les formes courtes et variantes sont reconnues : ''youtu.be'', ''/shorts/'', ''m.youtube.com'', ''dai.ly'', ''player.vimeo.com'', ainsi que les deux formes PeerTube (''/videos/watch/'' et ''/w/'') sur n'importe quelle instance. 
 + 
 +Un lien vers une chaîne ou une playlist est refusé : l'adresse doit désigner une vidéo précise. Le linter le signale. 
 + 
 +**Vie privée.** YouTube est appelé via son domaine sans cookie et Vimeo reçoit ''dnt=1'', sans que l'auteur ait à l'écrire. 
 + 
 +**Options.** ''loop'', ''autoplay'', ''muted'' et ''controls=false'' sont traduites vers les paramètres propres à chaque service. Deux exceptions : 
 + 
 +  * **Dailymotion les ignore toutes** : depuis la migration de son lecteur, un embed sans Player ID se lit avec ses réglages par défaut. Le linter vous prévient plutôt que de laisser croire au réglage. 
 +  * ''poster='' est sans effet sur une vidéo hébergée : le service affiche sa propre miniature. Cela reste valable pour un fichier. 
 + 
 +**Autres supports.** Discord et le Terminal affichent le lien, ce dernier nommant aussi la plateforme. Dans un export HTML5, la vidéo reste en ligne : elle n'est pas embarquée dans l'archive et le rapport ne la signale pas comme manquante. L'export doit donc être servi en HTTP ou HTTPS, les lecteurs hébergés ne fonctionnant pas depuis une page locale ''%%file://%%''.
  
 Les vidéos fonctionnent aussi dans les **encadrés HUD** (''encadre:''). Voir [[fr:yaml:hud|HUD]]. Les vidéos fonctionnent aussi dans les **encadrés HUD** (''encadre:''). Voir [[fr:yaml:hud|HUD]].
Ligne 76: Ligne 110:
 ===== Variables dans les URLs (v4.10) ===== ===== Variables dans les URLs (v4.10) =====
  
-Dans les URLs de sons, images et vidéos, utilisez ''{nom_variable}'' (accolades) pour construire un chemin dynamique :+Dans les URLs de sons, images et vidéos, utilisez ''{nom_variable}'' pour construire un chemin dynamique :
  
 <code yaml> <code yaml>
Ligne 82: Ligne 116:
   [[https://monsite.fr/images/{zone}.png]]   [[https://monsite.fr/images/{zone}.png]]
   <<https://monsite.fr/sons/{ambiance}.mp3>>   <<https://monsite.fr/sons/{ambiance}.mp3>>
-  ((https://monsite.fr/videos/{clip}.mp4))+  ((poster=https://monsite.fr/posters/{clip}.jpg:https://monsite.fr/videos/{clip}.mp4))
 </code> </code>
  
-  * Fonctionne avec les variables **numériques et textuelles**, y compris les variables online (''{piste_o}'') +  * Fonctionne avec les variables numériques, textuelles et online, par exemple ''{piste_o}''. 
-  * Si la variable est inconnue, ''{nom}'' reste tel quel dans l'URL (pas d'erreur) +  * Si la variable est inconnue, ''{nom}'' reste tel quel dans l'URL. 
-  * ⚠ La syntaxe ''v_nom_v'' reste réservée au **texte narratif** — les ''{}'' n'ont aucun sens dans une URL+  * La syntaxe ''v_nom_v'' reste réservée au texte narratif ; pour les URLs, utilisez les accolades.
  
-===== Médias dans les descriptions d'objets (v4.9) ===== +===== Médias dans les descriptions d'objets =====
- +
-Les descriptions d'objets acceptent des URLs — elles deviennent cliquables dans l'inventaire :+
  
 <code yaml> <code yaml>
 objets: objets:
   - nom: carte   - nom: carte
-    endroit: "table"+    endroit: table
     description: "Une carte du royaume.\n[[https://exemple.com/images/carte.png]]"     description: "Une carte du royaume.\n[[https://exemple.com/images/carte.png]]"
     msg_ramassage: "Vous prenez la carte."     msg_ramassage: "Vous prenez la carte."
  
   - nom: cle_musicale   - nom: cle_musicale
-    endroit: "coffre"+    endroit: coffre
     description: "Une clé qui sonne. <<https://exemple.com/sons/cle.mp3>>"     description: "Une clé qui sonne. <<https://exemple.com/sons/cle.mp3>>"
     msg_ramassage: "Vous prenez la clé."     msg_ramassage: "Vous prenez la clé."
Ligne 107: Ligne 139:
  
 Si la description est uniquement une URL image ''%%[[url]]%%'', ''examiner <objet>'' affiche l'image directement. Si la description est uniquement une URL image ''%%[[url]]%%'', ''examiner <objet>'' affiche l'image directement.
- 
-**Retrouvez nous sur le [[https://discord.gg/Z63DtVV|discord Make&Play]]** 
  
fr/yaml/medias.1777821765.txt.gz · Dernière modification : de cyrilfiesta