<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Quelques #ID et beaucoup de .CLASS]]></title>
        <description><![CDATA[Ce blog est une compilation d'articles sur le développement JavaScript Front-end jQuery, Back-end Node.js ou développement web en général.]]></description>
        <link>https://blog.lesieur.name</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Thu, 30 Oct 2025 18:08:46 GMT</lastBuildDate>
        <atom:link href="https://blog.lesieur.name/feeds/articles.xml" rel="self" type="application/rss+xml"/>
        <author><![CDATA[Bruno Lesieur]]></author>
        <pubDate>Thu, 30 Oct 2025 18:08:45 GMT</pubDate>
        <copyright><![CDATA[2012-2014 Bruno Lesieur]]></copyright>
        <language><![CDATA[fr]]></language>
        <managingEditor><![CDATA[Bruno Lesieur]]></managingEditor>
        <webMaster><![CDATA[Bruno Lesieur]]></webMaster>
        <ttl>60</ttl>
        <item>
            <title><![CDATA[Est-il si null cet undefined ?]]></title>
            <description><![CDATA[<p>Si vous faites du JavaScript régulièrement —et il est de plus en plus difficile d&#39;y couper si vous êtes développeur web—, vous vous êtes peut-être déjà posé cette question : « <em>Quelle est la différence entre la valeur <samp>null</samp> et la valeur <samp>undefined</samp> ?</em> ». Question qu&#39;on ne se pose pas quand on vient d&#39;un autre langage.
<img width="620" height="300" style="max-width: 100%;height: auto;" src="https://blog.lesieur.name/media/images/upload/null-vs-undefined.png" alt="Null vs Undefined"></p>
<p>Si nous résumons ensemble nous pouvons tomber d&#39;accord sur le fait que :</p>
<ul>
<li><em>Null</em> et <em>Undefined</em> sont tous les deux des types ne possédant qu&#39;une seule valeur ; les constantes respectives <samp>null</samp> et <samp>undefined</samp>.</li>
<li>Ils s&#39;utilisent tous les deux pour indiquer « l&#39;absence ».</li>
<li>Ils sont tous les deux évalués à <samp>false</samp> dans un contexte booléen (ex. : dans une structure de contrôle conditionnelle <samp>if</samp>, avec l&#39;opérateur binaire d&#39;égalité <samp>a == b</samp>, avec l&#39;opérateur ternaire conditionnel <samp>a ? b : c</samp>, etc.).</li>
</ul>
<p>En gros, ils servent donc à la même chose non ? Cette réponse ne me convient pas car, même s&#39;il est vrai qu&#39;à chaque première vu les comportements JavaScript semblent « loufoque », l&#39;expérience m&#39;a toujours montré que « c&#39;était moi » qui n&#39;avait pas compris correctement le JavaScript. Si les deux types existes, il y a probablement une distinction. Voici ce qui en est concrètement dit :</p>
<blockquote>
<p>La valeur <samp>undefined</samp> appartient au type primitif <em>Undefined</em> et est utilisée quand aucune valeur typée n&#39;a été assignée à une variable.</p>
</blockquote>
<blockquote>
<p>La valeur <samp>null</samp> appartient au type primitif <em>Null</em> et représente l&#39;absence de valeur, la non-existence d&#39;une référence dans une variable.</p>
</blockquote>
<p>La distinction est plus clair ainsi non ? Pas vraiment... On va retrousser nos manches et regarder un peu ce qu&#39;on peut éclaircir. Si vous n&#39;avez pas le temps de suivre l&#39;explication exhaustive (et intéressante je l&#39;espère) qui va suivre, je vous laisse <a href="./difference-entre-type-null-et-type-undefined-en-javascript/#tl-dr">filer à la conclusion</a> qui répond à cette question. Si par contre vous êtes curieux et/ou avez le temps de comprendre les différences, c&#39;est juste en dessous !</p>
<h2 id="faible-mais-tout-de-même-dynamique">Faible mais tout de même dynamique</h2>
<p>Pour répondre à notre question, nous allons faire un petit tour d&#39;horizon du typage en JavaScript pour qu&#39;il soit plus clair et simple ensuite d&#39;aborder la question principale.</p>
<h3 id="typage-faible">Typage faible</h3>
<p>Les développeurs ayant une grosse dent contre JavaScript (ou qui n&#39;en veulent pas sans sa surcouche TypeScript), l&#39;on souvent car c&#39;est un langage que les moins intéressés qualifieront de non typé et que les plus avertis qualifieront de langage à <strong>typage faible</strong> (par opposition aux langages à typage fort). Cela signifie que vous ne verrez jamais clairement écrit devant une variable ou une constante qu&#39;elle est de type <samp>int num = 45</samp> ou <samp>bool bool = false</samp> ou <samp>String str = &quot;Hello World&quot;</samp>, mais seulement qu&#39;elle est <samp>var num = 45</samp> ou <samp>const bool = false</samp> ou <samp>let str = &quot;Hello World&quot;</samp>.</p>
<h3 id="typage-dynamique">Typage dynamique</h3>
<p>En fait en JavaScript, les variables n&#39;ont pas de type : ce sont les opérandes ou les expressions (composition d&#39;opérandes et d&#39;opérateurs) qui sont typées (qui renvoi un type à l&#39;exécution). On peut grossièrement dire qu&#39;en JavaStript <samp>num</samp>, <samp>bool</samp> et <samp>str</samp> sont des conteneurs qui contiennent un élément typé. Cela permet a une variable d&#39;accueillir tout au long de son cycle de vie dans l&#39;application des valeurs d&#39;opérande/d&#39;expression de différent type, c&#39;est ce qu&#39;on appel le <strong>typage dynamique</strong>. C&#39;est donc le développeur qui décide dans quelle mesure il souhaite afficher clairement le type de contenu qui sera utilisé par ses variables (ex. par leur nom, par leurs commentaires ou par leurs valeurs d&#39;initialisation).</p>
<h3 id="comment-ça-marche-">Comment ça marche ?</h3>
<p>Nous allons donc voir en quelques exemples que ce qui est porteur du type n&#39;est pas la variable en elle-même, mais l&#39;opérande ou l&#39;expression (groupe d&#39;opérandes et d&#39;opérateurs). Pour bien comprendre nos exemples, nous allons vérifier que nous parlons bien de la même chose quand nous parlons de variables, d&#39;opérandes, d&#39;opérateurs, d&#39;expressions ou de structure de contrôle. Vous trouverez plus de détail à ce propos dans le billet <a href="https://blog.lesieur.name/expression-versus-structure-de-controle-en-javascript/">Expression versus structure de contrôle en JavaScript</a>.</p>
<p>Ainsi les instructions suivantes :</p>
<pre class="prettyprint linenums"><code class="language-js">var num = 20 + true,
    bool;
str = &#39;Hello World&#39;;
delete str;
if (num === 21) {
    bool = true;
} else {
    bool = false;
    num = 0;
}
</code></pre>
<p>se décomposent ainsi :</p>
<pre class="prettyprint linenums"><code>┌──────────────────────────────────────────────────┬───────────────────────────────┬──────────────────────────────┬───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Instruction                                      │ Instruction                   │ Instruction                  │ Instruction                                                                                                                   │
├──────────────────────────────────────────────────┼───────────────────────────────┼──────────────────────────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Structure de contrôle                            │ Structure de contrôle         │ Structure de contrôle        │ Structure de contrôle                                                                                                         │
│ de déclaration de variables                      │ d&#39;évaluation d&#39;expression     │ d&#39;évaluation d&#39;expression    │ conditionnelle de bloc if — else                                                                                              │
├─────┬───────────────────────────────────────┬────┼──────────────────────────┬────┼─────────────────────────┬────┼──────┬────────────────┬─────┬───────────────────────────┬──────────┬───────────────────────────┬──────────────────────────┬───┤
│     │ Expression                            │    │ Expression               │    │ Expression              │    │      │ Expression     │     │ Instruction               │          │ Instruction               │ Instruction              │   │
│     ├─────┬────┬────┬────┬──────┬────┬──────┤    ├─────┬────┬───────────────┤    ├───────────┬─────────────┤    │      ├─────┬─────┬────┤     ├───────────────────────────┤          ├───────────────────────────┼──────────────────────────┤   │
│     │     │    │    │    │      │    │      │    │     │    │               │    │           │             │    │      │     │     │    │     │ Structure de contrôle     │          │ Structure de contrôle     │ Structure de contrôle    │   │
│     │     │    │    │    │      │    │      │    │     │    │               │    │           │             │    │      │     │     │    │     │ d&#39;évaluation d&#39;expression │          │ d&#39;évaluation d&#39;expression │ d&#39;évaluation d&#39;expression│   │
│     │     │    │    │    │      │    │      │    │     │    │               │    │           │             │    │      │     │     │    │     ├─────────────────┬─────────┤          ├──────────────────┬────────┼────────────────┬─────────│   │
│     │     │    │    │    │      │    │      │    │     │    │               │    │           │             │    │      │     │     │    │     │ Expression      │         │          │ Expression       │        │ Expression     │         │   │
│     │     │    │    │    │      │    │      │    │     │    │               │    │           │             │    │      │     │     │    │     ├─────┬────┬──────┤         │          ├──────┬────┬──────┤        ├─────┬────┬─────┤         │   │
│     │ var │ op │ od │ op │ od   │ op │ var  │ sc │ prp │ op │ opérande      │ sc │ opérateur │ variable    │ sc │      │ od  │ op  │ od │     │ var │ op │ od   │ sc      │          │ var  │ op │ od   │ sc     │ var │ op │ od  │ sc      │   │
│     │     │    │    │    │      │    │      │    │     │    │               │    │           │             │    │      │     │     │    │     │     │    │      │         │          │      │    │      │        │     │    │     │         │   │
│ var   num   =    20   +    true   ,    bool   ;    str   =    &#39;Hello World&#39;   ;    delete      str           ;    if (   num   ===   21   ) {   bool  =    true   ;         } else {   bool   =    true   ;        num   =    0     ;         } │
└─────┴─────┴────┴────┴────┴──────┴────┴──────┴────┴─────┴────┴───────────────┴────┴───────────┴─────────────┴────┴──────┴─────┴─────┴────┴─────┴─────────────────┴─────────┴──────────┴──────────────────┴────────┴────────────────┴─────────┴───┘
</code></pre><blockquote>
<p>Légende :</p>
</blockquote>
<ul>
<li>od = Opérande</li>
<li>op = Opérateur</li>
<li>var = Variable</li>
<li>prp = Propriété d&#39;objet</li>
<li>sc = Point-virgule (Semicolon)</li>
<li>ins = Instruction</li>
</ul>
<p>Nous voyons ici que l&#39;opérande <samp>20</samp> renvoi <samp>20</samp> qui est un opérande de type <em>Number</em>.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  20
&lt;· 20
</code></pre>
<p>Nous voyons également que l&#39;opérande <samp>true</samp> renvoi <samp>true</samp> qui est un opérande de type <em>Boolean</em> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  true
&lt;· true
</code></pre>
<p>Cependant, dès que ces opérandes sont couplés à des opérateurs, l&#39;expression en question ne retourne pas nécessairement le même type. Cela est le cas de l&#39;expression <samp>20 + true</samp> ou</p>
<ul>
<li><samp>20</samp> (type <em>Number</em>) couplé à</li>
<li><samp>true</samp> (type <em>Boolean</em>) par l&#39;opérateur binaire d&#39;addition <samp>+</samp></li>
</ul>
<p>retourne un opérande <samp>21</samp> de type <em>Number</em> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  20 + true
&lt;· 21
</code></pre>
<p>Dans ce cas de figure, <samp>true</samp> a été coercisé (converti implicitement) par le système en <em>Number</em> (valant <samp>1</samp>) et additionné à <samp>20</samp>. C&#39;est en cela que le typage est dynamique, ce sont les couples d&#39;opérateurs et d&#39;opérandes selon des règles bien précises qui décident du type de l&#39;opérande retourné.</p>
<p>Voyons un autre exemple avec</p>
<ul>
<li>l&#39;opérande de type <em>Number</em> contenu dans la variable <samp>num</samp> ainsi que</li>
<li>l&#39;opérande <samp>21</samp> de type <em>Number</em></li>
</ul>
<p>couplé à l&#39;opérateur binaire d&#39;égalité stricte <samp>===</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  num === 21
&lt;· true
</code></pre>
<p>On voit que cette expression renvoi un opérande de type <em>Boolean</em> alors que les deux opérandes originaux était de type <em>Number</em>.</p>
<h4 id="undefined-le-retour">Undefined, le retour</h4>
<p>Revenons à notre expression <samp>20 + true</samp>. En ajoutant un opérateur d&#39;affectation à gauche <samp>=</samp> à cette expression, nous affectons à <samp>num</samp> un opérande de type <em>Number</em> valant 21. Consommer <samp>num</samp> retourne son opérande.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  num = 20 + true
&lt;· 21
</code></pre>
<p>Avec le mot clé <samp>var</samp> ajouté, notre expression passe de la simple structure de contrôle d&#39;évaluation d&#39;expresion à une structure de contrôle de déclaration de variable. L&#39;expression initiale reste la même mais notre instruction n&#39;est plus utilisable dans les zones accueillant <em>uniquement</em> des expressions (il faudra l&#39;utiliser dans les zone accueillant des déclarations, comme avec <samp>for</samp>). Dans ce cas de figure, la structure de contrôle ne retourne rien et le moteur remplace cela par une opérande de type <em>Undefined</em> (sous entendu une valeur représentant l&#39;« absence » de type).</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var num = 20 + true
&lt;· undefined
</code></pre>
<p>Cependant la variable <samp>num</samp> contient bien l&#39;opérande <samp>21</samp> (c&#39;est le rôle de <samp>=</samp> ça).</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  num
&lt;· 21
</code></pre>
<h4 id="undefined-3-le-retour-2">Undefined 3, le retour 2</h4>
<p><samp>undefined</samp> est également une valeur qui peut être attribuée à la variable lors de l&#39;utilisation d&#39;une déclaration de variable. La variable n&#39;ayant pas d&#39;opérateur d&#39;affectation à gauche <samp>=</samp> se voit attribué un opérande de type <em>Undefined</em>.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  bool
&lt;· « Uncaught ReferenceError: bool is not defined »
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var bool;
   bool
&lt;· undefined
</code></pre>
<blockquote>
<p>Tout ceci pour dire que <strong>le type d&#39;opérande de retour d&#39;une déclaration (ou d&#39;une structure de contrôle) est</strong> <em>Undefined</em>. Ce type peut également s&#39;obtenir avec l&#39;opérateur <samp>void</samp>. Ainsi dans l&#39;expression <samp>void {opérande de n&#39;importe quel type}</samp>, l&#39;opérande de retour sera toujours du type <em>Undefined</em>.</p>
</blockquote>
<blockquote>
<p>Cela n&#39;est <strong>pas le cas du type</strong> <em>Null</em> <strong>qui est un opérande que l&#39;on peut uniquement déclarer manuellement</strong>.</p>
</blockquote>
<h2 id="cest-lhistoire-de-8-types">C&#39;est l&#39;histoire de 8 types</h2>
<p>La première chose qui diffère entre le JavaScript et d&#39;autres langages, hors mis le fait qu&#39;il n&#39;y ai pas que la valeur <samp>null</samp> qui représente « l&#39;absence », est que cette valeur est elle même un type à part entier. En d&#39;autres termes, les 3 types primitifs chaîne de caractère, nombre et booléen —respectivement <em>String</em>, <em>Number</em> et <em>Boolean*— ne peuvent pas avoir pour valeur <samp>null</samp>, à priori seul le type *Null</em> peut valoir <samp>null</samp>. Et de la même manière, seul le type <em>Undefined</em> peut valoir <samp>undefined</samp>. Vous pourrez entrer plus en détail dans le typage en JavaScript avec ce billet : <a href="https://blog.lesieur.name/les-types-en-javascript-pour-tout-savoir/">Les types en JavaScript : pour tout savoir !</a>.</p>
<p>Nous pouvons donc affirmer dans un premier temps que le JavaScript possède 8 types, dont 7 types primitifs, dont 2 types spéciaux que nous pouvons résumer dans le tableau ci-après :</p>
<pre class="prettyprint linenums"><code>┌─────────────────────────────────────────────────────────────────────────┐
│ Opérandes                                                               │
├─────────────────┬───────────────────────────────────────────────────────┤
│ ES6+            │ ES1 à ES5                                             │
├────────┬────────┤                                                       │
│ ES2020 │ ES2015 │                                                       │
├────────┴────────┴──────────────────────────────────────────────┬────────┤
│ Primitives                                                     │        │
├────────┬────────┬────────┬────────┬─────────┬──────────────────┤        │
│        │        │        │        │         │ Spéciaux         │        │
│        │        │        │        │         ├───────────┬──────┤        │
│ BigInt │ Symbol │ String │ Number │ Boolean │ Undefined │ Null │ Object │
└────────┴────────┴────────┴────────┴─────────┴───────────┴──────┴────────┘
</code></pre><h3 id="quelque-chose-de-primitif">Quelque chose de primitif</h3>
<p>Jusque là, nous n&#39;avons pas encore répondu à la question. Nous allons creuser un peu plus en détail le fonctionnement des opérandes avant de s&#39;intéresser à la question principale. Puisque nous allons uniquement nous intéresser dans cette partie aux types primitifs, les opérandes peuvent être appelés ici des primitives.</p>
<p>Comme nous avons pu le voir précédemment, chaque primitive peut en renvoyer une autre avec l&#39;aide d&#39;un opérateur. On peut ainsi dire que n&#39;importe quel type peut se « transformer » en un autre type. Par exemple pour nos 3 primitives vedettes nous avons :</p>
<p><strong>String</strong></p>
<p>qui devient un <em>Number</em> grâce à l&#39;aide de l&#39;opérateur unaire <samp>+</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +&#39;42&#39;
&lt;· 42
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +&#39;Hello World&#39;
&lt;· NaN
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +&#39;&#39;
&lt;· 0
</code></pre>
<blockquote>
<p>Note : <samp>NaN</samp> (Not A Number) est bien de type <em>Number</em> (Si, si...), il est généré par des convertions de type qui ne peuvent pas devenir des valeurs numériques usuelles.</p>
</blockquote>
<p>ou qui devient un <em>Boolean</em> grâce à l&#39;aide de l&#39;opérateur unaire <samp>!</samp> (x2) :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!&#39;&#39;
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!&#39;Hello World&#39;
&lt;· true
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!&#39;0&#39;
&lt;· true
</code></pre>
<p><strong>Number</strong></p>
<p>qui devient un <em>String</em> grâce à l&#39;aide de l&#39;opérateur binaire <samp>+</samp> et d&#39;un opérande de type <em>String</em> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  42 + &#39;&#39;
&lt;· &quot;42&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  -0 + &#39;&#39;
&lt;· &quot;0&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  NaN + &#39;&#39;
&lt;· &quot;NaN&quot;
</code></pre>
<p>ou qui devient un <em>Boolean</em> grâce à l&#39;aide de l&#39;opérateur unaire <samp>!</samp> (x2) :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!42
&lt;· true
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!0
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!NaN
&lt;· false
</code></pre>
<p><strong>Boolean</strong></p>
<p>qui devient un <em>String</em> grâce à l&#39;aide de l&#39;opérateur binaire <samp>+</samp> et d&#39;un opérande de type <em>String</em> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  false + &#39;&#39;
&lt;· &quot;false&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  true + &#39;&#39;
&lt;· &quot;true&quot;
</code></pre>
<p>ou qui devient un <em>Number</em> grâce à l&#39;aide de l&#39;opérateur unaire <samp>+</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +true
&lt;· 1
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +false
&lt;· 0
</code></pre>
<blockquote>
<p><strong>Un petit mot sur Symbol et BigInt si vous êtes curieux</strong>
<em>BigInt</em> est similaire à <em>Number</em> pour devenir un type <em>String</em> dans l&#39;usage de l&#39;opérateur binaire <samp>+</samp> et d&#39;un opérande de type <em>String</em> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  9007199254740993n + &#39;&#39;
&lt;· &quot;9007199254740993&quot;
</code></pre>
<p>ou pour devenir un type <em>Boolean</em> grâce à l&#39;aide de l&#39;opérateur unaire <samp>!</samp> (x2) :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!9007199254740993n
&lt;· true
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!0n
&lt;· false
</code></pre>
<p>Bien que pour mélanger <strong>BigInt</strong> et <strong>Number</strong> il faille faire des conversions explicites (<samp>+9007199254740993n</samp> renverra une erreur), on peut toujours tricher en passant par un changement en <strong>String</strong> intermédiaire, voyez plutôt.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +(9007199254740993n + &#39;&#39;)
&lt;· 9007199254740992 // perte de précision car transformé en *Number* alors que la valeur était grande.
</code></pre>
<p>Quand a <em>Symbol</em> la coercition de type n&#39;existe que pour le type <em>Boolean</em> et retournera une erreur si l&#39;on tente de le convertir en <em>String</em>, <em>Number</em> ou <em>BigInt</em>.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  !!Symbol(&#39;Je suis un symbol&#39;)
&lt;· true
</code></pre>
</blockquote>
<h4 id="«-faux--»">« Faux ! »</h4>
<p>Ces transformations signifient que n&#39;importe quelle valeur de primitive à forcément un équivalent de type <em>Boolean</em>, et donc une équivalence <samp>true</samp> ou <samp>false</samp>. Voyons cela à travers les tableaux suivants :</p>
<p><strong>String</strong></p>
<pre class="prettyprint linenums"><code>┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ String vers Boolean                                                                                            │
├───────┬─────┬─────┬───────────────┬─────┬──────┬─────────────────────┬────────┬─────────┬────────┬─────────────┤
│ &#39;&#39;    │ &#39; &#39; │ &#39;a&#39; │ &#39;Hello World&#39; │ &#39;0&#39; │ &#39;42&#39; │ &#39;9007199254740993n&#39; │ &#39;true&#39; │ &#39;false&#39; │ &#39;null&#39; │ &#39;undefined&#39; │
├───────┼─────┴─────┴───────────────┴─────┴──────┴─────────────────────┴────────┴─────────┴────────┴─────────────┤
│ false │ true                                                                                                   │
└───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────┘
</code></pre><p><strong>Number</strong></p>
<pre class="prettyprint linenums"><code>┌────────────────────────────────────────────────────────────────────────────────────┐
│ Number vers Boolean                                                                │
├─────┬───┬────┬─────┬─────┬─────┬─────┬───┬────┬─────┬───────┬──────────────────────┤
│ NaN │ 0 │ -0 │ 0b0 │ 0o0 │ 0x0 │ 0e0 │ 1 │ -1 │ 789 │ -1789 │ Infinity │ -Infinity │
├─────┴───┴────┴─────┴─────┴─────┴─────┼───┴────┴─────┴───────┴──────────────────────┤
│ false                                │ true                                        │
└──────────────────────────────────────┴─────────────────────────────────────────────┘
</code></pre><p><strong>BigInt</strong></p>
<pre class="prettyprint linenums"><code>┌──────────────────────────────────────────────────────┐
│ BigInt vers Boolean                                  │
├────┬──────┬──────┬──────┬───────────────────┬────────┤
│ 0n │ 0b0n │ 0o0n │ 0x0n │ 9007199254740993n │ -42n   │
├────┴──────┴──────┴──────┼───────────────────┴────────┤
│ false                   │ true                       │
└─────────────────────────┴────────────────────────────┘
</code></pre><p><strong>Symbol</strong></p>
<pre class="prettyprint linenums"><code>┌─────────────────────────────┐
│ Symbol vers Boolean         │
├─────────────────────────────┤
│ Symbol(&#39;Je suis un symbol&#39;) │
├─────────────────────────────┤
│ true                        │
└─────────────────────────────┘
</code></pre><p><strong>Boolean</strong></p>
<pre class="prettyprint linenums"><code>┌──────────────────────┐
│ Boolean vers Boolean │
├───────┬──────────────┤
│ false │ true         │
├───────┼──────────────┤
│ false │ true         │
└───────┴──────────────┘
</code></pre><p><strong>Null</strong></p>
<pre class="prettyprint linenums"><code>┌───────────────────┐
│ Null vers Boolean │
├───────────────────┤
│ null              │
├───────────────────┤
│ false             │
└───────────────────┘
</code></pre><p><strong>Undefined</strong></p>
<pre class="prettyprint linenums"><code>┌────────────────────────┐
│ Undefined vers Boolean │
├────────────────────────┤
│ undefined              │
├────────────────────────┤
│ false                  │
└────────────────────────┘
</code></pre><blockquote>
<p>Ce qui signifie que dans la totalité de tous les types et valeurs possible des opérandes, <strong>les 7 uniques valeurs pouvant être</strong> <samp>false</samp> <strong>dans une condition</strong> sont :</p>
</blockquote>
<blockquote>
<ul>
<li><samp>false</samp>,</li>
<li><samp>NaN</samp>, <samp>0</samp> (et variantes),</li>
<li><samp>0n</samp> (et variantes),</li>
<li><samp>&#39;&#39;</samp>,</li>
<li><samp>null</samp> et</li>
<li><samp>undefined</samp>.</li>
</ul>
</blockquote>
<blockquote>
<p>Tout le reste est obligatoirement <samp>true</samp>, et c&#39;est aussi le cas de notre dernier type : le type <em>Object</em>.</p>
</blockquote>
<h3 id="tout-nest-quobjet">Tout n&#39;est qu&#39;Objet</h3>
<p>Penchons nous à présent du côté du dernier type. Celui-ci contient la totalité du reste en JavaScript ! Les objets sont de type <em>Object</em>, les functions sont de type <em>Object</em>, les tableaux Array sont de type <em>Object</em>. Math, RegExp, JSON, etc. sont de type <em>Object</em>.</p>
<p>À ce titre, ils ont donc tous la capacité d&#39;accueillir des propriétés :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var obj = new Object();
   obj.test = &#39;Bruno&#39;;
&lt;· &quot;Bruno&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var obj = {};
   obj.test = &#39;Bruno&#39;;
&lt;· &quot;Bruno&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var fn = new Function();
   fn.test = &#39;Bruno&#39;;
&lt;· &quot;Bruno&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var fn = function () {};
   fn.test = &#39;Bruno&#39;;
&lt;· &quot;Bruno&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var arr = new Array();
   arr.test = &#39;Bruno&#39;
&lt;· &quot;Bruno&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var arr = [];
   arr.test = &#39;Bruno&#39;;
&lt;· &quot;Bruno&quot;
</code></pre>
<p>même s&#39;ils y a une différence entre un objet utilisé uniquement comme agrégateur de valeur et ceux pouvant être exécuté :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof {}
&lt;· &quot;object&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof []
&lt;· &quot;object&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof (function () {})
&lt;· &quot;function&quot;
</code></pre>
<h4 id="quels-sont-vos-références-">Quels sont vos références ?</h4>
<p>Là ou un opérande de type objet diffère fondamentalement d&#39;un opérande de type primitif c&#39;est qu&#39;il est stocké dans les variables et les propriétés d&#39;autres objets par référence. Cela signifie qu&#39;il ne retourne pas un opérande lorsqu&#39;il est analysé seul mais qu&#39;il retourne une référence vers lui-même.</p>
<p><strong>Cas d&#39;une primitive qui copie son contenu</strong></p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var value = &#39;a&#39;;

   (function (val) {
       val = &#39;b&#39;;
   }(value));

   value;
&lt;· &quot;a&quot;
</code></pre>
<p><strong>Cas d&#39;un objet qui partage une référence</strong></p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var ref = { name: &#39;a&#39; };

   (function (obj) {
       obj.name = &#39;b&#39;;
   }(ref))

   ref;
&lt;· Object {name: &#39;b&#39;}
</code></pre>
<blockquote>
<p>Cela induit une chose : un objet, qu&#39;il soit remplit de propriété ou vide, <strong>est toujours évalué à</strong> <samp>true</samp> <strong>dans un contexte de booléen</strong>. Il n&#39;existe donc aucun moyen pour un objet d&#39;être <samp>false</samp> dans une condition.</p>
</blockquote>
<h2 id="batnull-vs-superundefined">Batnull vs. Superundefined</h2>
<p>Bien, je pense que nous en savons assez pour dégager l&#39;utilisé de <samp>null</samp>, <samp>undefined</samp> et de répondre à la question « <em>Quelle est la différence entre la valeur <samp>null</samp> et la valeur <samp>undefined</samp> ?</em> ». Mais ce n&#39;est pas tout, nous allons également pouvoir identifier les différences avec <samp>false</samp>, <samp>&#39;&#39;</samp>, <samp>0</samp>, <samp>0n</samp>, <samp>NaN</samp>, <samp>null</samp> et <samp>undefined</samp> : 7 valeurs qui au final sont évaluées à <samp>false</samp>.</p>
<h3 id="cest-bien-de-rester-neutre">C&#39;est bien de rester neutre...</h3>
<p>Sachez que même si <samp>null</samp> et <samp>undefined</samp> sont censés représenté « l&#39;absence » de quelque chose ; s&#39;ils sont évalués avec des opérateurs réclamant une transformation en <em>String</em>, ils ne représentent pas nécessairement l&#39;élément neutre.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var str1,
       str2 = &#39;Hello&#39;;
   str1 + str2
&lt;· &quot;undefinedHello&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var str1 = null,
       str2 = &#39;Hello&#39;;
   str1 + str2
&lt;· &quot;nullHello&quot;
</code></pre>
<p>Ainsi au lieu d&#39;obtenir <samp>&quot;Hello&quot;</samp> en sortie nous obtenons <samp>&quot;undefinedHello&quot;</samp> ou <samp>&quot;nullHello&quot;</samp></p>
<p>Également, s&#39;ils sont utilisés avec des opérateurs réclamant une transformation en <em>Number</em>, <samp>null</samp> et <samp>undefined</samp> ne sont pas consistant l&#39;un l&#39;autre :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var num;
   +num
&lt;· NaN
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var num = null;
   +num
&lt;· 0
</code></pre>
<p>Le plus intéressant va donc être de définir les variables de type <em>String</em>, <em>Boolean</em>, <em>Number</em> et <em>BigInt</em> en les initialisant avec leur éléments neutre c&#39;est à dire :</p>
<ul>
<li>Celui qui va être évalué à <samp>false</samp> dans un contexte de condition,</li>
<li>Celui qui va être ignoré lors de l&#39;utilisation de l&#39;opérateur <samp>+</samp> (concaténation), <samp>+</samp> (addition) ou <samp>&amp;&amp;</samp>.</li>
</ul>
<p>Le fait de les définir de cette manière va également permettre aux développeurs de comprendre quels types d&#39;opérande doivent contenir la variable tout au long de son cycle de vie s&#39;ils sont adeptes du typage fort et qu&#39;il n&#39;utilise pas TypeScript :</p>
<pre class="prettyprint linenums"><code class="language-js">var str = &#39;&#39;,
    bool = false,
    num = 0,
    bInt = 0n;
</code></pre>
<p>Ainsi les opérations suivantes seront consistantes pour :</p>
<p><em>une chaîne de caractère</em></p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  (str) ? true : false
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  &#39;Hello World&#39; + str
&lt;· &quot;Hello World&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof str
&lt;· &quot;string&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  str = &#39;Hello World&#39;;
   typeof str;
&lt;· &quot;string&quot;
</code></pre>
<p><em>pour un booléen</em></p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  (bool) ? true : false
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  bool &amp;&amp; true
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof bool
&lt;· &quot;boolean&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  bool = true;
   typeof bool;
&lt;· &quot;boolean&quot;
</code></pre>
<p><em>pour un nombre</em></p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  (num) ? true : false
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  1 + num
&lt;· 1
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof num
&lt;· &quot;number&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  num = 42;
   typeof num;
&lt;· &quot;number&quot;
</code></pre>
<p><em>pour un grand nombre</em></p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  (bInt) ? true : false
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  1n + bInt
&lt;· 1n
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof bInt
&lt;· &quot;bigint&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  bInt = 9007199254740993n;
   typeof bInt;
&lt;· &quot;bigint&quot;
</code></pre>
<p>Il va donc être intéressant de laisser le système fournir un opérande de type <em>Undefined</em> à une variable uniquement si elle peut changer de type au cours de son cycle de vie et donc le définir en tant que tel.</p>
<pre class="prettyprint linenums"><code class="language-js">var anything, // var anything = undefined,
    str = &#39;&#39;,
    bool = false,
    num = 0,
    bInt = 0n;
</code></pre>
<h3 id="mais-cest-null-pour-un-objet">...mais c&#39;est null pour un Objet</h3>
<p>Et c&#39;est là qu&#39;intervient notre type <em>Null</em>. Puisque le type <em>Object</em> est quoi qu&#39;il arrive évalué à <samp>true</samp> dans un contexte booléen, il est impossible d&#39;initialiser sa référence à « vide ». Or la valeur <samp>null</samp> est justement évalué à <samp>false</samp> et... <strong>révélation</strong>... retourne <samp>object</samp> quand on utilise l&#39;opérateur <samp>typeof</samp>. De plus, il n&#39;y a pas d’ambiguïté possible car seul vous (manuellement) pouvez affecter un opérande <samp>null</samp> sachant qu&#39;aucune expression ne retourne cette valeur : on fait forcément référence à un objet non encore initialisé.</p>
<p>Ainsi définir</p>
<pre class="prettyprint linenums"><code class="language-js">var obj = null;
</code></pre>
<p>signifie que <samp>obj</samp> accueillera un objet :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  (obj) ? true : false
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  typeof obj
&lt;· &quot;object&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +obj // +&#39;&#39;
&lt;· 0    // 0
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  obj = {};
   typeof obj;
&lt;· &quot;object&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  +obj // +&#39;Hello World&#39;
&lt;· NaN  // NaN
</code></pre>
<h4 id="nan--null-avec-number">NaN : Null avec Number</h4>
<p>Quid de l&#39;utilisation de <samp>null</samp> comme initialisation des types <em>Number</em> voir même <em>Boolean</em> ? C&#39;est vrai, on a vu que <samp>null</samp> se transformait en <samp>0</samp> qui est neutre pour le type <em>Number</em> et en <samp>false</samp> qui est neutre pour le type <em>Boolean</em>. Rien n&#39;est impossible ! Et c&#39;est une éventualité mais gardez à l&#39;esprit que cela fait perdre de la consistance et de la compréhension à votre code.</p>
<p>Effectivement, si pour une raison ou une autre vous ne souhaitez pas utiliser <samp>0</samp> comme élément neutre car il fait tout de même partis des valeurs numériques, vous pouvez le remplacer par <samp>NaN</samp> qui renvoi bien <samp>&quot;number&quot;</samp> avec l&#39;opérateur <samp>typeof</samp> (contrairement à <samp>null</samp> qui renvoi <samp>&quot;object&quot;</samp>...).</p>
<p>En ce qui concerne le type <em>Boolean</em>, sa raison d&#39;être est le fait de n&#39;avoir que deux, et uniquement deux états possibles, aucun intérêt donc de ne pas le mettre à <samp>false</samp> (ou voir à <samp>true</samp>) plutôt qu&#39;à <samp>null</samp>.</p>
<p>Et pour finir, puisque les variables n&#39;ont pas de type à proprement parlé, les définir par défaut avec <samp>null</samp> empêche de ce fait de saisir le type que vous souhaitez y voir placer par la suite...</p>
<h4 id="undefined-nest-pas-not-defined">Undefined n&#39;est pas Not Defined</h4>
<p>Il y a encore une joie du JavaScript qui vient complexifier tout ça, une variable peut à première vue contenir un opérande de type <em>Undefined</em> ou <em>Null</em> mais également ne pas contenir d&#39;opérande ce qui lève l&#39;exception <samp>ReferenceError</samp>. On va essayer de comprendre ça tout de suite avant de conclure.</p>
<p>Utilisons <samp>str</samp> qui contient un opérande de type <em>String</em> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  str
&lt;· &quot;Hello World&quot;
</code></pre>
<p>Couplé à l&#39;opérateur <samp>delete</samp>, cet expression retourne comme opérande un type <em>Boolean</em> pour signifier si l&#39;opération à réussi :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  delete str
&lt;· true
</code></pre>
<p>Opération qui a pour conséquence de vider la propriété <samp>str</samp> de l&#39;objet global <samp>window</samp> de son opérande et donc de la laisser sans rien :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  str
&lt;· « Uncaught ReferenceError: str is not defined »
</code></pre>
<p>Il ne faut pas confondre <samp>str = &#39;Hello World&#39;</samp> qui affecte à la propriété de l&#39;objet global <samp>window.str</samp> un opérande de type <em>String</em> et <samp>var str = &#39;Hello World&#39;</samp> qui affecte à une variable locale un opérande de type <em>String</em> (voir le billet sur <a href="https://blog.lesieur.name/l-objet-des-variables/">l&#39;objet des variables</a>).</p>
<p>Effectivement, une variable locale ne peut jamais être vidée de son opérande et l&#39;expression :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var str = &#39;Hello World&#39;
&lt;· &quot;undefined&quot;
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  delete str
&lt;· false
</code></pre>
<pre class="prettyprint linenums"><code class="language-js">&gt;  str
&lt;· &quot;Hello World&quot;
</code></pre>
<p>n&#39;efface pas la valeur d&#39;une variable. Ainsi une variable initialisée dans le champ lexical local doit être mise à <samp>undefined</samp> si vous souhaitez signifier qu&#39;elle n&#39;est plus utilisée.</p>
<h4 id="«-euh-pourquoi--»">« Euh... Pourquoi ? »</h4>
<p>En fait, quand vous utilisez <samp>str = &#39;Hello World&#39;</samp> alors qu&#39;il n&#39;a pas été défini au préalable par l&#39;opérateur <samp>var</samp>, vous faites exactement la même chose que <samp>window.str = &#39;Hello World&#39;</samp> dans un navigateur ou <samp>global.str = &#39;Hello World&#39;</samp> en Node.js par exemple. Cela signifie donc que vous n&#39;affectez pas un opérande à une variable, mais vous affectez un opérande à la propriété d&#39;un objet : exactement de la même manière qu&#39;avec cette déclaration <samp>{ str: &#39;Hello World&#39;; }</samp>. L&#39;opérateur <samp>delete</samp> sert donc à « retirer » la propriété d&#39;un objet là ou le mettre à <samp>undefined</samp> signifie simplement que la propriété n&#39;a pas réellement d&#39;opérande primitive ou objet.</p>
<p>Dans cet exemple, la propriété ne disparaît pas :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var obj = {
       str: &#39;Hello World&#39;,
       str2: &#39;Bye!&#39;
   };
   obj.str2 = undefined;
   obj;
&lt;· Object {str: &#39;Hello World&#39;, str2: undefined}
</code></pre>
<p>Alors que dans celui-ci, si :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt;  var obj = {
       str: &#39;Hello World&#39;,
       str2: &#39;Bye!&#39;
   };
   delete obj.str2;
   obj;
&lt;· Object {str: &quot;Hello World&quot;}
</code></pre>
<p>En d&#39;autre terme, quand vous sollicitez une variable ainsi : <samp>myVar</samp>,</p>
<ul>
<li>si celle-ci existe en tant que variable local vous obtiendrez au moins : <samp>undefined</samp> (sauf si elle contient un autre opérande).</li>
<li>si elle n&#39;existe pas en local mais existe en tant que propriété de l&#39;objet global vous obtiendrez au moins : <samp>undefined</samp> (sauf si elle contient un autre opérande).</li>
<li>sinon vous obtiendrez « Uncaught ReferenceError: myVar n&#39;est pas définie ».</li>
</ul>
<p>Il faut bien comprendre que ce message concerne la variable en elle même et non l&#39;opérande qui pour le coup n&#39;existe pas du tout : une sorte de « vrai undefined ».</p>
<h2 id="tldr">tl;dr</h2>
<p>Voici mon utilisation des 7 types primitifs et du type <em>Object</em> et quel est la différence d&#39;utilisation entre les constantes <samp>undefined</samp> ou <samp>null</samp>.</p>
<p><strong>String</strong></p>
<p>Si vous savez qu&#39;une variable sera uniquement de type chaîne de caractère durant son cycle de vie, vous pouvez l&#39;initialiser à <samp>&#39;&#39;</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt; (&#39;&#39;) ? true : false; // false
  typeof &#39;&#39;; // &quot;string&quot;;
  (&#39;Hello World&#39;) ? true : false; // true
  typeof &#39;Hello World&#39;; // &quot;string&quot;

  ;(function (str) {
      str = str || &quot;&quot;;
      return str;
  })(/* String ou vide */)
</code></pre>
<p><strong>Boolean</strong></p>
<p>Si vous savez qu&#39;une variable sera uniquement de type booléen durant son cycle de vie, vous pouvez l&#39;initialiser à <samp>false</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt; (false) ? true : false; // false
  typeof false; // &quot;boolean&quot;;
  (true) ? true : false; // true
  typeof true; // &quot;boolean&quot;

  ;(function (bool) {
      bool = bool || false;
      return bool;
  })(/* Boolean ou vide */)
</code></pre>
<p><strong>Number</strong></p>
<p>Si vous savez qu&#39;une variable sera uniquement de type numérique durant son cycle de vie, vous pouvez l&#39;initialiser à <samp>NaN</samp> (ou <samp>0</samp> (neutre pour l&#39;addition), ou <samp>1</samp> (neutre pour le produit)) :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt; (NaN) ? true : false; // false
  typeof NaN; // &quot;number&quot;;
  (42) ? true : false; // true
  typeof 42; // &quot;number&quot;

  ;(function (num) {
      num = num || NaN;
      return num;
  })(/* Number ou vide */)
</code></pre>
<p><strong>BigInt</strong></p>
<p>Si vous savez qu&#39;une variable sera uniquement de type grand nombre durant son cycle de vie, vous pouvez l&#39;initialiser à <samp>0n</samp> (neutre pour l&#39;addition) ou <samp>1n</samp> (neutre pour le produit)) :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt; (0n) ? true : false; // false
  typeof 9007199254740993n; // &quot;bigint&quot;;
  (9007199254740993n) ? true : false; // true
  typeof 9007199254740993n; // &quot;bigint&quot;

  ;(function (bInt) {
      bInt = bInt || 0n;
      return bInt;
  })(/* BigInt ou vide */)
</code></pre>
<p><strong>Object</strong></p>
<p>Si vous savez qu&#39;une variable sera uniquement de type objet, par convention, vous pouvez l&#39;initialiser à <samp>null</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">&gt; (null) ? true : false; // false
  typeof null; // &quot;object&quot;;
  ({}) ? true : false; // true
  typeof {}; // &quot;object&quot;

  ;(function (obj) {
      obj = obj || null;
      return obj;
  })(/* Object ou vide */)
</code></pre>
<p><em>Note: l&#39;utilisation pratique de <samp>null</samp> est d&#39;être la version évalué à <samp>false</samp> d&#39;un type Object car un objet est toujours <samp>true</samp>, et parce que <samp>typeof null</samp> retourne <samp>object</samp>. Cela signifie que <samp>typeof myVarObject</samp> retourne une valeur consistante pour les deux types Object et Null.</em></p>
<p><strong>Types multiples</strong></p>
<p>Si vous savez qu&#39;une variable peu être de plusieurs types (tout au long de son cycle de vie), par convention, vous pouvez l&#39;initialiser à <samp>undefined</samp>.</p>
<pre class="prettyprint linenums"><code class="language-js">&gt; (undefined) ? true : false; // false
  typeof undefined; // &quot;undefined&quot;;
  ;(function (value) {
      value = value || undefined;
      return value;
  })(/* tous les types ou vide */)
</code></pre>
<p>Note : ce genre de pratique tuera instantanément tout passioné de TypeScript, à manipuler avec prudence donc.</p>
]]></description>
            <link>https://blog.lesieur.name/difference-entre-type-null-et-type-undefined-en-javascript/</link>
            <guid isPermaLink="false">588353f9c833701abaaea3a2</guid>
            <category><![CDATA[Node.js]]></category>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Astuces]]></category>
            <category><![CDATA[Navigateurs]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Techniques de Dev]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Thu, 30 Oct 2025 19:07:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Ceux qui viennent d'un Cristal ou de la Brume dans FINAL FANTASY IX]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir les différentes créatures et être issues des Cristaux et de sa Brume dans FINAL FANTASY IX. Nous allons nous appuyer sur le contenu de la page 42 du livre FINAL FANTASY IX ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html">rejoindre l&#39;explication de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://i.pinimg.com/564x/d6/88/67/d6886715f529fa4a4e243bcdee446035.jpg" alt="Mages Noirs et Génomes" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://i.pinimg.com/564x/d6/88/67/d6886715f529fa4a4e243bcdee446035.jpg" target="_blank">Mages Noirs et Génomes <em>par corbergh</em></a></figcaption>
</figure>

<h2 id="cadre-de-lunivers-configuration-du-monde-à-partir-des-documents-de-développement-界設定開発資料より">Cadre de l&#39;univers [Configuration du monde] (à partir des documents de développement) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#1">界設定(開発資料より)</a></em></h2>
<h3 id="la-brume-霧">La Brume <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#1">霧</a></em></h3>
<p>Les âmes de « Héra » [Gaia], renvoyées [envoyées, introduites] à travers les racines, sont devenues la « Brume » [brouillard] qui recouvre le continent. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#2">根を通じて送りこまれたガイアの魂は、大陸を覆う&quot;霧”となった。</a></em></p>
<p>Les gens, comme s&#39;ils échappaient à un sentiment d&#39;oppression [malaise, inquiétude, tension] qui les enveloppait dans la Brume, ont déplacé leurs activités vers les hautes terres (bien que certains groupes ethniques soient restés sous la Brume). <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#3">人々は、“霧”に立ちこめる不穏な気配からのがれるように、高地へとその活動の場を移した(なかには&quot;霧”の下に居つづけた種族もあった)。</a></em></p>
<p>Néanmoins, les conflits sur le continent étaient constants, et la naissance puis la disparition de petits pays était une chose qui se répétait constamment. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#4">それでも大陸の争いごとは絶えず、小国が誕生しては滅ぶということがくり返されていた。</a></em></p>
<p>Les guerres engendraient de nombreux morts. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#5">戦争は多くの死者を生む。</a></em> Cela signifiant l&#39;augmentation des âmes retournant dans le « Cristal ». <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#6">それは、クリスタルに還る魂の増加を意味する。</a></em> Comme prévu par [le plan de] « Garland », les âmes de « Terra » commencèrent à se rassembler. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#7">ガーランドのもくろみどおり、テラの魂は集まるようになった。</a></em></p>
<p>Cependant, un jour [à un certain moment], les guerres ont cessé [de se produire], et le cycle des âmes est revenu à un état antérieur [son état précédent]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#8">だが､あるときを境に戦争が起こらなくなり、魂の循環は以前の状態にもどった。</a></em></p>
<h3 id="les-guerres-戦争">Les Guerres <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#9">戦争</a></em></h3>
<p>Garland a supposé que la raison pour laquelle les guerres se sont arrêtées (ne se produisaient plus) sur Héra était que, [à un moment donné,] un pays avait développé des véhicules volants fonctionnant [exploitant, utilisant] la Brume, avait pris le dessus [dominé, submergé] les autres pays. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#10">ガイアに戦争が起こらなくなったのは、一国が開発した“霧”を利用して飛ぶ乗り物が他国を圧倒してしまったためとガーランドは推察した。</a></em></p>
<p>C&#39;est alors qu&#39;à ce moment [cette époque], il pensa envoyer un « Génome » dotés d&#39;une forte [puissante] volonté [détermination] pour provoquer à nouveau des conflits sur Héra. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#11">そこで、当時誕生した強い意志を持つジェノムを遣わして、ガイアにふたたび戦乱を引き起こさせることを考えた。</a></em> Ce Génome a été appelé « Kuja ». <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#12">そのジェノムはクジャといった。</a></em></p>
<h3 id="les-génomes-et-kuja-ジェノムとクジャ">Les Génomes et Kuja <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#13">ジェノムとクジャ</a></em></h3>
<p>Contrairement à ce qui avait été réalisé parfaitement par le passé [jusqu&#39;à présent] par « Fusion », le Génome créé à ce moment-là était encore mal adapté [non adapté, incompatible] en tant que réceptacle à âme, et Garland dû répéter les tentatives pour créer un Génome meilleur [plus adapté]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#14">それまでの完璧に行なわれた融合によって生み出されたものとちがい、このときのジェノムは魂の器としてはまだ不適合であり、ガーランドはよりよいジェノムを生み出すために、試行を重ねざるを得なかった。</a></em></p>
<p>C&#39;est lors de ce processus, qu&#39;est né par hasard [par accident, de manière non attendu] Kuja en tant que Génome avec une volonté forte mais [et] inutile en tant que réceptacle. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#15">クジャは、その過程で偶然生まれた、器としては余計な強い意志を持つジェノムだった。</a></em></p>
<p>Garland décida d&#39;envoyer [d&#39;abandonner] ce Génome sur Héra, pour l&#39;utiliser [le mettre à profit] comme un pion [une pièce] dans la création de conflits sur place. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#16">ガーランドは、そのジェノムを廃棄する前にガイアに遣わし、同地に戦乱を起こさせるコマとして活かすことにした。</a></em></p>
<p>Après avoir nommé le Génome Kuja et l&#39;avoir envoyé, Garland décida de créer  spécifiquement [dès le départ] des Génomes avec la capacité de perturber Héra en les étudiant [observant, examinant] attentivement. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#17">クジャと名づけたジェノムを送り出したのち、ガーランドは､ガイアを乱すための能力を持つジェノムを、はじめから見定めて創り出すことにした。</a></em></p>
<h3 id="djidane-et-kuja-ジタンとクジャ">Djidane et Kuja <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#18">ジタンとクジャ</a></em></h3>
<p>« Djidane » est un Génome qui, contrairement à Kuja, a été créé à l&#39;état [en tant qu&#39;] enfant et possède la capacité de « Transe ». <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#19">ジタンは、クジャとちがって子どもの状態で創り出された、トランス能力を備えるジェノムだった。</a></em> Le fait d&#39;avoir été créé dans un état d&#39;enfant signifie qu&#39;il a appris [suivit un apprentissage] en grandissant, et le fait de posséder la capacité de Transe signifie qu&#39;il a des émotions riches, ce qui le rend supérieur à [place au-dessus de] Kuja en tout. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#20">子どもの状態で創られたということは、学習とともに成長させるための処遇であり、トランス能力を備えるということは､豊かな感情を持つということになり、すべてがクジャの上位にあった。</a></em></p>
<p>Kuja, qui n&#39;a pas pu supporter [pardonner] l&#39;existence de Djidane, a secrètement abandonné [jeté] Djidane sur Héra à l&#39;insu de Garland. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#21">ジタンの存在が許せなかったクジャは、ガーランドの目を盗んでジタンをガイアに捨てた。</a></em> Garland a finalement toléré [accepté] cette action mais en contrepartie à interdit [en interdisant] à Kuja d&#39;entrer et de sortir [d&#39;aller et venir] de Terra. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#22">ガーランドは、クジャにテラへの出入りを禁ずることで、最終的にはその行為を容認した。</a></em></p>
<p>[Car] Garland avait réellement besoin d&#39;âmes [à un tel point]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#23">ガーランドは、そこまでして魂を必要としていた。</a></em></p>
<h3 id="le-dilemme-de-garland-ガーランドのジレンマ">Le dilemme de Garland <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#24">ガーランドのジレンマ</a></em></h3>
<p>La Fusion est complétée [pour la première fois] lorsque la circulation du Cristal cible est complètement volée. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#25">融合は、対象のクリスタルの循環を完全に奪ったときにはじめて完成する。</a></em> Cela signifie que l&#39;éclat du Cristal de Héra (bleu) se transforme en l&#39;éclat du Cristal de Terra (rouge). <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#26">それは、ガイアクリスタルの輝き(青)がテラクリスタルの輝き(赤)に変わることを意味している。</a></em></p>
<p>Cependant, le monde de Terra est toujours enveloppé de la lumière bleue de Héra, et Garland est incapable [ne peut pas] d&#39;entreprendre des actions telles que détruire Héra instantanément [d&#39;un seul coup]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#27">しかし、いまだテラ界はガイアの青い光につつまれており、ガーランドは、ガイアを一気に滅ぼすといった行動に移ることができないでいる。</a></em></p>
<p>Puisque que court des évènements doit être changer progressivement, Garland a gardé [laissé] Kuja en vie. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#28">徐々に流れを変えなければならないゆえ、ガーランドはクジャを生かした。</a></em></p>
<p>Garland, qui avait confié à Kuja le travail de perturber Héra et travaillait sur la production de Génomes de haute qualité, a un jour détecté une réaction d&#39;énergie élevée similaire à celle d&#39;il y a 500 ans. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#29">ガイアを乱すことをクジャにまかせ、良質なジェノムの生産に取り組んでいたガーランドは、あるとき、500年前と同様の高エネルギー反応を感知した。</a></em></p>
<h3 id="il-y-a-500-ans-500年前">Il y a 500 ans <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#30">500年前</a></em></h3>
<p>Dans un royaume sur le continent de la Brume, une puissante « Chimère » [bête invoquée] a été appelée [invoquée]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#31">霧の大陸のとある王国にて、強大な召喚獣が呼び出された。</a></em> La Chimère, qui avait un pouvoir étonnant [même] pour Garland, s&#39;est échappée des mains de ses Invokeurs et a causé la destruction de la région environnante. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#32">ガーランドにとっても驚くべき力を有するその召喚獣は、術者の手を放れて暴走し、あたり一帯を壊滅させた。</a></em></p>
<p>Ceux qui l&#39;avaient invoquée ont scellé la Chimère et ont dissimulé [caché] le lieu où elle se trouve [sa destination]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#33">呼び出した者たちは、その召喚獣を封印し行方をくらました。</a></em></p>
<p>◆ La Chimère « Alexandre », qui a provoqué une catastrophe il y a 500 ans, repose encore aujourd&#39;hui dans le « Royaume d&#39;Alexandrie ». <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#34">◆500年前に大惨事を引き起こした召喚獣、アレクサンダーは、いまもアレクサンドリア王国に眠る。</a></em></p>
<h3 id="les-chimères-召喚獣">Les Chimères <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#35">召喚獣</a></em></h3>
<p>Les Chimères [bêtes invoquées] sont des entités [puissantes] à hautes énergies nées des Cristaux, chargées de protéger leur Cristal et incarnées par les souvenirs [mémoires] stockés dans leur Cristal. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#36">召喚獣とは、クリスタルから生まれる、クリスタルを守る高エネルギー体であり、クリスタルに蓄積された記憶が具現化した存在。</a></em></p>
<p>Le nombre, les capacités, etc., sont influencés par le pouvoir des Cristaux, donc les Chimères nées du Cristal ancien de Terra ne peuvent pas rivaliser avec les Chimères de Héra.&quot; <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#37">その数、能力などはクリスタルのパワーに左右されるため、テラの老いたるクリスタルから生まれる召喚獣では、ガイアの召喚獣に太刀打ちできない。</a></em></p>
<p>Garland, ayant cherché l&#39;endroit où la réaction à haute énergie s&#39;est produite, a découvert une race capable d&#39;interagir avec les Chimères, là où les lignes énergétiques [flux tellurique] de Héra se croisent. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#38">高エネルギー反応の生じた場所を探ったガーランドは、ガイアの地脈の交わるところで、召喚獣との交感を行なうことのできる種族を発見する。</a></em></p>
<p>Bien que leur pouvoir ne menaçait pas encore Terra, Garland, considérant leur destination comme dangereuse, a donné des instructions à Kuja pour détruire le village. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#39">テラを脅かすほどの力はまだなかったものの、彼らの行く先を危険視したガーランドは、クジャに指示し、その集落を滅ぼす。</a></em></p>
<p>Ceci est un événement qui s&#39;est produit il y a 10 ans. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#40">これが10年前の出来事。</a></em></p>
<h3 id="le-dilemme-de-kuja-クジャのジレンマ">Le dilemme de Kuja <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#41">クジャのジレンマ</a></em></h3>
<p>Kuja avait peur d&#39;être considéré comme rien de plus qu&#39;un simple intermédiaire [phase transitoire, maillon d&#39;une chaine], car Garland était en train de créer un Génome exceptionnel appelé Djidane. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#42">ジタンというすぐれたジェノムをガーランドが創り出していたことから、クジャは、自分がただのつなぎとしか見なされていないのではと危惧していた。</a></em></p>
<p>Il pouvait utiliser librement les installations de Terra à la surface de Héra (Le « Palais du désert », « Pic de Goulg » [Volcant de Gurgu][, ] le « Château d&#39;Ypsen », « Euyevair », L&#39;« Arbre Ifa »), et appeler l&#39;« Invincible » par l&#39;intermédiaire de « Silverdragon » [Dragon d&#39;argent], mais comme il lui était impossible [interdit] d&#39;aller et venir sur Terra, il n&#39;avait aucun moyen de les utiliser pour lancer une rébellion. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#43">ガイア地表のテラの施設(デザートエンプレス、グルグ火山イプセンの古城、ウイユヴェール、イーファの樹)は自由に使うことができたし、銀竜を通じてインビンシブルを呼ぶこともできたが、テラへの行き来を禁じられたために、それらを用いて反抗を仕掛けるすべはなかった。</a></em></p>
<p>Cependant, Kuja a été intéressé par ce qui se passait dans le village [la colonie] qu&#39;il a détruit sur instruction [sous la direction] de Garland. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#44">しかしクジャは、ガーランドの指示によって滅ぼした集落で行なわれていたことに興味を持った。</a></em> Finalement, il a découvert l&#39;existence des Chimères, ce qui l&#39;a conduit à l&#39;incident qui s&#39;est produit à Alexandrie il y a 500 ans. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#45">やがて召喚獣の存在を知り、500年前にアレクサンドリアで起きた事件に行き着く。</a></em></p>
<p>Et ensuite, avec un cadeau [souvenir] sous la forme de « Mage Noir », il a cherché à gagner la faveur de la reine de l&#39;époque, « Branet ». <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#46">そして、黒魔道士という手みやげを持って、時の女王ブラネに取り入った。</a></em></p>
<h3 id="les-mages-noirs-黒魔道士">Les Mages Noirs <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#47">黒魔道士</a></em></h3>
<p>Des entités créées à base de Brume, en opposition aux Génomes. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#48">&quot;霧”をもとにして生み出された、ジェノムと対をなす存在。</a></em> Les Génomes sont des êtres créés basés sur le facteur Terra, tandis que les Mages Noirs sont des êtres créés basés sur le facteur Héra. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#49">テラ因子をもとに生み出された存在がジェノムであり、ガイア因子をもとに生み出された存在が黒魔道士。</a></em></p>
<p>Tout comme les Génomes, ils étaient à l&#39;origine des êtres dont les émotions étaient réprimées, mais en raison de l&#39;environnement intense (les guerres) dans lequel ils ont vécu, des variations [divergences] individuelles se sont manifestés en réaction [produites en conséquence]. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#50">ジェノムと同じく、本来は感情の抑制された存在だが、強烈な環境(戦争)のなかで過ごした結果、個体差が生ずる結果となった。</a></em></p>
<p>De plus, les monstres [créatures magiques] de la Brume vont de [sont en] paire avec les Silverdragons [Dragons argentés], chacun étant respectivement créé à partir des facteurs de Héra et de Terra. <em><a href="https://machinisteweb.github.io/ffix-uo/p42-create-from-crystals-and-mists/index.html#51">なお、霧の魔獣と銀竜も対になっており、それぞれガイア因子、テラ因子から創り出されている。</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFIX <a href="/final-fantasy-zet-et-tic/#final-fantasy-ix">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/ceux-qui-viennent-d-un-cristal-ou-de-la-brume-dans-final-fantasy-ix-ffix-zet-tic/</link>
            <guid isPermaLink="false">652119ac2dc08037bddfbb3f</guid>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Jeux]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sat, 07 Oct 2023 08:41:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[L'Arbre Ifa et le Cycle des âmes dans FINAL FANTASY IX]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir le lien entre l&#39;Arbre Ifa et le Cycle des âmes dans FINAL FANTASY IX. Nous allons nous appuyer sur le contenu de la page 41 du livre FINAL FANTASY IX ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html">rejoindre l&#39;explication de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://static.actugaming.net/media/2020/05/Final-fantasy-9-ifa1-e1596213241691.jpg" alt="Ifa Grand Arbre de Vie" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://static.actugaming.net/media/2020/05/Final-fantasy-9-ifa1-e1596213241691.jpg" target="_blank">Ifa Grand Arbre de Vie <em>par Square-Enix</em></a></figcaption>
</figure>

<h2 id="cadre-de-lunivers-configuration-du-monde-à-partir-des-documents-de-développement-界設定開発資料より">Cadre de l&#39;univers [Configuration du monde] (à partir des documents de développement) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#1">界設定(開発資料より)</a></em></h2>
<h3 id="larbre-ifa-the-tree-of-eva">L&#39;Arbre “Ifa” <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#6">The Tree of “Eva”</a></em></h3>
<p>En réalité, [la vraie nature de] l&#39;arbre géant [est] se compose de racines en spirale donnant une forme d&#39;arbre. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#1">巨大樹の正体はスパイラル状の樹の根っこ。</a></em> Ce que l&#39;on voit [en regardant] depuis la face extérieure sont les arbres qui parasitent [les racines]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#2">その被っこに寄生した樹木が目から見ると</a></em> Cela donne l&#39;impression que [montre] les racines sont [comme étant] d&#39;énormes arbres verts. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#3">根っこを巨大な緑の樹木に見せている｡</a></em></p>
<p>Au centre, en tant que point focal [important, distinctif], il y a quelque chose qui ressemble à un œil. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#4">中央にポイントとして、眼のようなものがある。</a></em></p>
<p>L&#39;arbre a une teinte jaune.<em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#5">樹は黄色味がかったです。</a></em></p>
<figure>
<img width="850" height="480" src="https://thelifestream.net/wp-content/uploads/iifatree-300x197.jpg" alt="Ifa" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://thelifestream.net/wp-content/uploads/iifatree-300x197.jpg" target="_blank">Ifa <em>par Hideo Minaba</em></a></figcaption>
</figure>

<p>【Figure 2】 Croquis de conception de pendant la phase de développement (Illustration : Hideo Minaba). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#7">【図2】開発中設定画(Illustration: Hideo Minaba)</a></em></p>
<h4 id="larbre-ifa-イーファの樹">L&#39;Arbre Ifa <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#8">イーファの樹</a></em></h4>
<p>L&#39;arbre magique de « Terra » qui étend ses racines sur la surface de la planète et fait grandir son tronc à l&#39;intérieur de la planète. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#9">星の地表に根を伸ばし、星の内部に幹を成長させていく、テラの魔法樹。</a></em> La partie qui est sortie à la surface est en réalité équivalente aux racines, juste en dessous de la tige principale de l&#39;arbre [du tronc], [il y a] s&#39;étend un ensemble de racines. 【Figure 2】 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#10">地表に出た部分はじつは根にあたり、ちょうど幹の真裏に根の集合体がある。【図2】</a></em></p>
<p>Les racines s&#39;étendent à la surface et ont pour effet de stabiliser la planète, tandis que le tronc qui s&#39;étend jusqu&#39;au cœur de la planète a pour effet de contrôler la circulation [le cycle] des âmes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#11">地表に根を伸ばすことは大地を安定させる効果があり、星の中心のクリスタルまで伸びる幹には、魂の循環を制御する効果があった。</a></em></p>
<p>Il y a 3000 ans, l&#39;« Ifa » [Eva] a manifesté son pouvoir et stabilisé la planète « Héra » [Gaïa]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#12">イーファがその能力を発揮し、ガイアの大地を安定させたのは3000年前のこと｡</a></em> « Garland » a décidé que le moment était venu de faire revivre le peuple de Terra et a entrepris la création des « Génomes ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#13">ガーランドは、テラの民を復活させる時期がきたと判断し、ジェノムの創造に取りかかった。</a></em></p>
<h4 id="les-génomes-ジェノム">Les Génomes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#14">ジェノム</a></em></h4>
<p>Les Génomes sont des organismes vivant créés en tant que réceptacle [instrument de vie] pour abriter l&#39;âme des habitants de Terra, qui reviennent à la vie après la fin de la « Fusion ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#15">ジェノムは、融合が終わって復活するテラの民の魂を宿す器として、創り出される生命体。</a></em></p>
<p>Cependant, dans la Fusion de Héra et Terra, contrairement à toutes les Fusions précédentes, seuls des Génomes faibles et inadéquats [incompatibles, inadaptés] en tant que réceptacle [instrument de vie] sont nés. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#16">だが､ガイアとテラの融合では、それまでの融合と異なり、器としては不適合な、生命として貧弱なジェノムしか生まれなかった。</a></em></p>
<p>Garland, ayant remarqué l&#39;affaiblissement de la brillance [de l&#39;éclat] du « Cristal » de Terra, a commencé à créer des Génomes en parallèle du [tout en commençant à prendre le] contrôle de la circulation des âmes de Héra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#17">テラのクリスタルの輝きの衰えに気づいたガーランドは、ジェノムを創り出す一方で、ガイアの魂の循環の制御をはじめた。</a></em></p>
<h4 id="le-contrôle-du-cycle-des-âmes-魂の循環の制御">Le contrôle du Cycle des âmes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#18">魂の循環の制御</a></em></h4>
<p>En raison de l&#39;existence de la circulation des âmes avec des souvenirs [mémoires] déjà présents dans le Cristal de Héra, une Fusion totale n&#39;a pas pu être réalisée. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#19">ガイアのクリスタルには、すでに記憶を持つ魂の循環があったため、完全な融合を果たせなかった。</a></em> Au lieu d&#39;être en phase [À la place, presque en phase], les cycles des âmes à travers le Cristal de Terra se sont superposés [ajoutés en combinaison], de sorte qu&#39;il y a maintenant deux cycles qui existent simultanément [en combinaison]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#20">そこに、ほぼ同じ位相に存在することになったテラのクリスタルによる魂の循環が加わり、合わせてふたつの循環が存在することとなった。</a></em></p>
<p>La circulation de Héra [, pour ainsi dire,] a un flux [un élan, une énergie] épais et énergique, tandis que la circulation de Terra [, pour ainsi dire,] a un flux mince et calme, et Terra n&#39;a pas pu s&#39;élever avantageusement [prendre le dessus sur, prévaloir sur]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#24">ガイアの循環は、言わば太く勢いのある流れであり、細く静かな流れと言えるテラの循環では、優位に立つことができなかった。</a></em></p>
<p>Garland a tenté de bloquer le retour des âmes de Héra vers le Cristal en utilisant l&#39;Ifa, afin d&#39;empêcher la naissance de nouvelles âmes à partir du Cristal et de former un monde où seules les âmes de Terra circuleraient, cherchant ainsi à éradiquer les âmes de Héra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#25">ガーランドは、イーファを使ってガイアの魂がクリスタルに還ることをせき止め、クリスタルから新たなが生まれないようにすることでガイアの魂の消滅をはかりテラの魂のみが循環する世界を形成しようとした。</a></em></p>
<p>Cependant, en dépit du fait [bien qu&#39;il bloque] la circulation de Héra, la circulation de Terra continuait de s&#39;affaiblir de plus en plus. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#26">しかし、ガイアの循環をせき止めているにもかかわらず、テラの循環は衰える一方であった。</a></em></p>
<h4 id="anomalies-des-âmes-魂の異変">Anomalies des âmes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#27">魂の異変</a></em></h4>
<p>La raison pour laquelle la circulation des âmes de Terra avait diminué [s&#39;était affaiblie] était que, lors de la Fusion, les âmes de Terra, qui s&#39;était superposés [avait coïncidé, s&#39;était chevauché] avec les âmes de Héra, avaient été prises par la force [le pouvoir] de Héra et étaient devenues une partie de la circulation de Héra. 【Figure 3】 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#28">テラの魂の循環が衰えたのは、融合のさい、ガイアの魂に重なったテラの魂がガイアのパワーに負けて取りこまれ、ガイアの循環に乗るようになっていたためであった。【図3】</a></em></p>
<p>C&#39;est pourquoi Garland a décidé de raffiner [renforcer, purifier] les âmes de Terra à partir [en se servant] des âmes de Héra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#29">そこでガーランドは、ガイアの魂からテラの魂を精製することにした。</a></em></p>
<h4 id="raffinement-des-âmes-魂の精製">Raffinement des âmes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#30">魂の精製</a></em></h4>
<p>Afin de purifier les âmes de Terra à partir des âmes de Héra, le « Diviseur d&#39;âmes » a été installé à la base de l&#39;Ifa. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#31">ガイアの魂からテラの魂を精製すべく、イーファの根元にソウルディバイダーが据えられた。</a></em></p>
<p>L&#39;Ifa, tout en rejetant les âmes provenant [en tant qu&#39;éléments] de Héra, envoie au Diviseur d&#39;âmes les facteurs [les parties, les éléments, les constituants] de Terra, qui les purifient. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#32">イーファが､ガイアのものとしてはじいた魂をソウルディバイダーに送りこむと、ソウルディバイダーはその魂を精製して、テラの因子だけを取り出す。</a></em> Ainsi, les âmes de Terra se retrouvent [ont été] raffinées. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#34">こうして、テラの魂が精製されていった。</a></em></p>
<p>Garland, quant à lui, a décidé d&#39;utiliser l&#39;effet d&#39;influence qu&#39;on les âmes nues [rejetées, dépossédées, non protégées] sur les esprits [cœur] des autres créatures, les incitants à laisser leur rationalité de côté et agir de manière instinctive. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#35">また、ガーランドは、むき出しの魂が他の生物の心に与える影響一理性のたがをゆるませ本能的にさせる効果を利用することにした。</a></em></p>
<p>Pour cette raison, après avoir réintégré les facteurs de Terra purifiés dans la circulation, Garland a commencé à envoyer [introduire] les facteurs restants de Héra sur le continent qui possédait la culture la plus avancée via les [à l&#39;aide des] racines de l&#39;Ifa. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#37">そのため、精製されたテラの因子を循環にもどしたのち、残ったガイアの因子を、もっとも進んだ文化を有する大陸にイーファの根を通じて送りこみはじめた。</a></em></p>
<p>C&#39;est un événement qui s&#39;est produit il y a 1000 ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#38">これが1000年前の出来事。</a></em> [Cela créa] la « Brume » [qui] devint la cause de la naissance du continent où les conflits sont fréquents. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#39">“霧”が発生し、争いごとの頻発する大陸が生まれた原因である。</a></em></p>
<figure>
<img width="850" height="480" src="https://thelifestream.net/wp-content/uploads/assimilation-300x127.jpg" alt="Part de Héra et Terra dans une âme" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://thelifestream.net/wp-content/uploads/assimilation-300x127.jpg" target="_blank">Part de Héra et Terra dans une âme <em>par Hideo Minaba</em></a></figcaption>
</figure>

<p>【Figure 3】 Une représentation graphique montrant une partie de l&#39;âme de Héra incorporée à l&#39;âme de Terra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p41-ifa-and-souls-cycle/index.html#40">【図3】ガイアの魂の一部に、テラの魂が取りこまれたイメージ図</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFIX <a href="/final-fantasy-zet-et-tic/#final-fantasy-ix">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/l-arbre-ifa-et-le-cycle-des-ames-dans-final-fantasy-ix-ffix-zet-tic/</link>
            <guid isPermaLink="false">6517ea7c2dc08037bddf9a57</guid>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sat, 30 Sep 2023 09:29:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Lire le contenu exclusif du Piggyback « FINAL FANTASY IX Le Guide Officiel » avec les mots de passe PlayOnline]]></title>
            <description><![CDATA[<p>Square-Enix (anciennement Squaresoft) a fait publier en France par l&#39;éditeur Piggyback le « FINAL FANTASY IX Le Guide Officiel » <a href="https://www.piggyback.com/fr/guide/final-fantasy-ix/">que vous pouvez retrouver ici</a> dans lequel les 180 pages qui couvrent cet ouvrage ne mentionnent pas tous les secrets de FINAL FANTASY IX. Ces secrets provenant du contenu exclusif gratuit en ligne et disponible sur le site PlayOnline on aujourd&#39;hui disparu… Mais je vous propose de les retrouver !</p>
<figure>
<img width="850" height="480" src="https://www.piggyback.com/fr/wp-content/uploads/sites/3/2020/03/FFIX_F_COV2D_0823_CO.jpg" alt="FINAL FANTASY IX Le Guide Officiel (anglais)" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://www.piggyback.com/fr/guide/final-fantasy-ix/" target="_blank">FINAL FANTASY IX Le Guide Officiel <em>par Piggyback</em></a></figcaption>
</figure>





<h2 id="entrez-votre-code-et-accéder-aux-contenu-exclusif-de-playonline-en-français">Entrez votre code et accéder aux contenu exclusif de PlayOnline en français</h2>
<p>Une copie de ses contenus a été conservé par des possesseurs de l&#39;ouvrage et ayant moi-même acheté cet ouvrage, j&#39;en ai profitez pour créer ce petit outil afin de vous fournir le contenu associé à chaque mot de passe.</p>
<p>Saisissez un des codes disponibles au format F-XXXXXXXX dans votre ouvrage « FINAL FANTASY IX Le Guide Officiel » aux éditions Piggyback pour consulter le contenu exclusif correspondant :</p>
<div class="custom">
<blockquote>
<p>
<strong><samp>OK</samp></strong>
Entrer un code PlayOnline imprimé :
<input type="" name="" v-model="custom" v-on:keyup.enter="open" v-on:blur="open" placeholder="Code PlayOnline F-XXXXXXXX"> <button v-on:click="open">Lire</button>
<span v-if="custom && dirty && !valid"><em>La valeur doit être au format F-XXXXXXXX.</em></span><span v-if="custom && dirty && valid && notfound"><em>Le code {{ custom }} n'existe pas.</em></span>
</p>
</blockquote>
</div>





<h2 id="pourquoi-le-site-playonline-original-pour-ffix-nest-plus-disponible-">Pourquoi le site PlayOnline original pour FFIX n&#39;est plus disponible ?</h2>
<p>Effectivement, le livre est parsemé d&#39;encart « PlayOnline, Mot de passe : F-XXXXXXXX, description d&#39;un complément accessible sur PlayOnline ». Le principe est donc d&#39;entrer le code disponible sous chaque page qui le mentionne sur le site PlayOnline Européen afin d&#39;obtenir le contenu additionel qui n&#39;est pas présent dans l&#39;ouvrage. Malheureusement, ce site est maintenant entièrement dédié à FINAL FANTASY XI et ce contenu additionel n&#39;est plus accessible car à l&#39;origine il a été réalisé en Flash. Après divers changement d&#39;URL, le temps à eut raison de ce site.</p>
<p>C&#39;est pourquoi je vous propose d&#39;accéder à ces contenus qui ont été sauvegardés à l&#39;aide des mots de passe que vous trouverez dans votre ouvrage qu&#39;il vous suffit de saisir dans la zone verte de la section précédente.</p>
<h2 id="attention-à-la-confusion">Attention à la confusion</h2>
<figure>
<img width="850" height="480" src="https://ia601807.us.archive.org/BookReader/BookReaderImages.php?zip=/26/items/final-fantasy-ix-bradygames-strategy-guide/Final%20Fantasy%20IX%20Bradygames%20Strategy%20Guide_jp2.zip&file=Final%20Fantasy%20IX%20Bradygames%20Strategy%20Guide_jp2/Final%20Fantasy%20IX%20Bradygames%20Strategy%20Guide_0000.jp2&id=final-fantasy-ix-bradygames-strategy-guide&scale=8&rotate=0" alt="FINAL FANTASY IX Official Strategy Guide" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://archive.org/details/final-fantasy-ix-bradygames-strategy-guide" target="_blank">FINAL FANTASY IX Official Strategy Guide <em>par BradyGames</em></a></figcaption>
</figure>

<blockquote>
<p>Il existe un autre ouvrage basé sur le même principe : le « BradyGames FINAL FANTASY IX Official Strategy Guide par Dan Birlew » en Anglais qui fonctionne également avec un système de mot de passe à mettre dans le site PlayOnline mais qui n&#39;est pas le même. Si vous possédez cet ouvrage et que vous souhaitez accéder aux contenus exclusif, vous pouvez vous rendre sur le <a href="https://ff9guide.com/">site FINAL FANTASY IX Guide</a> hébergé par un fan qui l&#39;a recréer en HTML <a href="https://ff9guide.com/">ici</a> et entrer les codes en pied de page.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/contenu-exclusif-piggyback-final-fantasy-ix-le-guide-officiel-mot-de-passe-playonline/</link>
            <guid isPermaLink="false">6516e5462dc08037bddf95b3</guid>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Outils]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Thu, 28 Sep 2023 20:55:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[La légende de Hyne dans FINAL FANTASY VIII]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir la légende de Hyne à travers le cours d&#39;un professeur de la Balamb Garden University de FINAL FANTASY VIII. Nous allons nous appuyer sur le contenu des pages 477 et 478 du livre FINAL FANTASY X ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html">rejoindre l&#39;explication</a> <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html">de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://www.destructoid.com/ul/236831-final-fantasy-xiv-a-realm-reborn-first-ps3-screens/8b5295f56f40e16d57fec17e0b7fe697-620x.jpg" alt="Hein [Hyne] de FFIII dans FFXIV" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://www.destructoid.com/ul/236831-final-fantasy-xiv-a-realm-reborn-first-ps3-screens/8b5295f56f40e16d57fec17e0b7fe697-620x.jpg" target="_blank">Hein [Hyne] de FFIII dans FFXIV <em>par Square-Enix</em></a></figcaption>
</figure>

<h2 id="la-leçon-dun-du-jour-au-jardin-à-la-balamb-garden-university-ある日のガーデンの授業風景">La leçon d&#39;un [du] jour au jardin [à la Balamb Garden University] <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#1">ある日のガーデンの授業風景</a></em></h2>
<p>Bonjour [à tous]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#2">おはようございます。</a></em> <br>
Très bien. Aujourd&#39;hui, je vous propose de parler d&#39;une histoire de sorcière. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#3">さて、今日は魔女のお話でしたね。</a></em> <br>
Pour que ce soit [être] clair, ça ne fera pas parti de [ne sera pas inclus dans] l&#39;examen. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#4">はっきり言って、これ、試験に出ません。</a></em> <br>
Et si ça vous semble étrange d&#39;entendre cela de ma part [de la part de votre professeur], vous pouvez [il est acceptable de] ne pas en tenir compte. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#5">だから、先生がこんなこと言うのもヘンですが、聞き流しても結構です。</a></em> <br>
Vous pouvez [il est acceptable d&#39;] étudier autre chose si vous le souhaitez. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#6">別の勉強しててもいいですよ。</a></em> <br>
[Cependant, ] ce qui est important pour vous concerne les aspects réels de la magie : en ce qui concerne les sorcières, eh bien, considérez ça comme [il est acceptable de les retenir en tant que] connaissance [d&#39;une certain manière]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#7">キミたちにとって重要なのは実際の魔法に関することがらであって、魔女のことは、まあ、知識として覚えておく程度でいいでしょう。</a></em> <br>
Comme vous le savez, j&#39;aime [votre professeur aime] [personnellement] beaucoup les histoires [épisodes] concernant les sorcières et je conseillerai [je souhaiterai] à ceux que ça intéresse de tendre l&#39;oreille [d&#39;écoutez attentivement]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#8">でもですね、先生は、この魔女に関するエピソードが個人的に大好きでしてね、だから、興味を持った人は、ちょっと耳を傾けてみてください。</a></em> <br></p>
<p>Très bien, commençons. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#9">では、はじめます。</a></em> <br>
Tout d&#39;abord, en ce qui concerne la partie [discussion] sur les sorcières, il y a un texte indispensable que je [votre professeur] souhaite vous lire. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#10">まず、魔女を語るうえではずせないテキストがありますから、それを先生、読みますね。</a></em></p>
<p>Ahem. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#11">オホン。</a></em></p>
<p><em>C&#39;était encore l&#39;époque où le jour et la nuit étaient mélangés. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#12">「まだ昼と夜が混じりあっていたころ</a></em></p>
<p><em>Il y avait une entité [existence] appelée « Hyne » [Hain, Hein]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#14">ハイン』という存在があった。</a></em> <br>
<em>Hyne, qui a été créé par la terre [zone connue de la terre], passait ses journées à combattre de nombreuses créatures [animaux]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#15">『ハイン』は大地が産み出した、たくさんのケモノとの戦いに明け暮れていた。</a></em> <br>
<em>Hyne avait de la magie, donc en s&#39;appuyant [comptant] sur ce pouvoir, il triompha [survécu] à de longues batailles [combats]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#21">『ハイン」は魔法を持っていたので、その力に頼って長い戦いを勝ち抜いた。</a></em> <br>
<em>Ainsi, Hyne [a pris le contrôle] est devenu le souverain [dirigeant] de cette terre. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#23">こうして｢ハイン」はこの大地の支配者となった。</a></em></p>
<p><em>Hyne souhaitait constamment voir au loin [surveiller, dominer visuellement] tout en restant assis sur son propre siège [trône]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#24">「ハイン」は自分のイスに座ったまま、ずっと遠くまで見通したいと思った。</a></em> <br>
<em>Cependant, depuis l&#39;endroit ou le siège de Hyne était placé, des montagnes gênaient la vue sur la mer [qui n&#39;était pas visible] à l&#39;est. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#28">ところが「ハイン」のイスの場所からでは山が邪魔で東の海が見えなかった。</a></em> <br>
<em>Hyne a envisagé détruire la montagne, mais étant fatigué de ces longues batailles, il a créé un outil pour déchiqueter [couper en morceau] la montagne et a envisagé laisser cet outil faire le travail [de lui-même]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#29">山を壊してしまおうとしたが、長い戦いで疲れていたので「ハイン」は山を切りくずす道具を作って、それに仕事をさせようと考えた。</a></em> <br>
<em>L&#39;outil a été créé de manière à pouvoir se déplacer de lui-même et, si nécessaire, augmenter son propre nombre. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#31">道具は勝手に動いて、必要なら自分たちの数を増やすことができるように作られた。</a></em> <br>
<em>Hyne a nommé les outils « humains ». <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#32">「ハイン」は道具を人間と名づけた。</a></em> <br>
<em>Ceci est notre origine à [devenu le début de] nous, les humains, constitués d&#39;hommes et de femmes. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#33">これが男と女からなる我々人間のはじまりとなった。</a></em></p>
<p><em>Les humains, tout en augmentant leur nombre, ont progressivement déchiqueté [coupé en morceau] les montagnes. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#34">人間は数を増やしながら山を切りくずしていった。</a></em> <br>
<em>Après que tout le travail eut été terminé, les humains se demandèrent ce qu&#39;ils devraient faire ensuite, et ils sont allés le demander à Hyne. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#35">全部の作業が終わったあと、人間はつぎに何をしたらいいのか「ハイン』に聞きにいった。</a></em> <br>
<em>Cependant, Hyne était profondément endormi. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#36">しかし『ハイン」は疲れてぐっすり眠っていた。</a></em> <br>
<em>Comme il n&#39;y avait pas d&#39;autre choix, les humains ont modifié la terre [zone connue de la terre] de leur propre chef. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#37">仕方がないので人間は勝手に大地を作り変えていった。</a></em></p>
<p><em>Quand Hyne s&#39;est réveillé, [l&#39;apparence des] les environs avait complètement changé. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#39">｢ハイン」が目覚めたとき、あたりの様子は一変していた。</a></em> <br>
<em>Ce qui a été le plus surprenant, c&#39;était le nombre d&#39;humains. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#40">何より驚いたのは人間たちの数だった。</a></em> <br>
<em>Pour tenter de réduire le nombre d&#39;humains, Hyne brûla complètement les petits humains qui semblaient inutiles avec de la magie. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#41">「ハイン」は人間を減らそうとして、役に立たなそうな小さな人間を魔法で焼き尽くしてしまった。</a></em> <br>
<em>Ces petits être humain était appelé “enfant” et était quelque chose que les humains chérissaient énormément. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#42">その小さな人間は「子供」と呼ばれる存在で、人間たちがたいそう大切にしていたものだった。</a></em> <br>
<em>Les humains ont crié, pleuré et ont protesté contre Hyne. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#43">人間たちは叫んだり泣いたりして「ハイン」に抗議した。</a></em> <br>
<em>Cependant, Hyne n&#39;a pas écouté ce que disait ses propre outils, donc les humains ont commencé à se mettre en colère. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#44">しかし「ハイン」は自分の道具の言うことなど聞かなかったので、人間たちは怒り出してしまった。</a></em> <br>
<em>Les humains ont cessé d&#39;écouter ce que disait Hyne. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#45">人間たちは「ハイン」の言うことを聞かなくなってしまった。</a></em></p>
<p><em>Les humains ont commencé à se rebeller contre Hyne. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#46">人間たちは「ハイン」に反抗しはじめた。</a></em> <br>
<em>Hyne a riposté avec de la magie, mais il a été surpassé en nombre [croissant] de plus en plus fréquemment par les humains et par l&#39;intelligence qu&#39;ils ont acquise sans la [en se passant de] magie. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#47">「ハイン」は魔法で応戦したが、増えてしまった人間の数と魔法を持たないかわりに獲得した知恵にやりこめられることが多くなった。</a></em></p>
<p><em>Hyne se trouvant dans une situation difficile, a conclu un marché avec les humains. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#48">困った「ハイン』は人間たちと取引をした。</a></em> <br>
<em>Il a envisagé [décidé] de donner sa propre moitié de corps et de puissance [correspondante] aux humains. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#49">自分の半身とその力を人間たちに与えよう、と。</a></em> <br>
<em>Les humains pensèrent que si la puissance de Hyne se divisait de moitié, il ne serait plus très effrayant, ils accèptèrent donc [répondirent favorablement à] cette transaction. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#50">人間たちは「ハイン」の力が半分になれば、あまり恐くないと考えたので、その取引に応じた。</a></em></p>
<p><em>Hyne a déchiré [s&#39;est arraché] la moitié de son propre corps, et l&#39;a offerte [présenté] aux humains. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#52">「ハイン」は自分の身体を切り裂き、半身を人間に差し出した。</a></em> <br>
<em>Ainsi, il était censé y avoir des jours paisibles à la fois pour Hyne et pour les humains. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#54">これで「ハイン」にとっても人間にとっても穏やかな日がくるはずだった。</a></em> <br>
<em>Les humains ont malheureusement commencé à se disputer pour la moitié de pouvoir de Hyne. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#55">ところが人間たちはこの「ハインの半身」が持つ力を奪い合って、争いをはじめてしまった。</a></em></p>
<p><em>Une longue, longue bataille a persisté [continué]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#56">長い長い戦いがつづいた。</a></em> <br>
<em>Durant cette période [À ce moment-là], de nombreuses nations [pays] se sont formée [ont été créés]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#57">このときにたくさんの国ができた。</a></em></p>
<p><em>Ceux qui ont remporté la victoire dans cette bataille étaient le roi « Zebalga [Zebaluga] aux oreilles noires » et sa tribu [son clan, sa famille]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#58">この戦いに勝利したのが黒耳王ゼバルガとその一族だった。</a></em> <br>
<em>Ils sont allés dans la forêt où la moitié de Hyne dormait, comme promis, et ont dit : “Donne-nous ta puissance, comme tu l&#39;as promis”. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#59">彼らは森の中で居眠りしていた「ハインの半身」に約束どおりおまえの力をよこせと言った。</a></em> <br>
<em>Mais la moitié de Hyne a évité [esquivé] la réponse [requête] de manière évasive. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#61">だが「ハインの半身」はのらりくらりと答えをはぐらかした。</a></em></p>
<p><em>Zebalga a consulté le sage « Vascaroon » [Pasukaryūn] pour essayer de sortir de cette impasse [résoudre cela d&#39;une manière ou d&#39;une autre]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#62">なんとかしようとゼバルガは賢者パスカリューンに相談した。</a></em> <br>
<em>Le sage Vascaroon a réfléchi avec sagesse [intelligence] et a obtenu une réponse en consultant [écoutant] la moitié de Hyne. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#63">賢者パスカリューンは知恵を巡らせて「ハインの半身」から答えを聞き出した。</a></em> <br>
<em>Hyne n&#39;avait laissé que de la force musculaire [physique] barbare [sauvage] et grossière [rude] dans sa moitié de corps. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#64">「ハイン」は半身に野蛮で粗野な腕力しか残さなかったのだ。</a></em> <br>
<em>Les humains avait logiquement [naturellement] pensé que la moitié du pouvoir de Hyne était la moitié de pouvoir mystique de la magie, mais la moitié de Hyne était en réalité une enveloppe décharnée [coquille vide]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#65">人間たちは「ハイン」の力の半分とは、当然､神秘の力である魔力の力の半分だと思っていたが、「ハインの半身」は「抜け殻のハイン」だったのだ。</a></em> <br>
<em>La tribu [famille] Zebalga se mit en [manifesta de la] colère en entendant cette histoire. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#66">その話を聞いたゼバルガ一族は怒った。</a></em> <br>
<em>Ils ont envisagé [pensé] à abattre [vaincre] Hyne à la première occasion [prochaine fois] qui avait rompu leur accord [la promesse]. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#67">約束を破った「ハイン」を今度こそ倒そうと考えた。</a></em></p>
<p><em>Cependant, la moitié du corps de Hyne qui possédait la magie n&#39;a [absolument] pas été retrouvée. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#68">しかし魔法を持つほうの「ハインの半身」は一向に見つからなかった。</a></em> <br>
<em>Les humains, face à la disparition de Hyne, l&#39;ont nommé « Hyne le Magicien » [sorcier, mage, maître de la magie] et ont continué à le chercher pendant [à travers] de nombreuses générations. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p477-epilogue/index.html#69">人間は行方不明の「ハイン」に「魔法のハイン」と名づけて､何世代にも渡って捜しつづけた｣</a></em></p>
<p>Ceci était un extrait du livre intitulé “Chronique [Écrits] du Grand Vascaroon”, laissé par celui qui se fit appeler le descendant du sage Vascaroon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#1">このテキストは賢者バスカリューンの子孫を名乗る者が残した書物「偉大なるバスカリューンの記」の一説です。</a></em> <br>
Après cela [cet extrait], de nombreux exploits [haut faits] et inventions du sage Vascaroon sont fièrement retranscrits [enregistrés], mais Hyne n&#39;y sera plus mentionné [réapparaît plus]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#2">このあと、賢者バスカリューンの数々の発明や偉業が得意げにつづられていますが､もう「ハイン」は登場しません。</a></em> <br>
L&#39;auteur l&#39;a probablement oublié en cours de route [à mi-parcours]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#3">きっと作者も途中で忘れてしまったのでしょうね。</a></em></p>
<p>Ah oui, c&#39;est vrai ! <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#4">ああ、そうそう。</a></em> <br>
Ceci est bien sûr [bien entendu] une légende et n&#39;a fait l&#39;objet d&#39;aucune validation scientifique [pas été scientifiquement vérifié]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#5">これは、もちろん伝説であり科学的に事実が検証されたわけではありません。</a></em> <br>
De nos jours, il est communément admis [généralement considéré] que c&#39;est une création [pensée fictive] de l&#39;auteur. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#6">現在では作者の創作と考えるのが一般的です。</a></em> <br>
À cette époque, l&#39;auteur a probablement créé cela en combinant différentes histoires contemporaines [qui existaient à l&#39;époque]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#7">たぶん、この当時にあったいろいろな話を合体させて創り出したのでしょう。</a></em> <br>
Parce que si vous croyez en [accordez du crédit à] ce livre, cela signifierait que le sage Vascaroon a vécu pendant 980 ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#8">だって、あなたたち、この本を信じるとすれば賢者バスカリューンは980年も生きたことになるんですよ。</a></em> Vous voyez ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#9">ね?</a></em> Ça serait étrange, n&#39;est-ce pas ?  <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#10">おかしいでしょ?</a></em></p>
<p>Hein ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#11">え?</a></em> Tu dis que le sage Vascaroon est en réalité Hyne le Magicien ? Ahahaha ! <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#12">賢者バスカリューンがじつは「魔法のハイン』ですって?あはははは。</a></em> <br>
Eh bien, c&#39;est impossible à prouver, alors si vous insistez sur cette théorie [hypothèse], la postérité [générations futures] risque d&#39;y croire encore longtemps. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#13">まあ、証明が不可能なことですから、キミがその説を主張すれば、ず~っと後世の人は信じるかもしれませんね。</a></em></p>
<p>Cela dit, certains d&#39;entre vous ont probablement déjà fait le lien [remarqué], mais d&#39;aucuns [il y a des gens qui] pensaient que Hyne le Magicien était à l&#39;origine des sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#14">さてさて、もう、気づいた人もいるでしょうが『魔法のハイン」こそが魔女のはじまりだと信じた人がいるわけです。</a></em><br>
[Comprenez bien,] les sorcières existent bel et bien [dans la réalité]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#15">魔女は現実に存在します。</a></em><br>
De nombreuses personnes font des recherches sur leurs origines, mais c&#39;est la théorie de Hyne le Magicien qui me plaît le plus [plaît le plus à votre professeur]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#16">ですから、いろいろな人が、その起源の研究をしているわけですが、先生は、この「魔法のハイン」イコール魔女説が一番好きです</a></em> Je dois bien l&#39;admettre [Oui, c&#39;est ça]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#17">はい、そうですね。</a></em> <br>
Bien sûr on dit qu&#39;il n&#39;est pas nécessaire de chercher l&#39;origine [l&#39;explication originelle] dans les légendes, mais vous savez, on dit également que rien ne naît à partir de rien [de zéro]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#18">伝説に起源を求めても仕方ないといえばそのとおりなのですが、ほら、ゼロからは何も生まれないって言うじゃないですか。</a></em> <br>
C&#39;est pourquoi je pense qu&#39;il pourrait y avoir une part de vérité [même] dans les légendes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#19">だから、伝説にもほんの少しの真実があるんじゃないかと思うんです。</a></em> <br>
Ou alors, peut-être voudrais-je [est-ce un espoir] qu&#39;il existe ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#20">いや、あってほしいという希望でしょうか?</a></em></p>
<p>On dirait que la discussion c&#39;est [je me suis] involontairement écartée du sujet. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#21">ああ、ついつい話がそれてしまいますね。</a></em> <br>
Je vais rapidement présenter la théorie selon laquelle Hyne le Magicien est équivalente à [est égal à] la théorie des sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#22">急いで「魔法のハイン」イコール魔女説を紹介します。</a></em></p>
<p>Bien, le terme [mot] « Sorcière » vous semble une évidence [dans son usage], mais cela date de [a été nommé par] l&#39;historien « Tem » [Temu] il y a environ 500 ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#23">さて、「魔女」という言葉は当たり前のように使われていますが、これは約500年前の歴史学者テムの命名です。</a></em> <br>
En raison du mélange de légendes, de récits et de faits, Tem est plutôt classé en tant qu&#39;auteur de contes qu&#39;en tant qu&#39;historien. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#24">テムは伝説や言い伝えと事実をごちゃまぜにして扱ったために、歴史学者というよりは物語作家として位置づけられています。</a></em> <br>
Mais, comme j&#39;apprécie [j&#39;aime] ce Tem, je choisis délibérément de l&#39;appeler historien en respectant sa volonté [tel qu&#39;il souhaitait être appelé]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#25">でも、私はこのテムが好きなので彼の意志を尊重して、あえて歴史学者と呼ぶことにしています。</a></em></p>
<p>Tem écrit ceci à l&#39;intérieur de son propre livre “Le destin de Hyne”. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#26">テムは自著「ハインの行方」の中にこう記しています。</a></em></p>
<p><em>Il n&#39;est pas surprenant que Hyne le Magicien n&#39;ait pas été retrouvé. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#28">「「魔法のハイン」が見つからなかったのは当然である。</a></em> <br>
<em>Hyne le Magicien se cachait sous les traits [en prenant l&#39;apparence] d&#39;une femme, qui selon les mœurs [sensibilité des gens] de l&#39;époque, était considérée comme “une personne à protéger”. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#29">「魔法のハイン」は当時の人々の感覚では「保護すべき者」と考えられていた女性に姿を変えて身を隠していたからである｡</a></em> <br>
<em>Il arrivait qu&#39;une femme apparaisse et joue un rôle important dans l&#39;Histoire, et je considère qu&#39;il s&#39;agissait de Hyne le Magicien. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#30">ときおり、歴史上に重要な役割を果たす女性が現れるが私はこれを「魔法のハイン」と考える。</a></em> <br>
<em>Que ce soit Hyne le Magicien lui-même, ses descendantes, ou celles qui ont hérité de son pouvoir, cela devra être [reste à] clarifier par des recherches futures. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#31">「魔法のハイン」そのものなのか子孫なのか、力を引き継いだ者なのかは、それは今後の研究が明らかにするだろう。</a></em> <br>
<em>Hyne le Magicien avait [prenait] l&#39;apparence d&#39;une femme. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#32">女の姿をした『魔法のハイン」。</a></em> <br>
<em>Et en cela je la nomme “Sorcière”. <a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#33">私はこれを魔女と命名する」</a></em></p>
<p>Cette description se suffit à elle seule. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#34">記述としてはこれだけなんですけどね。</a></em> <br>
C&#39;est une théorie farfelue [rude, brutale], mais elle est convaincante [a une force de persuasion] parce qu&#39;elle est très simple <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#35">まあ、乱暴と言えば乱暴な説なんですけど、シンプルなだけに説得力ありますよね。</a></em> <br>
Tem l&#39;affirme fermement [est catégorique] et sans aucune preuve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#36">なんの証拠もないのにビシビシ断言するテム。</a></em> <br>
Moi j&#39;aime ça [C&#39;est du gout de votre professeur] ! <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#37">先生、気に入ってます。</a></em></p>
<p>Quoi ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#37">え?</a></em> « Hyne le Décharné » [coquille vide] vous intéresse ?<em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#39">「抜け殻のハイン」が気になりますか?</a></em> <br>
Nous en discuterons lors du prochain cours. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#41">それはつぎの授業で話します。</a></em> <br>
C&#39;est vrai que ça pourrait être très intéressant. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#42">これはねえ、とても興味深いですよ。</a></em> <br>
As-tu déjà entendu parler de ce nom lors du cours de géologie ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#43">地質学の授業で名前を聞いたことがあるでしょ?</a></em></p>
<p>Ahahaha. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#44">あはははは。</a></em> <br>
Si je m&#39;attarde trop longtemps [sur le sujet], je vais me tromper de programme, alors tenons nous en [je vais revenir] à l&#39;histoire des sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#45">長くなっちゃうと予定が狂うから魔女の話にもどりますね。</a></em></p>
<p>La prochaine fois [prochain cours], nous parlerons de sorcières historiques réelles <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#46">つぎはいよいよ、実際の歴史上の魔女です。</a></em> <br>
Oui ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#47">はい?</a></em> <br>
Les sorcières actuelles ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#48">現在の魔女?</a></em> <br>
Comme de nombreuses sorcières dans l&#39;histoire, elles ne révèlent pas leur existence. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#49">歴史上、多くの魔女がそうであったように、存在を明らかにしていません。</a></em> <br>
Ça c&#39;est un problème pour nous mais pas pour les sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#50">これはね、魔女というよりは、我々の問題です。</a></em> <br>
Car en fait [en d&#39;autres termes], dans notre société [monde] les sorcières doivent se cacher. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#51">つまり、魔女が身を隠さなくてはならないような世の中、というわけです。</a></em> <br>
Par exemple, si vous découvriez que le « Docteur Kadowaki » est une sorcière, que feriez vous [tous] ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#52">たとえばですね、カドワキ先生が魔女だってわかったらみなさんどうしますか?</a></em> <br></p>
<p>Dites moi ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#53">ね?</a></em> Est-ce que vous pourriez la saluer normalement comme vous l&#39;avez toujours fait [d&#39;habitude] jusqu&#39;à présent ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#54">ふつうに今までどおりアイサツできますか?</a></em> Vous pensez que vous le ferriez ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#55">はいはい、できますか。</a></em> <br>
[Peut-être que] tout le monde ne serait pas comme ça. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#56">でも、そういう人ばかりではありません。</a></em> <br>
Bon, en réalité, il y avait aussi des problèmes du côté des sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#57">う~ん、実際、魔女の側にも問題がありました。</a></em> <br>
Il y avait beaucoup de sorcières qui abusaient du pouvoir magique qu&#39;elles possédaient [avaient en elles-mêmes]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#58">自分だけが持っている魔法の力を悪用する魔女が多かったからです。</a></em> <br>
Allez, on en discutera une autre fois [à une autre occasion]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#59">ああああ、これはまた別の機会に取り上げます。</a></em> <br>
On dirait bien que tout le monde semble avoir de l&#39;intérêt pour les sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#60">なんだ、みんな魔女には興味あるんですねえ。</a></em> <br>
Si c&#39;est le cas et qu&#39;il y a beaucoup de personnes de ce genre, nous [vous et votre professeur] devrions peut-être créer un cercle de recherche sur les sorcières. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#61">そういう人が多いようなら魔女研究サークルでも作ろうかな、先生。</a></em></p>
<p>Bon revenons au sujet principal. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#62">はい、本題にもどります。</a></em></p>
<p>Dans l&#39;histoire, il y a trois sorcières importantes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#63">歴史上、重要な魔女は3人。</a></em> <br>
Oui, tout à l&#39;heure j&#39;ai omis de le mentionné. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#64">ああ、先生、さっきウソ言いました。</a></em> <br>
[Mais] le nom de ces sorcières seront [apparaîtront] à l&#39;examen. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#68">この魔女の名は試験にでます。</a></em></p>
<p>Holà, c&#39;est pas la peine de paniquer comme ça [pas besoin de vous précipiter autant]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#69">あははは、そんなにあわてなくても。</a></em></p>
<p>Eh bien, eh bien. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#71">さてさて。</a></em></p>
<p>En les citant [partant] dans un ordre chronologique, il y a la sorcière qui s&#39;est levée pour le peuple lors de la chute d&#39;un ancien pays. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#72">古い順に言うと、ある国の滅亡のときに人々のために立ち上がった魔女。</a></em> <br>
Beaucoup de gens ont probablement vu ce film basé sur l&#39;histoire de cette sorcière et du « Chevalier Zéphyr » [Zefā]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#73">この魔女と騎士ゼファーの物語は映画にもなってますから見た人も多いでしょうね。</a></em></p>
<p>Ensuite, la sorcière de l&#39;époque de la « Guerre Occulte » [Guerre de la Sorcière] qui a divisé le monde en deux. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#74">つぎに世界を二分した魔女戦争のときの魔女。</a></em> <br>
C&#39;était une sorcière terrible. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#75">恐ろしい魔女でした。</a></em></p>
<p>Et [enfin], celle que nous connaissons [apprécions] le mieux [plus] ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#76">それから我々にとってもっとも身近な?</a></em></p>
<p>Oui, c&#39;est exact. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#77">はいはい、そうです。</a></em> <br>
[C&#39;est] grâce à la coopération de cette sorcière dans la recherche sur les mécanismes de la magie que vous êtes en mesure d&#39;utiliser la magie. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#78">この魔女が魔法の仕組みの研究に協力してくれたおかげで、みなさんが魔法を使えるようになったわけですね。</a></em></p>
<p>Quoi ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#79">あれ?</a></em> <br>
Oh là là ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#80">あれれ?</a></em> <br>
C&#39;est déjà l&#39;heure ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#81">もう時間ですか?</a></em> <br>
On dirait que j&#39;ai [votre professeur a] trop parlé et s&#39;est laissé emporté [en étant complètement absorbé]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#82">先生、夢中になってしゃべりすぎたみたいです。</a></em> <br>
J&#39;ai mal géré mon [fait une erreur dans la répartition du] temps. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#83">時間配分まちがえちゃいました。</a></em></p>
<p>Par manque [de temps], nous nous arrêterons ici pour aujourd&#39;hui. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#84">仕方ないですから、今日はここまでにします。</a></em> <br>
Assurez vous de rechercher et de vous souvenir des noms des trois sorcières que nous avons mentionnées aujourd&#39;hui [précédemment]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#85">さっきの3人の魔女の名前は調べて覚えておくように。</a></em> <br>
[Je vous dis] donc à demain. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffviii-uo/p478-epilogue/index.html#86">ではまた明日。</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFVIII <a href="/final-fantasy-zet-et-tic/#final-fantasy-viii">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/la-legende-de-hyne-final-fantasy-viii-ffviii-zet-tic/</link>
            <guid isPermaLink="false">650ffdd024135e1e11ade9c7</guid>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Zététique]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sun, 24 Sep 2023 09:13:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[L'éclat des Lunes et des Cristaux dans FINAL FANTASY IX]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir comment l&#39;éclat des Lunes se répercutent sur les Cristaux dans FINAL FANTASY IX. Nous allons nous appuyer sur le contenu de la page 43 du livre FINAL FANTASY IX ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html">rejoindre l&#39;explication de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://www.retro-playing.com/wp-content/uploads/2013/05/La-fusion-in%C3%A9vitable-entre-Hera-et-Terra-symbole-de-fin-et-de-renouveau-pour-la-s%C3%A9rie.jpg" alt="Complétion de Fusion de Héra et Terra par les Lunes" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://www.retro-playing.com/wp-content/uploads/2013/05/La-fusion-in%C3%A9vitable-entre-Hera-et-Terra-symbole-de-fin-et-de-renouveau-pour-la-s%C3%A9rie.jpg" target="_blank">Complétion de Fusion de Héra et Terra par les Lunes <em>par Square-Enix</em></a></figcaption>
</figure>

<h2 id="cadre-de-lunivers-configuration-du-monde-à-partir-des-documents-de-développement-界設定開発資料より">Cadre de l&#39;univers [Configuration du monde] (à partir des documents de développement) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#1">界設定(開発資料より)</a></em></h2>
<h3 id="concernant-léclat-des-lunes-et-des-cristaux-月とクリスタルの輝きに関して">[Concernant] l&#39;éclat des Lunes et des Cristaux <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#1">月とクリスタルの輝きに関して</a></em></h3>
<h4 id="deux-lunes-ふたつの月">Deux Lunes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#2">ふたつの月</a></em></h4>
<p>Quand « Terra » [Terre] a tenté de [a échoué à] fusionner avec « Héra » [Gaïa], elles se sont partiellement superposées [chevauchées], mais d&#39;autres parties ne se sont pas superposées. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#3">テラがガイアに融合を仕掛けて失敗したとき、部分的には重なったが、重ならない部分も残った。</a></em></p>
<p>Les « Lunes » étaient l&#39;une d&#39;entre elles [parties non superposées], et depuis, deux Lunes orbites autour de Héra : la Lune bleue qui existait à l&#39;origine autour de Héra et la Lune rouge que possédait Terra (pour plus de détails la Fusion, veuillez vous référer à la page 40, “<a href="/hera-et-terra-dans-final-fantasy-ix-ffix-zet-tic/">Héra et Terra</a>”). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#4">月はそのひとつで、以降､ガイアにはもともとあった青い月と、テラの持っていた赤い月のふたつが周回することとなった(融合の詳細はP.40「ガイアとテラ」を参照)。</a></em></p>
<h4 id="les-cristaux-et-les-deux-lunes-クリスタルとふたつの月">Les Cristaux et les deux Lunes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#5">クリスタルとふたつの月</a></em></h4>
<p>La couleur brillante de chaque Lune est le véritable rayonnement de sa planète, reçu de la lumière de chaque Cristal. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#6">月の輝く色は、星の真の輝きである、クリスタルの光を受けたもの。</a></em> L&#39;éclat du « Cristal de Héra » est bleu, et l&#39;éclat du « Cristal de Terra » est rouge, donc chacune des Lunes brille aussi respectivement de ces couleurs. 【Figure 4】 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#7">ガイアのクリスタルの輝きは青で、テラのクリスタルの輝きは赤なので、それぞれの月もその色に輝いている。【図4】</a></em></p>
<p>Par conséquent, contrairement à la Lune du monde réel, qui présente des phases de Lune [croissance et de décroissance], les Lunes ici sont toujours circulaires. Cependant, parce que le Cristal de Terra est moins brillant que celui de Héra, lorsque la « Lune de Héra » s&#39;approche de la « Lune de Terra », la partie cachée [opposée] parrait très sombre [devient une ombre]. 【Figure 5】 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#8">よって、現実の月とちがって満ち欠けすることがなく、つねに円状だが、テラのクリスタルはガイアの輝きに劣るため、ガイアの月がテラの月より手前にある状態で接近したとき､裏になる部分が影となる。【図5】</a></em></p>
<p>Les deux Lunes, en orbite selon une trajectoire similaire à celle de la 【Figure 6】, atteignent un état où les couleurs bleue et rouge s&#39;alternent tous les 16 jours lorsqu&#39;elles se chevauchent. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#9">ふたつの月が、【図6】のような軌道を周回することで、16日ごとに青と赤の入れかわる、ふたつの月が重なった状態を迎える。</a></em></p>
<p>Cependant, même si Héra se trouve derrière [Terra], en raison de sa forte brillance, elle semble être comme sur la 【Figure 7】 [forme une aura]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#10">ただ、ガイアがうしろにまわっても、輝きが強いため、【図7】のように見える。</a></em></p>
<h4 id="les-cristaux-et-lîle-de-lumière-クリスタルと輝く島">Les Cristaux et l&#39;Île de Lumière <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#11">クリスタルと輝く島</a></em></h4>
<p>La lumière de l&#39;« Île de Lumière » [Étincelante, Scintillante], vénérée par les habitants d&#39;« Est Gaza » en tant qu&#39;objet de foi, émane de l&#39;entre-deux dimensions qui relie Héra et Terra, à partir de laquelle l&#39;éclat des Cristaux s&#39;échappe. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#12">エスト･ガザの住人が信仰の対象としている「輝く島｣の光は、ガイアとテラをつないでいる次元の狭間から、クリスタルの輝きがもれたもの。</a></em> Lorsque la porte permettant l&#39;entrée et la sortie vers Terra s&#39;ouvre, son éclat devient maximal. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#13">テラへ出入りするためのゲートが開くとき、その輝きは最大となる。</a></em></p>
<figure>
<img width="850" height="480" src="https://thelifestream.net/wp-content/uploads/two-moons-300x269.jpg" alt="Mécanisme des Lunes" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://thelifestream.net/wp-content/uploads/two-moons-300x269.jpg" target="_blank">Mécanisme des Lunes <em>par Hideo Minaba</em></a></figcaption>
</figure>

<p>【Figure 4】 Illustration de la phase de développement (Illustration : Hideo Minaba). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#14">【図4】開発中設定画(Illustration: Hideo Minaba)</a></em></p>
<p>【Figure 5】 Illustration de la phase de développement (Illustration : Hideo Minaba). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#14">【図5】開発中設定画(Illustration: Hideo Minaba)</a></em></p>
<p>【Figure 6】 Cycle [de révolution] des deux Lunes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#14">【図6】ふたつの月の周期</a></em></p>
<h4 id="lune-de-héra">Lune de Héra</h4>
<p>Jour 1 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">1日</a></em>
Visible devant [superposée à] la Lune de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">テラの月の前面に重なって見える状態</a></em></p>
<p>Jour 16 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">16日</a></em>
Cachée derrière la Lune de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">テラの月のうしろに重なって隠れた状態</a></em></p>
<p>Jour 32 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">32日</a></em>
Visible devant [superposée à] la Lune de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">テラの月の前面に重なって見える状態</a></em></p>
<p>Jour 48 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">48日</a></em>
Cachée derrière la Lune de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">テラの月のうしろに重なって隠れた状態</a></em></p>
<h4 id="lune-de-terra">Lune de Terra</h4>
<p>Jour 1 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">1日</a></em>
Cachée derrière la Lune de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">ガイアの月のうしろに重なって隠れた状態</a></em></p>
<p>Jour 16 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">16日</a></em>
Visible devant [superposée à] la Lune de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">ガイアの月の前面に重なって見える状態</a></em></p>
<p>Jour 32 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">32日</a></em>
Cachée derrière la Lune de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">ガイアの月のうしろに重なって隠れた状態</a></em></p>
<p>Jour 48 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">48日</a></em>
Visible devant [superposée à] la Lune de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#15">ガイアの月の前面に重なって見える状態</a></em></p>
<p>【Figure 7】 Illustration de la phase de développement (Illustration : Hideo Minaba). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p43-moons-and-crystals/index.html#14">【図7】開発中設定画(Illustration: Hideo Minaba)</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFIX <a href="/final-fantasy-zet-et-tic/#final-fantasy-ix">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/l-eclat-des-lunes-et-des-cristaux-dans-final-fantasy-ix-ffix-zet-tic/</link>
            <guid isPermaLink="false">650d636f24135e1e11addc0c</guid>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Zététique]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Thu, 21 Sep 2023 21:50:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Héra et Terra dans FINAL FANTASY IX]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir la différence entre les mondes de Héra et Terra dans FINAL FANTASY IX. Nous allons nous appuyer sur le contenu de la page 40 du livre FINAL FANTASY IX ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html">rejoindre l&#39;explication de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://i.etsystatic.com/7799364/c/1379/1096/335/960/il/c8275e/1953402037/il_680x540.1953402037_a5j7.jpg" alt="Vue d'artiste de Héra et Terra" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://i.etsystatic.com/7799364/c/1379/1096/335/960/il/c8275e/1953402037/il_680x540.1953402037_a5j7.jpg" target="_blank">Vue d'artiste de Héra et Terra <em>par StudioRavenscraig</em></a></figcaption>
</figure>

<h2 id="cadre-de-lunivers-configuration-du-monde-à-partir-des-documents-de-développement-界設定開発資料より">Cadre de l&#39;univers [Configuration du monde] (à partir des documents de développement) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#1">界設定(開発資料より)</a></em></h2>
<h3 id="héra-et-terra-ガイアとテラ">Héra et Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#1">ガイアとテラ</a></em></h3>
<h4 id="héra-gaïa-ガイア">Héra [Gaïa] <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#1">ガイア</a></em></h4>
<p>La planète qui sert de cadre à Final Fantasy IX. Elle possède une civilisation [culture] où la technologie prend de plus en plus le pas sur la magie. Cette civilisation n&#39;existe encore que dans quelques régions de cette jeune planète. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#2">『FFIX』の舞台となる星。魔法より機械が主となりつつある文明を持つ。文明はまだ一部の地域にしかない、若き星。</a></em></p>
<h4 id="terra-terre-テラ">Terra [Terre] <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#3">テラ</a></em></h4>
<p>C&#39;est un monde où la civilisation de la magie s&#39;est fortement développée. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#4">高度に発達した魔法文明の世界。</a></em> Le peuple de « Terra » avait acquis l&#39;immortalité [vie éternelle] en utilisant la technique de magie ultime appelée la « Fusion ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#5">テラの民は、融合という究極の魔法の技を用いることで、永遠の生を手に入れていた。</a></em> Actuellement, les habitants de Terra ont confié tout à l&#39;administrateur [gérant] « Garland » et sont en stase [endormi] en attendant le jour où la Fusion se terminera [sera achevée] et où ils se réveilleront à nouveau. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#6">現在、テラの民は、管理者たるガーランドにすべてをまかせ、融合が終わりふたたび目覚める日を待って眠りについている。</a></em></p>
<h4 id="la-fusion-融合">La Fusion <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#7">融合</a></em></h4>
<p>La Fusion a lieu lorsque le « Cristal » de la planète où vivent les habitants de Terra vieillit. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#8">融合が行なわれるのは、テラの民の暮らす星のクリスタルが老いたとき。</a></em> La technique de la Fusion consiste à trouver une jeune planète où les activités des êtres vivants possédant une âme [un esprit] avancé ne sont pas en cours [n&#39;ont pas débuté], à prendre de force son Cristal immaculé [pur, innocent], et à en faire devenir une part du puissant « Cycle des âmes » de Terra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#9">高度な精神を有する生物の活動が行なわれていない幼き星を探し出し、その幼き星の無垢なクリスタルを強制的に取りこみ、パワーある魂の循環をテラのものにしてしまう技、それが融合である。</a></em></p>
<h4 id="le-cristal-クリスタル">Le Cristal <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#10">クリスタル</a></em></h4>
<p>Une entité qui gère la circulation des âmes au centre d&#39;une planète. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#11">星の中心で、魂の循環をつかさどる存在。</a></em>
Les êtres vivants créés de l&#39;émission de l&#39;âme par un Cristal, une fois décédés, rendent leur âme accompagnée des souvenirs de leur vie au Cristal. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#12">クリスタルが魂を送り出すことで生まれる生物は、死ぬと生前の記憶をともなった魂をクリスタルに還す。</a></em>
En accumulant ces souvenirs [mémoire], le Cristal grandit [s&#39;enrichit], stimulant l&#39;émergence d&#39;êtres vivants possédant des âmes plus complexes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#13">その記憶を蓄積することでクリスタルは成長し、より複雑な精神を有する生物の発生をうながす。</a></em>
À mesure que le Cristal grandit, son éclat augmente [devient plus lumineux] et enrichit la planète. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#14">クリスタルは、その成長とともに輝きを増し、星を豊かにしていく。</a></em></p>
<p>À la fin de l&#39;accumulation continue de souvenirs [de mémoire], lorsque les changements [accroissements] dû au cycle n&#39;est plus apporté [s&#39;arrête], la croissance du Cristal s&#39;arrête, provoquant le déclin de la planète, et le Cristal vieilli [âgé] retourne à l&#39;univers [au cosmos] avec sa planète. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#15">記憶を蓄積しつづけた果て、循環による変化がもたらされなくなったとき、クリスタルの成長は止まり、星の衰退を引き起こし、老いたるクリスタルは星とともに宇宙に還る。</a></em></p>
<p>Également, le « Cristal de Héra » [Gaia] a un éclat [rayonnement] bleu, tandis que le « Cristal de Terra » [Terre] a un éclat [rayonnement] rouge. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#17">なお､ガイアのクリスタルは青い輝きを、テラのクリスタルは赤い輝きを持つ。</a></em></p>
<h4 id="la-fusion-de-héra-et-terra-ガイアとテラの融合">La Fusion de Héra et Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#18">ガイアとテラの融合</a></em></h4>
<p>Ne parvenant pas à trouver une jeune planète possédant un Cristal immaculé [pur, innocent], Garland qui était dans l&#39;impasse, a choisi la jeune planète « Héra » pour tenter la Fusion. 【Figure 1】 <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#19">無垢なクリスタルを有する幼き星が探し出せず、行き詰まったガーランドは、若い星、ガイアを選び融合をはかった。【図1】</a></em></p>
<p>Au final, en raison du fait que le Cristal de Héra n&#39;était pas pur [vierge], une répulsion [opposition] s&#39;est opérée [a éclaté], provoquant un bouleversement [cataclysme] majeur au point où la civilisation de Héra de l&#39;époque a été complètement dévastée ainsi que la surface terrestre qui est devenue désolée [laissé à l&#39;abandon]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#21">しかし結局､ガイアのクリスタルが無垢ではなかったために反発が生じ、当時のガイア文明が完全に壊滅するほどの大変動が起こり、地表は荒廃した。</a></em></p>
<p>La Fusion qui s&#39;est arrêtée en cours de route [terminée de manière incomplète] tant pour les organismes que pour la nature a engendré de nombreuses sous-espèces, déplaçant [laissant derrière elle] plusieurs installations de Terra sur [vers] la surface terrestre de Héra, tandis que Terra elle-même s&#39;est déplacée à l&#39;intérieur de Héra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#23">生物自然ともに中途半端に終わった融合は、多くの亜人種を生み出し、いくつかのテラの施設をガイア地表に残したまま、テラそのものはガイア内部に移った。</a></em> De plus, parce que la « Lune de Terra » n&#39;a pas du tout fusionnée et a été laissée derrière, Héra initialement avec sa propre « Lune », a maintenant deux Lunes conjointement à [en combinaison avec] la Lune d&#39;origine de Terra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#24">また、テラの月はまったく融合せず取り残されたため、もともとあったガイアの月と合わせて、ガイアはふたつの月を有するようになった。</a></em></p>
<p>Parce qu&#39;elles reçoivent l&#39;éclat des Cristaux, les Lunes sont colorées en bleu pour « la Lune de Héra » et en rouge pour la Lune de Terra. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#25">月はクリスタルの輝きを受けるがゆえ、ガイアの月は青く、テラの月は赤く染まっている。</a></em> De plus, l&#39;« Île de Lumière » [Étincelante, Scintillante] située près d&#39;« Gaza Est » est “l&#39;entre-deux des deux dimensions (Héra et Terra)”, donc l&#39;éclat des Cristaux s&#39;échappe de là (pour plus de détails sur les Lunes, veuillez vous référer à la page 43, “<a href="/l-eclat-des-lunes-et-des-cristaux-dans-final-fantasy-ix-ffix-zet-tic/">Concernant l&#39;éclat des Lunes et des Cristaux</a>”). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#26">また、エスト･ガザ近海に位置する「輝く島」は「両次元(ガイアとテラ)の狭間」であるため、そこからクリスタルの輝きがもれている(月の詳細はP.43「月とクリスタルの輝きに関して」を参照)。</a></em></p>
<p>Garland, afin d&#39;accélérer le rétablissement de la nature dévastée, a [transplanté] fait croitre l&#39;arbre magique « Ifa » [Eifa] de Terra jusqu&#39;à [à] Héra. Cela s&#39;est produit il y a 5000 ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#27">ガーランドは、荒廃した自然の回復を促進すべく、テラの魔法樹「イーファ」をガイアに移植した。これが5000年前の出来事。</a></em></p>
<h3 id="le-monde-de-héra-gaia-world">Le monde de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#29">GAIA WORLD</a></em></h3>
<p>Lune de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#30">ガイア月</a></em></p>
<p>Île de Lumière (entrée) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#31">輝ける島(入り口)</a></em></p>
<p>Cristal de Héra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#33">ガイアクリスタル</a></em></p>
<p>L&#39;arbre Ifa <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#34">イーファの樹</a></em></p>
<h3 id="le-monde-de-terra-terra-world">Le monde de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#36">TERRA WORLD</a></em></h3>
<p>L&#39;espace intermédiaire [entre-deux] entre les deux dimensions <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#32">両次元の狭間</a></em></p>
<p>Île de Lumière (sortie) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#37">輝ける島(からの出口)</a></em></p>
<p>Lune de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#38">テラ月</a></em></p>
<p>Cristal de Terra <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#39">テラクリスタル</a></em></p>
<figure>
<img width="850" height="480" src="https://thelifestream.net/wp-content/uploads/gaia-terra-diagram.jpg" alt="Fusion imcomplète de Héra et Terra" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://thelifestream.net/wp-content/uploads/gaia-terra-diagram.jpg" target="_blank">Fusion imcomplète de Héra et Terra <em>par Hideo Minaba</em></a></figcaption>
</figure>

<p>【Figure 1】 Illustration de la phase de développement (Illustration : Hideo Minaba). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffix-uo/p40-gaia-and-terra/index.html#28">【図1】開発中設定画(Illustration: Hideo Minaba)</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFIX <a href="/final-fantasy-zet-et-tic/#final-fantasy-ix">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/hera-et-terra-dans-final-fantasy-ix-ffix-zet-tic/</link>
            <guid isPermaLink="false">650ae47224135e1e11add210</guid>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Zététique]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Tue, 19 Sep 2023 21:24:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Les Priants dans FINAL FANTASY X]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons expliquer le concept de Priant dans FINAL FANTASY X. Nous allons nous appuyer sur le contenu de la page 86 du livre FINAL FANTASY X ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html">rejoindre l&#39;explication de traduction</a><em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://70f186a60af817fe0731-09dac41207c435675bfd529a14211b5c.ssl.cf1.rackcdn.com/assets/attachments_p/000/043/354/size500_ffx_fayth_detail1.jpg" alt="Mur des Priants" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://70f186a60af817fe0731-09dac41207c435675bfd529a14211b5c.ssl.cf1.rackcdn.com/assets/attachments_p/000/043/354/size500_ffx_fayth_detail1.jpg" target="_blank">Mur des Priants <em>par Square-Enix</em></a></figcaption>
</figure>

<h2 id="priant-祈り子">Priant <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#1">祈り子</a></em></h2>
<h3 id="quest-ce-que-lon-nomme-priant--祈り子という存在">Qu&#39;est-ce que l&#39;on nomme Priant ? <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#1">祈り子という存在</a></em></h3>
<p>Les « Priants » [Enfants de prière] sont des âmes qui fournissent les « Rêves » [pensées, émotions, sentiments, représentations, images, aspirations] qui sont la matière première pour appeler à soit les Chimères [bêtes invoquées]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#2">召喚獣を呼び出すための原料となる“夢(想い)”を提供するとされる、魂のみの存在が祈り子だ。</a></em> L&#39;« Invocation », réalisée par l&#39;« Invokeur » [celui qui appel à soit], consiste à concrétiser les Rêves des Priants scellés dans la « Statue du Priant » en les matérialisants à l&#39;aide de l&#39;esprit de l&#39;Invokeur et de « Furolucioles » [Lueurs illusoires de créatures lumineuses]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#3">召喚士が行なう「召喚」とは、祈り子像に封じられた祈り子の夢を､呼び手の精神を通じて幻光虫と結実させ、具現化する作業と言える。</a></em></p>
<p>La création de Priant est aujourd&#39;hui connue sous le nom de « Savoir [Technique, Art, Création, Technologie] secret de Yevon » qui était originellement possédées par la cité des Invokeurs, « Zanarkand ». 
<em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#4">今日では「エボンの秘術」と言われる祈り子の創作技術は、本来、召喚士の街であるザナルカンドが保有していた。</a></em> Cependant, après la chute de Zanarkand, ce savoir a été acquis par « Bevel », qui détenait le pouvoir [suprématie, hégémonie, emprise] spirituel [mental] sur l&#39;ensemble de « Spira », et par extension, a été acquis par le « Temple de Yevon » aboutissant à la situation actuelle. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#5">しかし、ザナルカンドが滅亡したのちは、精神面でスピラ全土の覇権をにぎったべベル一一ひいてはエボン寺院がその技術を手にし、現在に至る。</a></em></p>
<p>La plupart des Priants qui ont donné leur vie pour combattre Sin ont été créé au cours des 1000 dernières années par le Temple de Yevon, après l&#39;apparition de Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#6">一般に言われるような｢『シン』と戦うために命を捧げた」祈り子は、『シン』出現後、すなわちここ1000年のあいだにエボン寺院が作ったものということになる。</a></em> Cependant, de nombreux Priants conservés dans les temples du pays existent depuis plus de mille ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#7">ただし、各地の寺院に安置されている祈り子のなかには、1000年前から存在するものも多い</a></em> À l&#39;origine, ils étaient détenus par Zanarkand pour être utilisés au combat, mais ils ont été enlevés par le Temple et dispersés dans différentes régions. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#9">彼らは本来、戦闘用としてザナルカンドが抱えたものだったが、寺院によって持ち去られ、各地に分散されたのだ。</a></em></p>
<p>Notez que pendant que les Rêves sont invoqués, les Priants ne peuvent pas choisir d&#39;arrêter de rêver par eux-mêmes, c&#39;est-à-dire, qu&#39;ils ne peuvent pas mettre fin à l&#39;invocation par leur propre volonté. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#12">なお、自身の夢が召喚されているあいだは、祈り子はみずからの意志で夢見ることをやめる一一すなわち、召喚を中止させることはできない。</a></em></p>
<h3 id="comment-fonctionne-lultime-chimère-究極召喚の仕組み">Comment fonctionne l&#39;Ultime Chimère <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#13">究極召喚の仕組み</a></em></h3>
<p>L&#39;« Ultime Chimère » [Invocation ultime] est aussi appelé le « Pouvoir du lien » car elle nécessite qu&#39;une personne ayant une relation forte avec l&#39;Invokeur deviennent un Priant : se lien est considéré comme essentiel lors de l&#39;activation par l&#39;Invokeur.<em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#14">究極召喚が絆の力と呼ばれるのは、召喚士と強い絆で結ばれた者が祈り子にならねばならぬうえ、その発動時にも絆が不可欠とされるためである。</a></em></p>
<p>Il ne suffit pas à l&#39;Invokeur d&#39;appeler l&#39;Ultime Chimère pour vaincre Sin, ni même en mourrir. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#15">究極召喚獣をただ呼び出しても、『シン』を倒すことはできないし、召喚士も死なない。</a></em> Pour vaincre Sin, il est nécessaire que l&#39;Invokeur se fonde spirituellement de son plein gré avec le Priant de l&#39;Ultime Chimère grâce au lien qui les unissent. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#16">『シン』を倒すにはまず、究極召喚獣の祈り子との絆を拠りどころとすることにより､召喚士が自分の意志で、精神的に祈り子と同一化する必要がある。</a></em> Ce n&#39;est qu&#39;après avoir passé cette étape que l&#39;Ultime Chimère manifestent le pouvoir de décomposer Sin (L&#39;Ultime Chimère est activée). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#17">この段階を経て、はじめて究極召喚獣は、『シン』を分解する力を発揮する(=究極召喚が発動する)のだ。</a></em></p>
<p>Lorsque l&#39;Ultime Chimère est activée, Sin, qui recouvre Yu Yevon est désintégré et, en même temps, l&#39;Ultime Chimère est transféré [déplacé vers] à Yu Yevon et reconfiguré [transformé] en Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#19">究極召喚が発動すると、エボン=ジュを覆っていた『シン』が分解されると同時に、究極召喚獣がエボン=ジュに乗り移られ、『シン』に作り変えられる。</a></em> L&#39;Invokeur dont l&#39;esprit a été assimilé [fondu spirituellement] est incapable de supporter la reconfiguration et perd la vie. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#20">祈り子と精神が同化した召喚士は、この「作り変えられる」事態に耐えきれず、命を落とすことになる。</a></em> De plus, le Priant ayant épuisé son pouvoir et ayant été transféré à Yu Yevon, la statue qui le scellait est détruite. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#22">また祈り子は、祈り子としての力を使い果たしてエボン=ジュに乗っ取られてしまい、その祈り子を封じていた像も失われる。</a></em></p>
<h3 id="les-priants-et-le-monde-du-rêve-祈り子と夢の世界">Les Priants et le monde du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#23">祈り子と夢の世界</a></em></h3>
<p>Qu&#39;ils aient été créés à Zanarkand il y a plus de mille ans, ou des mains du Temple de Yevon après l&#39;apparition de Sin, ou encore en grand nombre incrusté sur les parois rocheuses du Mont Gagazet, tous les Priants partagent une conscience commune.  <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#24">1000年前にザナルカンドで作られたものも、『シン』が出現したのちにエボン寺院の手で作られたものも、さらにはガガゼト山の岩壁に重なるおびただしい数のものたちも、祈り子はみな、意識を共有している。</a></em> Et c&#39;est en commun qu&#39;ils ont souhaités la continuité de la « Zanarkand du Rêve » [Zanarkand onirique]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#24">そして、彼らは共通して、夢のザナルカンドの存続を願っていた。</a></em></p>
<p>Les Priants, quand ils ne sont pas invoqués, partent [sortent] souvent jouer dans le monde du Rêve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#26">祈り子たちは、召喚されていないときは、よく夢の世界へ遊びに出かける。</a></em> À cette occasion, ils prennent forme et apparaissent parmi les habitants du monde du Rêve (comme le jeune Priant Bahamut). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#27">このとき彼らは、夢の世界の住人たちにまぎれて姿を見せる(バハムートの祈り子の少年も同様)。</a></em> Que ce soit Yu Yevon ou les Priants la Zanarkand du Rêve est un paradis, et ils y trouvent un plaisir éternel. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#28">エボン=ジュと同じく、祈り子にとっても夢のザナルカンドは楽園であり、彼らはその地で永遠の楽しみを見いだしていた。</a></em> Par conséquent, la situation actuelle de Spira permettant le maintient [survie] de la Zanarkand du Rêve, est avantageuse à la fois pour Yu Yevon et pour les Priants. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#29">それゆえ、夢のザナルカンドを存続させるようなスピラの現状は、エボン=ジュにも祈り子にも都合のいいものだったと言える。</a></em></p>
<h3 id="les-changements-des-priants-祈り子の変化">Les changements des Priants <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#30">祈り子の変化</a></em></h3>
<p>Le fait que Jecht, un habitant de la Zanarkand du Rêve, soit devenu Sin a eut un impact significatif sur les Priants. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#31">夢のザナルカンドの住人であるジェクトが「シン」になったことは、祈り子たちに少なからぬ衝撃を与えた。</a></em> En effet, un habitant de leur monde idéal et éternel, allait continuellement souffrir au cœur de la tragédie de Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#32">彼らが理想とする楽しみの世界、永遠の世界の住人が、スピラの悲劇の中心で苦しみつづけることになったためだ。</a></em> Cela posa un cas de conscience aux Priants, jusqu&#39;alors indifférents à la situation actuelle de Spira, et les amena à prendre la direction de la fin du Rêve même s&#39;ils doivent y renoncer. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#34">このことは、それまでスピラの現状に無関心であった祈り子たちに問題を提起し、自分たちを消滅させてでも夢を終わらせる方向へと歩ませることになる。</a></em></p>
<p>◆ Les Priants auquelles Tidus et son groupe se confrontent, de leur aveux, on des remords [regrets envers eux-mêmes] pour ne pas avoir cherché à remettre en question la situation actuelle plus tôt. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p86-priant/index.html#36">◆ティーダらが向き合う祈り子たちの口からは、現状に疑問を持とうとしなかったそれまでの自分への後悔も聞かれる。</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFX <a href="/final-fantasy-zet-et-tic/#final-fantasy-x">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/les-priants-dans-final-fantasy-x-ffx-zet-tic/</link>
            <guid isPermaLink="false">64e6036024135e1e11ad4d1d</guid>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Zététique]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sun, 10 Sep 2023 20:02:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Les deux Zanarkand dans FINAL FANTASY X]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir combien de version de Zanarkand il existe dans FINAL FANTASY X. Nous allons nous appuyer sur le contenu des pages 84 et 85 du livre FINAL FANTASY X ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html">rejoindre l&#39;explication</a> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html">de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://i1.sndcdn.com/artworks-000502046631-hwpupr-t500x500.jpg" alt="Zanarkand en ruine" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://i1.sndcdn.com/artworks-000502046631-hwpupr-t500x500.jpg" target="_blank">Zanarkand en ruine <em>par Tsabo6</em></a></figcaption>
</figure>

<h2 id="zanarkand-du-rêve-夢のザナルカンド">Zanarkand du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#1">夢のザナルカンド</a></em></h2>
<h3 id="les-deux-zanarkand-ふたつのザナルカンド">Les deux Zanarkand <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#1">ふたつのザナルカンド</a></em></h3>
<p>Dans l&#39;intrigue principale, « Zanarkand » peut séparée en deux versions : la « Zanarkand du Rêve » [onirique] ainsi que celle qui a existé il y a 1000 ans et qui est maintenant en ruine. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#2">本編に登場する「ザナルカンド」は、夢のザナルカンドと、1000年前に実在し、現在は遺跡となったザナルカンドのふたつに大別できる。</a></em> La première étant une création basée sur la seconde, elles se ressemblent toutes les deux et sont faciles à confondre. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#3">前者は後者をもとに創造されたものであるため、このふたつは非常に似通っており、混同しやすい。</a></em></p>
<p>Autrefois, « Bevelle » était celle qui a le plus bénéficié de la culture « Makinas » [des machines], mais aujourd&#39;hui, le « Temple [de Yevon] » déclare que c&#39;est Zanarkand. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#4">かつて機械文明の恩恵をもっとも受けたのはベベルだが、寺院は今日、それがザナルカンドだっ�と伝えている。</a></em></p>
<p>Pour le Temple, il est problématique [inconfortable, défavorable] que Bevelle, le siège principal, soit connu pour avoir utilisé des armes Makinas [mécaniques] et être à l&#39;origine de la « Guerre des Makinas » [machines]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#5">寺院にとって、総本山のあるべ�ルのほうが機械兵器を用い、機械戦争の発端を�ったと知られるのは都合が悪いためだ</a></em> De la même manière, la représentation passée de Zanarkand est également déformée, rendant floue la frontière entre le rêve et la réalité. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#6">このよ�に、過去のザナルカンド像がゆがめられている�とも、夢と現実の境界をあいまいにしている。</a></em></p>
<h3 id="la-zanarkand-du-rêve-夢のザナルカンド">La Zanarkand du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#7">夢のザナルカンド</a></em></h3>
<h4 id="caractéristique-特徴">Caractéristique <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#8">特徴</a></em></h4>
<p>Une ville qui continue d&#39;être invoquée [jusqu&#39;à] aujourd&#39;hui par « Yu Yevon » et basée sur les sentiments [inspiré par les émotions] des habitants de la Zanarkand d&#39;il y a 1000 ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#8">1000年前のザナルカンドの住人の想いをもとに、エボン=ジュが今日に至るまで召喚しつづけている都市。</a></em> Elle se matérialise selon le même principe que les « Chimères » [invocations] est présente quelque part dans Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#9">召喚獣と同じ原理で実体化しており、スピラのどこかに存在する</a></em></p>
<h4 id="les-chimères-sont-召喚士·召喚獣">Les Chimères sont <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#11">召喚士·召喚獣</a></em></h4>
<p>Absentes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#12">いない</a></em></p>
<h4 id="les-furolucioles-sont-幻光虫の概念">Les Furolucioles sont <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#13">幻光虫の概念</a></em></h4>
<p>Inconnues. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#14">知られていない</a></em></p>
<h4 id="la-prière-de-yevon-エボンの祈り">La Prière de Yevon <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#15">エボンの祈り</a></em></h4>
<p>Est employé comme un charme [une action rituelle censé porter chance] pour le « Blitzball ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#16">ブリッツのおまじないとして用いられる</a></em></p>
<h4 id="lhymne-du-priant-祈りの歌">L&#39;Hymne du Priant <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#18">祈りの歌</a></em></h4>
<p>Est chanté comme une chanson célèbrant Yu Yevon, mais qui n&#39;a pas de rapport avec le « Temple de Yevon » ou les « Invokeurs ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#19">エボン寺院や召喚士エボンと離れた意味で歌われるエボン=ジュをたたえる歌として歌われる</a></em></p>
<h4 id="le-bâtiment-situé-au-bout-de-lautoroute-est-フリーウェイの奥にある建造物">Le bâtiment situé au bout de l&#39;autoroute est <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#20">フリーウェイの奥にある建造物</a></em></h4>
<p>Le « Stade de Blitzball ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#21">ブリッツスタジアム</a></em></p>
<h3 id="zanarkand-dil-y-a-1000-ans-1000年前のザナルカンド">Zanarkand d&#39;il y a 1000 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#22">1000年前のザナルカンド</a></em></h3>
<h4 id="caractéristique-特徴-1">Caractéristique <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#8">特徴</a></em></h4>
<p>Une cité-État qui existait dans le passé de Spira et prospérait. Elle était gouvernée par l&#39;« Invokeur Yevon ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#23">過去のスピラに実在し繁栄した都市国家。支配�していたのは召喚士エボン。</a></em> Comme c&#39;était le cas pour de nombreuses cités-États de l&#39;époque, elle bénéficiait des avantages de la culture « Makinas » [technologique], mais il y avait tout de même de nombreux Invokeurs, car l&#39;invocation était la principale méthode de combat. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#24">当時の都市国家の�例にもれず機械文明の恩恵を受けていたが、を�喚士が多く、戦闘手段も召喚が主力。</a></em> Elle a été détruite à cause de la guerre avec Bevelle et maintenant seules les ruines subsistent. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#25">ベベルと�の戦争により滅亡し、現在は遺跡のみが残る</a></em></p>
<h4 id="les-chimères-sont-召喚士·召喚獣-1">Les Chimères sont <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#11">召喚士·召喚獣</a></em></h4>
<p>Présentes <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#26">いる</a></em></p>
<h4 id="les-furolucioles-sont-幻光虫の概念-1">Les Furolucioles sont <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#13">幻光虫の概念</a></em></h4>
<p>Connues <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#27">知られている</a></em></p>
<h4 id="la-prière-de-yevon-エボンの祈り-1">La Prière de Yevon <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#15">エボンの祈り</a></em></h4>
<p>Est utilisée comme une norme social d&#39;interaction humaine par les habitants. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#28">住民たちの一般的な作法として用いられる</a></em></p>
<h4 id="lhymne-des-priants-祈りの歌">L&#39;Hymne des Priants <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#18">祈りの歌</a></em></h4>
<p>Est chanté comme une chanson célèbrant Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#29">エボン=ジュをたたえる歌として歌われる</a></em></p>
<h4 id="le-bâtiment-situé-au-bout-de-lautoroute-est-フリーウェイの奥にある建造物-1">Le bâtiment situé au bout de l&#39;autoroute est <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#20">フリーウェイの奥にある建造物</a></em></h4>
<p>Le « Dôme de Yevon ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#30">エボン=ドーム</a></em></p>
<h3 id="caractéristiques-du-monde-du-rêve-夢の世界の特徴">Caractéristiques du monde du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#31">夢の世界の特徴</a></em></h3>
<p>La Zanarkand du Rêve est une ville créée par l&#39;Invokeur Yevon pour préserver sa ville natale pour toujours, mais ce n&#39;est pas une reproduction parfaite de la ville qui a réellement existé. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#32">夢のザナルカンドは、召喚士エボンが自身の故郷を永遠にとどめようとして創造した都市だが、実在した街の完全な再現ではない。</a></em> Comme le mot “rêve” l&#39;indique, c&#39;est une patrie embellie, un monde idéalisé. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#33">“夢”という言葉が示すとおり、美化された故郷、理想の世界だ。</a></em></p>
<p>Puisque l&#39;objectif de Yu Yevon est de reproduire et de perpétuer les “bons” souvenirs de toute la ville, ceux qui ont un lien profond avec les souvenirs amers de la réalité, en particulier la chute de Zanarkand, sont exclus du monde du Rêve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#34">街全体の“良い”記憶を再現し、永続させることがエボン=ジュの目的である以上、現実での苦い記憶一一ザナルカンドの滅亡と深い関わりを持つものは、夢の世界から排除されている</a></em> Même si les Invokeurs et les Chimères [créatures invoquées] étaient courants il y a 1000 ans, ils n&#39;existent pas dans le monde du Rêve, et d&#39;autres nations [états] comme Bevelle ne sont pas connues dans ce monde du Rêve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#35">たとえ�召喚士や召喚獣は、1000年前では一般的であ�たのに夢の世界には存在しないし、ベベルなどの他の国家も、夢の世界では知られていない。</a></em> L&#39;explication semble être que les premiers étaient la principale force militaire lors de la Guerre des Makinas, tandis que les seconds ont probablement conduit à la destruction de Zanarkand il y a 1000 ans en raison de tensions avec ces autres nations. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#36">前�は機械戦争の主戦力であるため、後者は他国との摩擦が結果的に1000年前のザナルカンドを滅�へ導いたためと、それぞれ考えられる。</a></em></p>
<h3 id="lhymne-du-priant-et-la-prière-de-yevon-祈りの歌とエボンの祈り">L&#39;Hymne du Priant et la Prière de Yevon <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#37">祈りの歌とエボンの祈り</a></em></h3>
<p>En tant qu&#39;héritage [éléments transmis] aussi bien dans le monde du Rêve que dans le monde réel de Spira, il existe aujourd&#39;hui L&#39;Hymne du Priant et la Prière de Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#38">夢の世界にも現実のスピラにも受け継がれたものとして、今日の「祈りの歌」と「エボンの祈り」がある。</a></em></p>
<p>En réarrangeant les paroles, on comprend que L&#39;Hymne du Priant trouve son origine il y a 1000 ans en tant que chanson célébrant Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#39">その歌詞を並びかえるとわかるが､祈りの歌は1000年前､エボン=ジュをたたえる歌として発祥。</a></em> Dans le monde réel de Spira, cette chanson [hymne] devin un chant de résistance contre le Temple de Yevon, pour finalement que son origine soit déformée pour être incorporée dans l&#39;enseignement du Temple en tant que chant pour apaiser les âmes. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#40">それが現実のスピラでは、エボン寺院への抵抗を示す歌となり、やがては由来をねじまげて寺院の教えに取りこまれ、“魂を鎮める歌”とされた。</a></em></p>
<p>D&#39;un autre côté, la Prière de Yevon n&#39;était qu&#39;une des coutumes des citoyens de Zanarkand il y a 1000 ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#41">一方エボンの祈りは、1000年前はザナルカンド市民の作法のひとつに過ぎなかった。</a></em></p>
<p>Dans le monde réel de Spira, comme l&#39;Hymne du Priant [chanson de la prière], elle est adoptée par le Temple de Yevon, tandis que, d&#39;un autre côté, dans le monde du Rêve, elle devient le symbole de la victoire au Blitzball. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#42">それが現実のスピラでは、祈りの歌同様、エボン寺院に採用され、かたや夢の世界では、ブリッツボールの勝利のおまじないとなる。</a></em></p>
<h3 id="comment-lire-les-paroles-de-lhymne-du-priant-祈りの歌の歌詞の読みかた">Comment lire les paroles de l&#39;Hymne du Priant <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#43">祈りの歌の歌詞の読みかた</a></em></h3>
<p>※ Alignez les paroles de la première moitié horizontalement par groupes de 4 caractères, puis alignez les paroles de la seconde moitié horizontalement par groupes de 2 caractères, et lisez comme indiqué par les flèches. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#44">※前半の歌詞を4文字ずつ横に、後半は2文字ずつ横に�並べ、矢印のように読む</a></em></p>
<p><span style="color:green">i</span><span style="color:orange">e</span><span style="color:teal">yu</span><span style="color:red">i</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:green">い</span><span style="color:orange">え</span><span style="color:teal">ゆ</span><span style="color:red">い</span></a></em><br>
<span style="color:green">no</span><span style="color:orange">be</span><span style="color:teal">me</span><span style="color:red">no</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:green">の</span><span style="color:orange">ぼ</span><span style="color:teal">め</span><span style="color:red">の</span></a></em><br>
<span style="color:green">re</span><span style="color:orange">n</span><span style="color:teal">mi</span><span style="color:red">ri</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:green">れ</span><span style="color:orange">ん</span><span style="color:teal">み</span><span style="color:red">り</span></a></em><br>
<span style="color:green">yo</span><span style="color:orange">ju</span><span style="color:teal">yo</span><span style="color:red">ko</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:green">よ</span><span style="color:orange">じゅ</span><span style="color:teal">よ</span><span style="color:red">こ</span></a></em></p>
<p><span style="color:magenta">ha</span><span style="color:blue">sa</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:magenta">は</span><span style="color:blue">さ</span></a></em><br>
<span style="color:magenta">te</span><span style="color:blue">ka</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:magenta">て</span><span style="color:blue">か</span></a></em><br>
<span style="color:magenta">na</span><span style="color:blue">e</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:magenta">な</span><span style="color:blue">え</span></a></em><br>
<span style="color:magenta">ku</span><span style="color:blue">tamae</span> <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#45"><span style="color:magenta">く</span><span style="color:blue">たまえ</span></a></em></p>
<blockquote>
<p>Suivre l&#39;ordre des flèches donne cette phrase <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#1">いのれよんめいのりこはてなくさかえたまえ</a> en katakana qui est comme la suivante kanji juste en dessous.</p>
</blockquote>
<p>◆ <span style="color:green">Prie [réalise ton invocation] ô</span><span style="color:orange"> Yu Yevon,</span><span style="color:teal"> rêvez [créez le Rêve] ô</span><span style="color:red"> Priants [enfants de prière],</span> <span style="color:blue">que la prospérité </span><span style="color:magenta">soit éternel [sans fin]</span>. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p84-zanarkand/index.html#47">◆祈れよエボン=ジュ 夢見よ祈り子 果てなく 栄えたまえ</a></em></p>
<h3 id="comment-fonctionne-le-monde-du-rêve-夢の世界の仕組み">Comment fonctionne le monde du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#2">夢の世界の仕組み</a></em></h3>
<p>La Zanarkand du Rêve est le Rêve du « Mur des Priants » [groupe de pliés] du « Mont Gagazet », qui étaient autrefois des citoyens du Zanarkand, et qui ont été invoqués par Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#3">かつてザナルカンド市民であったガガゼト山の折り子群の夢をエボン=ジュが引き出し、召喚したものが夢のザナルカンドだ。</a></em> En d&#39;autres termes, on peut dire que la Zanarkand du Rêve est en elle-même un gigantesque phénomène lumineux illusoire. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#5">すなわち夢のザナルカンドは、それ自体が巨大な幻光体と言える。</a></em></p>
<p>Selon le même principe que les Chimères [bêtes invoquées], tant qu&#39;elle est invoquée, la Zanarkand du Rêve existe quelque part [à une position inconnue ou non spécifiée dans l&#39;espace] en Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#7">召喚獣と同じ原理で呼び出されている以上、夢のザナルカンドはスピラのいずこかに存在する。</a></em> Cependant, on ne peut pas savoir [dans l&#39;état] où elle se trouve, et il est impossible pour les êtres humains physique de chair et de sang d&#39;aller et venir là-bas. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#10">ただし、どこにあるとも知れないし、生身の人間がそこを行き来することは不可能だ。</a></em></p>
<p>La force motrice [la source d&#39;énergie] qui crée la Zanarkand du Rêve est celle du Rêve des anciens citoyens de Zanarkand, cependant, les objets et les gens qui existent là-bas ne sont pas nécessairement les mêmes que ceux qui ont existé dans le passé. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#13">夢のザナルカンドを生み出す原動力は、かつてのザナルカンド市民の夢だが、そこに存在する事物や人々が、過去に実在したものとはかぎらない。</a></em></p>
<p>Yu Yevon a créé, pour ainsi dire, ce qui est comme un simulateur de ville qui fonctionne en autonomie [automatiquement] en maintenant un état idéal [en soi]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#14">エボン=ジュが創造したのはいわば、それ自体で自動的に機能し、理想の状態を持続させる都市シミュレータのようなものなのだ。</a></em> Par conséquent, « Tidus » [Tida] et « Jecht » [Jekto], ne sont pas juste des reproductions [des personnages qui ont été recréés] à partir de personnes réelles [qui ont existé] dans le passé. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#15">ゆえに、ティーダやジェクトも、実在した過去の人物が単に再現されたものだとは言えない。</a></em></p>
<p>Tidus est né de ses parents, et si dix ans se sont écoulés à Spira, Tidus a également grandi pendant dix ans. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#16">ティーダは両親から生まれたし、スピラで10年が経過するあいだに、ティーダも10年ぶん成長している。</a></em> En prenant en compte tout cela, la perception du temps [sens du temps, l&#39;écoulement du temps] dans la Zanarkand du Rêve semble être fondamentalement la même que dans le monde réel de Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#18">これらのことを総合すると、夢のザナルカンドの年月感覚は、基本的に現実のスピラと同じだと思われる。</a></em></p>
<p>◆ La Zanarkand du Rêve, y compris ses habitants, est entièrement constituée de « Furolucioles » [de lucioles luminescentes, insectes fantômes]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#19">◆夢のザナルカンドは、そこで暮らす住人たちも含め、都市全体が幻光虫でできている。</a></em></p>
<h3 id="comment-vivre-dans-le-monde-du-rêve-夢の世界で暮らすには">Comment vivre dans le monde du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#20">夢の世界で暮らすには</a></em></h3>
<p>La Zanarkand du Rêve, qui est un corps de Furolucioles [lumineux, fantôme], ne peut pas être visité par ceux qui ont un corps physique [charnel], et ils ne peuvent pas y vivre [subsiter] non plus. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#21">幻光体である夢のザナルカンドは、肉体を持つものが訪れることはできないし、生活することもできない</a></em> Tidus a pu vivre là-bas parce qu&#39;il est une entité du Rêve [lumineuse] qui a été invoquée avec Zanarkand. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#23">ティーダがそこで暮らせたのは、彼が、ザナルカンドとともに召喚された幻光体であるため。</a></em> Auron, ayant perdu son corps physique et s&#39;étant composé de Furolucioles [lucioles luminescentes] en tant que Errant [mort], a pu résider [rester en tant qu&#39;habitant] au même endroit pour cette raison. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#24">またアーロンも、肉体を失い、死人として幻光虫で構成された身体を持っていた からこそ、同地の住人としてとどまることができたのだ。</a></em></p>
<p>Sin et les Priants peuvent visiter le monde du Rêve librement. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#25">「シン」や祈り子たちは、夢の世界を自在に訪れることができる。</a></em> Cela s&#39;explique par le fait que Sin est une entité de Furolucioles [corps fantôme, entité lumineuse] et que les Priants n&#39;ont pas de corps mais seulement une âme. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#26">「シン」は幻光体であり、祈り子たちは身体さえ持たぬ魂のみの存在だからであろう。</a></em> Pour eux, le Zanarkand des rêves est un monde idéal rempli de joie. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#27">彼らにとって夢のザナルカンドは、楽しさに満ちた、理想の世界だ。</a></em></p>
<p>◆ Sans le pouvoir du Sin, qui connaît l&#39;emplacement de la Zanarkand du Rêve et peut aller et venir à sa guise [à volonté], les corps de Furolucioles [lumineux, fantômes] ne peuvent pas se rendre sur place. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#28">◆夢のザナルカンドの所在を知り、任意に行き来できる「シン｣の力がなくては、幻光体にも同地を訪れることはできない。</a></em></p>
<h3 id="action-réparatrice-du-monde-du-rêve-夢の世界の修復作用">Action réparatrice du monde du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#30">夢の世界の修復作用</a></em></h3>
<p>Pour une ville avec 1000 ans d&#39;histoire, on ne peut pas voir de traces de progrès [avancement] dans la Zanarkand du Rêve (en fait, en voyant des images de Zanarkand d&#39;il y a 1000 ans, Tidus la confond avec sa propre patrie [pays d&#39;origine, maison, chez lui]). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#31">1000年の歴史を持つにしては、夢のザナルカンドには進歩の跡が見られない(現に、1000年前のザナルカンドの映像を見て、ティーダはそれを自分の故郷とカンちがいする)。</a></em> Dans le monde des rêves, un environnement modérément confortable est maintenu, et il n&#39;y a pas de nécessité de progrès. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#32">夢の世界では適度に快適な環境が保たれており、進歩の必要性がないからだ。</a></em> Ce qui explique également que la ville ne grandi pas est l&#39;inexistance d&#39;autres pays ne permettant pas de nouvelles stimulations et la stimulation à l&#39;échelle d&#39;une seule ville n&#39;est pas suffisante. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#33">他国が存在しないため、新たな刺激を受けることもなく、都市ひとつぶんの人口では発展にかぎりがある･･････ということも､街が成長しない理由としてあげられる。</a></em></p>
<p>L&#39;absence de changement est également due au fait que le monde du Rêve subit constamment des corrections de Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#34">また、このような「変化のなさ」は、夢の世界がエボン=ジュによる補正をつねに受けているためでもある。</a></em> Pour continuer à exister en tant que patrie de Yu Yevon, la Zanarkand du Rêve ne doit pas changer de son état d&#39;il y a 1000 ans, et la présence [l&#39;existence] de ceux qui sont dans l&#39;insatisfaction de cet environnement n&#39;est pas permise [autorisée]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#35">エボン=ジュの故郷でありつづけるには、夢のザナルカンドは1000年前の状態から変化してはならず、環境に不満を持つ者の存在も許されない。</a></em> Par conséquent, chaque fois que quelqu&#39;un se sent bloqué dans la situation actuelle ou remet en question le statu quo, Yu Yevon le « réinitialise » et manipule les souvenirs de ses habitants. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#36">それゆえ、行き詰まったり、現状に疑問を持つ者が現れると、エボン=ジュはそれを「リセットして、住人の記憶を操作する。</a></em> La Zanarkand du Rêve est un monde d&#39;harmonie oppressante et de manipulation divine, un monde sous le contrôle de Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#37">夢のザナルカンドとは、エボン=ジュという神の操作を受けつづける、恐るべき調和と停滞の世界なのだ。</a></em></p>
<h3 id="le-monde-du-rêve-après-le-départ-de-tidus-à-spira-ティーダがスピラへ行ったあとの夢の世界">Le monde du Rêve après le départ de Tidus à Spira <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#39">ティーダがスピラへ行ったあとの夢の世界</a></em></h3>
<p>Lorsque le Sin Jecht est venu chercher Tidus à la Zanarkand du Rêve pour l&#39;emmener, une grande destruction s&#39;est produite tout autour du stade. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#40">ジェクトの「シン」がティーダを迎えに夢のザナルカンドへきたさい、スタジアム近辺を中心に、大規模な破壊が起こった。</a></em> Cela c&#39;est produit automatiquement de par l&#39;instinct destructeur [d&#39;attaque] de Sin en raison de son approche de la ville [zone urbaine, zone technologique]. Cependant, du point de vue de Yu Yevon, il semblait impossible [ne faisait aucun doute] qu&#39;une telle situation où Sin, qui devrait protéger le Rêve, puisse se produire et au contraire détruire le Rêve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#41">これは、都市部に近づいたことにより、｢シン」の攻撃本能が勝手に働いたからだが、エボン=ジュにしてみれば、夢を守るべき『シン』がその夢を壊すなど、あってはならぬ事態だったのはまちがいない。</a></em></p>
<p>C&#39;est pourquoi, après le départ [disparition] de Tidus et Auron, d&#39;importantes « corrections » ont été apportées à la Zanarkand du Rêve, et ainsi les zones urbaines qui avaient subi d&#39;énormes destructions ont miraculeusement été reconstruites. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#42">このため、ティーダとアーロンがいなくなったあとの夢のザナルカンドでは大幅な“修正”がほどこされ、被害甚大だった都市部も奇跡的な復興をとげた。</a></em></p>
<p>Dans ce processus, il est probable [n&#39;est pas impossible] que [même l&#39;existence] de Tidus et Auron est été effacée [puisse être considéré comme si elle n&#39;avait jamais existé]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#43">その過程で、ティーダやアーロンの存在自体が「なかったこと｣とされている可能性も、なきにしもあらずである。</a></em></p>
<p>◆ Dans le jeu, il n&#39;est pas su [connu] que Zanarkand, qui avait été détruite au début de l&#39;histoire, avait été restaurée après que Tidus et les autres [ses amis] soient partis pour Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p85-zanarkand/index.html#44">◆ゲーム中ではわからないが、物語の最初で破壊された夢のザナルカンドは、ティーダたちがスピラへ行ったあとには修復されていた。</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFX <a href="/final-fantasy-zet-et-tic/#final-fantasy-x">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/les-deux-zanarkand-dans-final-fantasy-x-ffx-zet-tic/</link>
            <guid isPermaLink="false">64f98b0a24135e1e11ad8eea</guid>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Traduction]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Thu, 07 Sep 2023 08:34:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Sin dans FINAL FANTASY X]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons découvrir qui est Sin dans FINAL FANTASY X. Nous allons nous appuyer sur le contenu des pages 82 et 83 du livre FINAL FANTASY X ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html">rejoindre l&#39;explication</a> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html">de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://64.media.tumblr.com/5778b2859184e20afb9542e50d465d63/tumblr_myumqlUAGB1qg9npso1_1280.jpg" alt="Sin face à Tidus" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://64.media.tumblr.com/5778b2859184e20afb9542e50d465d63/tumblr_myumqlUAGB1qg9npso1_1280.jpg" target="_blank">Sin et Zanarkand <em>par fuckyeahfinalfantasy</em></a></figcaption>
</figure>

<h2 id="sin-『シン』">Sin <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#1">『シン』</a></em></h2>
<h3 id="lessence-véritable-de-sin-『シン』の正体">L&#39;essence véritable de Sin <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#1">『シン』の正体</a></em></h3>
<p>« Sin » [Shin] est communément considéré comme une créature démoniaque alors qu&#39;en réalité c&#39;est une entité mi-arme et mi armure qui est revêtue par « Yu Yevon » lui permettant de continuer son invocation éternellement. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#1">『シン』は、一般には魔物の一種と考えられているが、その実体は、エボン=ジュが永遠に召喚をつづけるためにまとう、鎧と兵器を兼ねたものだ。</a></em> Ce qui forme le cœur de Sin est l&#39;« Ultime Chimère » [Invocation ultime] qui l&#39;a vaincu précédemment (à l&#39;exception de sa première génération) <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#2">『シン』の核となるのは、先代の『シン』を倒した究極召喚獣(初代のみ例外)。</a></em> Niché à l&#39;intérieur, Yu Yevon manipule la magie de gravité pour attirer davantage de « Furolucioles » [Lucioles d&#39;illusion] depuis l&#39;atmosphère, puis les compresse à haute densité, formant ainsi un corps gigantesque. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#3">その内部に巣くったエボン=ジュが、重力魔法をあやつってさらなる幻光虫を大気中から引き寄せ、高密度に圧縮させることで、巨大な身体が形成されている。</a></em> </p>
<p>Sin a la caractéristique de rassembler chaque partie de son corps détachable que l&#39;on appelle « Squame de Sin » [Coquille de Sin]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#4">『シン』は、その身からはがれた身体の一部一一『シンのコケラ』を回収する習性を持つ。</a></em> En réalité, c&#39;est parce qu&#39;il est plus efficace pour lui de se régénérer en incorporant des Squames déjà condensées à partir de Furolucioles que d&#39;absorber directement de nouvelles Furolucioles autour de lui. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#6">これは、周囲を漂う幻光虫を新たに吸収するより、『コケラとして最初から凝縮された幻光虫を取りこんだうが､効率よく身体を修復できるため。</a></em></p>
<p>◆ Ceux qui sont devenus des Furolucioles sans avoir été envoyé dans l&#39;« Au-dela » [un autre monde] avec leurs pensées [consciences] sont souvent absorbés par Sin. C&#39;est la raison pour laquelle on appele cela le rassemblement des âmes décédées. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#7">◆異界送りされずにくなった者の幻光虫�その思念ごと「シン」吸収されることも多�それが､「シン」が死せ魂の寄せ集めと呼ばるゆえんだ。</a></em></p>
<h3 id="pourquoi-sin-existe-『シン』の存在意義">Pourquoi Sin existe <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#9">『シン』の存在意義</a></em></h3>
<p>La raison d&#39;être de Sin est de maintenir [préserver] en vie Yu Yevon à l&#39;intérieur, afin qu&#39;il puisse à jamais invoquer la « Zanarkand du Rêve » [Zanarkand onirique]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#10">『シン』の存在意義は、内部のエボン=ジュを存続させ、永遠に夢のザナルカンドを召喚できるよう保つことにある。</a></em>  Pour empêcher toute personne d&#39;interférer avec cette tâche, Sin possède un puissant pouvoir [force]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#11">いかなる者にもその作業を妨げさせぬために、『シン』は強大な力を保有する。</a></em></p>
<p>Lorsqu&#39;il détecte des « Makinas » [machines] ou un grand nombre de personnes, Sin se dirige vers cet endroit et le détruit. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#12">機械や大勢の人を察知すると、『シン』はその場へ出向いて破壊する。</a></em> Cela étant, ce n&#39;est pas une tentative de destruction de « Spira ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#13">これは、スピラを滅ぼそうとしてのことではない。</a></em> Il ne déteste pas non plus les gens ou les Makinas, comme cela est communément admis, pas plus qu&#39;il ne puni les passionnés de Makinas pour ce pêché [faute]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#14">また、一般に言われるように人や機械を憎んでいるわけでも、機械におぼれた罪を指摘し罰しているわけでもない。</a></em> Il s&#39;agit d&#39;un instinct défensif visant à veiller à la sécurité de Yu Yevon et à éliminer tout ce qui pourrait entraver [interférer avec, perturber] ses actions. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#16">エボン=ジュの行為を邪魔する可能性があるものを排除し、その安全を守ろうとする防衛本能が働いているのだ。</a></em> Si les gens se rassemblent et que la civilisation se développe de nouveau au même niveau que lorsque la guerre des machines a éclaté, il pourrait en résulter des forces susceptibles de nuire à Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#17">人が集まり、機械戦争が発生したときと同じ水準にまでまた文明が発達すると、そこからエボン=ジュを傷つけるほどの力が生み出されかねない。</a></em> C&#39;est pourquoi Sin attaque les villes qui se sont développées jusqu&#39;à un certain point. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#18">ある程度に成長した都市を『シン』が襲うは、このためである。</a></em></p>
<p>Sin est en quelque sorte en état de surdéfense, et son comportement destructeur est ératique, indépendant de la volonté de Yu Yevon en son sein. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#19">『シン』は、いわば過剰防衛の状態にあり、その壊行動は、内部のエボン=ジュの意志によらず動的に行なわれる。</a></em> Cependant, la volonté de ceux qui ont été absorbés par Sin ou qui en sont devenus le noyau ne se traduit fondamentalement par aucune autre action que la destruction. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#21">また、『シン』に吸収されたや､その核となった者の意志は、破壊以外の行にも基本的に反映されない。</a></em> Également, quand Sin apparaît devant « Tidus » [Tidaa] et son groupe [les autres], on peut observer qu&#39;il semble agir comme s&#39;il avait une volonté propre. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#22">ただしティーダたの前に現れた『シン』は、自分の意志で行動したうに取れる部分がしばしば見受けられる。</a></em> Cela est peut-être du au fait que « Jecht » [Jecto] (plus correctement l&#39;Ultime Chimère de Braska) servant de noyau n&#39;est pas à un stade ou il est un Sin complet, ou pourrait également être liée au fait que, au départ, Jecht était une partie du « Rêve » que Yu Yevon voulait préserver. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#23">これに核となっているもの一一ジェクト(正しくはブラ力の究極召喚)が、まだ完全に『シン』になり切っいないことのほか、ジェクトがもともと、エボンジュが存続させたがった夢の一部であることも係しているのかもしれない。</a></em></p>
<h3 id="lultime-chimère-et-sin-究極召喚と『シン』">L&#39;Ultime Chimère et Sin <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#24">究極召喚と『シン』</a></em></h3>
<p>En raison du pouvoir de manipulation extrêmement puissant de Yu Yevon, même s&#39;il est blessé, Sin absorbe rapidement des Furolucioles et se répare par lui-même. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#25">エボン=ジュのあやつる力があまりに強大であるため、傷ついても『シン』はすぐに幻光虫を取りこみ、自己修復してしまう。</a></em> La différence entre l&#39;Ultime Chimère et des attaques ordinaires réside dans le fait de pouvoir ou non briser le pouvoir de gravité [force d&#39;attraction] de Yu Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#26">究極召喚と一般の攻撃のちがいは、このエボン=ジュの吸引力を断てるか､断てないかにある。</a></em> </p>
<p>Seules l&#39;Ultime Chimère est capable, en interrompant temporairement le pouvoir d&#39;attraction de Yu Yevon, de rompre la liaison des Furolucioles qui composent Sin et donc de décomposer et faire disparaître Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#28">究極召喚のみは、エボン=ジュの吸引力を一時的に断つことで『シン』を構成する幻光虫の結合を解き、『シン』を分解・消滅させることが可能だ。</a></em> Cependant, une foi exposée, Yu Yevon se tourne ensuite vers l&#39;Ultime Chimère, en concentrant sa propre puissance. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#29">だが、むき出しとなったエボン=ジュは、つづいて究極召喚獣へと自身の力を向ける。</a></em> En conséquence, l&#39;Ultime Chimère est attirée [transférée] via toutes ses Furolucioles, puis est dominée [possédée] par Yu Yevon avant de devenir un nouveau Sin <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#30">この結果、究極召喚獣は幻光虫単位で吸い寄せられ、エボン=ジユに支配されて(=乗り移られて)、新たな『シン』と化すのだ。</a></em> En d&#39;autres termes, à chaque fois que Sin est vaincu par une Ultime Chimère, il se transforme et est remplacé (dans l&#39;histoire, celui qui combat Tidus et ses amis correspond à la 6ème génération). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#31">つまり『シン』は、究極召喚で倒さ�るたびに代替わりしていることになる(物語中で�ィーダたちと戦うのは6代目に当たる)。</a></em></p>
<p>Le nouveau Sin étant constitué d&#39;une quantité de Furolucioles équivalente à celle d&#39;une Ultime Chimère, il existe sous une forme très faible. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#32">新たな『シン』は、究極召喚獣1体ぶんの幻光�で構成されているため、非常にひ弱な存在だ。</a></em> Pendant cette phase, Yu Yevon utilise beaucoup de puissance et s&#39;épuise. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#33">�た、その時点のエボン=ジュは激しく力を消耗�ている</a></em> C&#39;est pourquoi la nouvelle forme de Sin se cache pendant plusieurs mois à plusieurs années, le temps d&#39;absorber des Furolucioles, construire son corps et accumuler de la puissance. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#34">それゆえ、新たな『シン』は身をひそめ�数ヵ月から数年かけて幻光虫を吸収し、身体を�構築させつつ力を蓄える。</a></em> Cette période de régénération [recharge] de Sin correspond à ce que les habitants de Spira appellent la « Félicité » [Nagisetsu]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p82-sin/index.html#35">この「『シン』の充電�間」が、スピラの民が言う「ナギ節」に相当する</a></em></p>
<h3 id="la-relation-entre-le-monde-du-rêve-et-sin-夢の世界と『シン』の関係">La relation entre le monde du Rêve et Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#1">夢の世界と『シン』の関係</a></em></h3>
<p>La seule entité capable de se déplacer librement entre la cité du Rêve invoquée de « Zanarkand » et la réalité de Spira semble être Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#2">召喚都市である夢のザナルカンドと、現実のスビラを自在に行き来できるのは、身体を持つものでは｢シン」ぐらいしかいない。</a></em> Ce n&#39;est que grâce à Sin que Tidus et « Auron » [Aaron] ont pu se rendre dans un monde différent de celui dans lequel ils se trouvaient. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#4">ティーダとアーロンも、「シン」を介することではじめて､もといた世界から異なる世界へやってくることができたのだ。</a></em></p>
<p>La Zanarkand du Rêve est pour Yu Yevon son foyer qu&#39;ils souhaitent conserver éternellement. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#7">エボン=ジュにとって夢のザナルカンドは、永遠にとどめておきたい故郷である。</a></em> C&#39;est pourquoi, lorsque Yu Yevon veut se laisser aller à la nostalgie, il se rend dans le monde du Rêve avec [grâce à] Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#8">このためエボン=ジュは、懐古の思いに浸りたくなると、『シン』ごと夢の世界を訪れる。</a></em> La Zanarkand du Rêve semble également avoir un effet curatif [soignant, soulageant] sur le corps de Sin, et dans ce sens, Sin vient parfois à Zanarkand. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#9">また夢のザナルカンドは、「シン」の身体をいやす作用を持つらしく、その意味で｢シン」が同地にくることもある。</a></em> Dans les deux cas, Sin plonge et se cache dans les profondeurs de la Zanarkand du Rêve et n&#39;apparaît pas en public. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#10">いずれの場合も、「シン」は夢のザナルカンドの海の深い部分に潜り、人前には姿を現さない。</a></em></p>
<p>◆ Le Sin qui a amené Jecht à Spira semble avoir visité la Zanarkand du Rêve pour soigner son corps. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#11">◆ジェクトをスピラへ連れてきた｢シン」は、身体をいやしに夢のザナルカンドを訪れていた様子。</a></em></p>
<h3 id="le-sin-qui-a-amené-emmené-jecth-à-spira-ジェクトをスピラに連れてきた「シン」">Le Sin qui a amené [emmené] Jecth à Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#12">ジェクトをスピラに連れてきた「シン」</a></em></h3>
<p>Jecht, dont la routine quotidienne était de plonger de la Zanarkand du Rêve pour s&#39;entraîner au « Blitzball », avait aperçu à quelques reprises la cinquième génération de Sin qui visitait la mer du Rêve pendant ses séances d&#39;entraînement. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#13">ブリッツのトレーニングのため、夢のザナルカンドの海に潜ることが日課であったジェクトは、その練習中に、夢の海を訪れていた5代目の「シン」を､幾度か見かけていた。</a></em> Ce Sin était venu jusqu&#39;aux régions côtières relativement peu profondes, même au sein de la mer de la Zanarkand du Rêve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#14">この「シン」は、夢のザナルカンドの海のなかでも比較的浅い、沿岸部まできていたのだ。</a></em></p>
<p>Jecht se dit qu&#39;il aimerait bien le toucher un jour, alors il plongea profondément dans la mer et essaya de s&#39;en approcher plusieurs fois. Finalement un jour, il y a dix ans, il y parvint enfin : il a été absorbé [englouti] par Sin. En conséquence, il est devenu le premier des habitants de la Zanarkand du Rêve à venir à Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#15">いつかアレに触れてみたい一一そう考えたジェクトは、何度も海中深く潜って「シン｣への接近を試みたす大、10年前のある日、ついにそれを達成｡結果、「シン」に飲みこまれて、夢のザナルカンドの住人でははじめてスピラへくることになる。</a></em></p>
<h3 id="le-sin-qui-a-emmené-jecth-à-spira-ティーダをスピラに連れてきた「シン」">Le Sin qui a emmené Jecth à Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#16">ティーダをスピラに連れてきた「シン」</a></em></h3>
<p>Celui qui est apparu devant Tidus à la Zanarkand du Rêve est la 6ème génération de Sin, c&#39;est-à-dire le Sin avec Jecht comme noyau. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#17">夢のザナルカンドでティーダの前に現れたのは、6代目の「シン」一一すなわちジェクトを核とする｢シン」である。</a></em> [Comme vu précedemment, normalement], soit ce Sin a visité la Zanarkand du Rêve à cause des sentiments nostalgiques de Yu Yevon, soit parce que le noyau de ce Sin est Jecht. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#18">この「シン」が夢の世界を訪れたのは、エボン=ジュの懐古の思いからでも、すなわちジェクトを核とする｢シン」である。</a></em> [Pourtant], ce Sin n&#39;a visité le monde du Rêves, ni en raison des sentiments nostalgiques de Yu Yevon, ni pour soulager son corps. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#20">この「シン」が夢の世界を訪れたのは、エボン=ジュの懐古の思いからでも、身体をいやす理由からでもない。</a></em> C&#39;est le Jecht à l&#39;intérieur de Sin qui est venue chercher Tidus. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#21">シン」のなかのジェクトが､ティーダを迎えにこようとしたのだ</a></em></p>
<p>Normalement, Sin, qui devrait rester dans la mer, s&#39;est manifesté [apparu] dans la zone urbaine par la volonté de Jecht. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#22">通常ならば海にとどまるはずの「シン」は、ジェクトの意志で都市部に姿を現した。</a></em> À ce moment-là, une destruction à grande échelle s&#39;est produite dans le monde du Rêve parce que l&#39;instinct de Sin qui consiste à détruire les choses environnantes a repris le dessus, causant ainsi le désastre. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#23">このとき大規模な破壊が夢の世界で行なわれたのは、「周囲のものを壊す」という「シン」の本能が働いてしまったため。</a></em></p>
<h3 id="le-mal-de-sin-et-tidus-『シン』の毒気とティーダ">Le Mal de Sin et Tidus <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#24">『シン』の毒気とティーダ</a></em></h3>
<p>Les Furolucioles de haute densité constituant le corps de Sin exercent une influence sur les Furolucioles à l&#39;intérieur du corps de ceux qui entrent en contact avec lui. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#25">「シン」の身体を構成する高密度の幻光虫は、接�した者の体内の幻光虫に影響をおよぼす。</a></em> Cela se définie comme étant touché par le « Mal [venin, toxine] de Sin ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#26">これが「「シン」の毒気にやられる」現象の実体だ。</a></em></p>
<p>Quand ils sont exposé au Mal de Sin [toxines, poisons], c&#39;est-à-dire qu&#39;ils entrent en contact avec les Furolucioles qui le constituent, beaucoup de gens souffrent d&#39;anomalies dans leur mémoire, leur état mental ou voient leur santé se détériorer : seulement très peu d&#39;individus peuvent entrer en contact avec les informations accumulées dans les Furolucioles qui constituent Sin et peuvent les percevoir [ressentir], bien que de manière fragmentaire. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#28">毒気をあびる一一すなわち、『シン』を構成する幻光虫に触れると、多くの者は記憶や精神状態などに異常をきたしたり、体調を悪化させるが、ごくかぎられた人間だけは、「シン」を構成する幻光虫に集積された情報に触れ、断片的ではあるがそれを感じ取ることができる。</a></em> Tidus fait partie des rares individus capable de cela. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#29">ティーダは、そのかぎられた人間のひとりである。</a></em></p>
<p>Tidus, en s&#39;approchant de Sin, ne subit pas d&#39;anomalies corporelles mais voit d&#39;innombrables visions. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#31">ティーダは、「シン」に近づいても身体に異常をきたさず、無数のビジョンを見る。</a></em> Dans de nombreux cas, cela peut être le paysage mental de Jecht devenu Sin, ou même les apparences des defunts absorbées par Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#32">それは多くの場合、「シン」となったジェクトの心象風景であったり、「シン」に吸収される死者の姿であったりする</a></em> Ceci est dû au fait que Tidus a un lien parental avec Jecht, qui constitue le noyau de Sin et également que les éléments constitutifs de son corps diffèrent de ceux d&#39;une personne normale. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#33">これはティーダが、『シン』の核を成すジェクトと親子のつながりを持ち、さらに、身体の構成要素も一�の人と異なっているためだ。</a></em></p>
<p>De plus, ce que Tidus voit lorsqu&#39;il est affecté par le Mal de Sin prend une forme claire et nette, même si c&#39;est une illusion. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#34">また、ティーダが毒気にやられて見るものは、幻影とはいえ明確な形を取る。</a></em> Il est également envisageable que ceci soit dû au fait que Jecht à l&#39;intérieur de Sin a intentionnellement tenté de montrer ces images. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#35">これは、「シン」のなかのジェクトが意図的にそれらの映像を見せようとしたためだとも考えられる。</a></em></p>
<p>En agissant en tant que Sin et en révélant ses propres sentiments de souffrance, il était probablement en train d&#39;implorer son fils en disant « S&#39;il te plaît, libère-moi [abats-moi, achève-moi, sauve-moi] ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#36">｢シン」として苦しむ自分の想いをさらけ出すことで、息子に｢自分を倒してくれ」と訴えていたのだろう。</a></em></p>
<h3 id="les-moments-où-tidus-est-affecté-par-le-mal-de-sin-ティーダが毒気にやられる場面">Les moments où Tidus est affecté par le Mal de Sin. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#38">ティーダが毒気にやられる場面</a></em></h3>
<p>Les moments dans l&#39;histoire où Tidus est affecté par le Mal de Sin ou est transféré via Sin sont les suivant : <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#39">物語中でティーダが毒気にやられたり、「シン」に移送される場面は以下のとおり。</a></em></p>
<p>● Rencontre Sin dans la Zanarkand du Rêve → [Transfert] [Toxines] → Se réveille dans les ruines sous-marines. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#40">●夢のザナルカンドで「シン」に遭遇→[移送][毒気]→海の遺跡で目を覚ます</a></em></p>
<p>● Rencontre Sin à bord du bateau de sauvetage → [Transfert] → Se réveille près de l&#39;« Île de Besaid ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#41">●サルベージ船で「シン」に遭遇→[移送]→ビサイド島近海で目を覚ます</a></em></p>
<p>● Poursuit Sin après la fin de la session de « Mi&#39;ihen » → [Toxines] → Se réveille sur la « Plage de Djose ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#42">●ミヘン・セッション終了後に「シン」を追う→[毒気]→ジョゼ海岸で目を覚ます</a></em></p>
<p>● Est absorbé par Sin après s&#39;être réveillé au fond du « Lac de Macalania » → [Transfert] [Toxines] → Se réveiller dans l&#39;oasis du « Désert de Sanubia. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#43">●マカラーニャ湖湖底で目を覚ました｢シン」に飲みこまれる→[移送][毒気]→サヌビア砂漠のオアシスで目を覚ます</a></em></p>
<p>◆ À l&#39;intérieur de Sin, Tidus souffrant du Mal de Sin finira par voir via [à travers] sa propre perception [conscience] confuse les fragments du cœur de Jecht. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p83-sin/index.html#44">◆毒気にやられたティーダは、「シン」のなかのジェクトの心の断片を､もうろうとした自身の意識を通じて見ることになる。</a></em></p>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFX <a href="/final-fantasy-zet-et-tic/#final-fantasy-x">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/sin-dans-final-fantasy-x-ffx-zet-tic/</link>
            <guid isPermaLink="false">64e846ad24135e1e11ad5438</guid>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Zététique]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sun, 20 Aug 2023 20:04:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Chronologie des évènements avant le début de FINAL FANTASY X]]></title>
            <description><![CDATA[<p>Dans cet article, nous allons détailler les évènements s&#39;étant déroulés avant le début de FINAL FANTASY X. Nous allons nous appuyer sur le contenu des pages 80 et 81 du livre FINAL FANTASY X ULTIMANIA OMEGA.</p>
<p><em>Chaque phrase est accompagnée de la version japonaise qui a servi de support à la traduction proposée. Cliquez sur le texte japonais pour</em> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html">rejoindre l&#39;explication</a> <a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html">de traduction</a> <em>. Ainsi, si vous n&#39;êtes pas certain du sens d&#39;une traduction, vous pourrez obtenir plus de précisions. N&#39;hésitez pas à partager vos rectifications éventuelles en commentaire.</em></p>
<blockquote>
<p><strong>Série FINAL FANTASY ZET &amp;&amp; TIC</strong></p>
<p>Cet article est rédigé en utilisant des outils d&#39;intelligence artificiel, il ne va pas contenir de technique, juste le résultat de ces outils. Pour en savoir plus sur la manière de produire ce contenu, <a href="/final-fantasy-zet-et-tic/">vous pouvez vous rendre sur le billet explicatif</a>.</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://i.pinimg.com/originals/a7/6b/0f/a76b0fd61cff9dc872adbd78c1b52302.png" alt="Carte de Spira" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://i.pinimg.com/originals/a7/6b/0f/a76b0fd61cff9dc872adbd78c1b52302.png" target="_blank">Carte de Spira <em>par Square-Enix</em></a></figcaption>
</figure>

<h2 id="la-véritable-histoire-de-spira-スピラ真の歴史">La véritable histoire de Spira <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#2">スピラ真の歴史</a></em></h2>
<h3 id="■-il-y-a-environ-3-000-ans-■約3000年前">■ Il y a environ 3 000 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#3">■約3000年前</a></em></h3>
<p>  ● Développement de la civilisation magique. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#4">●魔法文明が発達</a></em></p>
<p>  ● Les « Makinas » [machines] sont inventées. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#5">●機械が発明される</a></em></p>
<p>  ● Les Makinas se démocratisent sur « Spira ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#6">●機械がスピラに浸透</a></em></p>
<p>  ● Des Makinas surpassant la magie apparaissent. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#8">●魔法をしのぐほどの機械が登場</a></em></p>
<p>  ● La civilisation des Makinas atteint son apogée. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#9">●機械文明が隆盛を極める</a></em></p>
<h3 id="■-il-y-a-environ-1-000-ans-■約1000年前">■ Il y a environ 1 000 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#10">■約1000年前</a></em></h3>
<p>  ● Équipé de Makinas, « Bevelle » se bat contre « Zanarkand » dont le moyen de combat principal sont les invocations (la « Guerre des Makinas » éclate). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#11">●機械で武装したベベルと、召喚をおもな戦闘手段としたザナルカンドが戦う(機械戦争が勃発)</a></em>
  Les deux civilisations possédaient des cités de Makinas, cependant la cité de Bevelle ayant toujours utilisé des armes Makinas en tant que force principale dominait. Zanarkand était condamnée à la destruction. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#12">一一両国とも機械文明の都市ではあったが、機械兵器が主力のベベルが最初から優勢。ザナルカンドは滅亡必至となる。</a></em></p>
<p>  ● « Yevon », le [maître] « Invokeur » qui était le dirigeant de Zanarkand, a transformé tous les habitants survivants de Zanarkand en « Priants » (des « Statues de Priants » apparaissent sur le « Mont Gagazet »). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#13">●ザナルカンドの支配者であった召喚士エボン、生き残っていたザナルカンド市民すべてを祈り子に変えある(ガガゼト山に祈り子群像ができる)</a></em></p>
<p>  ● L&#39;Invokeur Yevon, en utilisant le pouvoir des [habitants] Priants, invoque la Zanarkand des souvenirs c.-à-d. la « Zanarkand du Rêve ». Il devient « Yu Yevon » et créé le premier « Sin » (c&#39;est la naissance de Sin). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#14">●召喚士エポンが､市民の祈り子の力を用いて、ザナルカンドの思い出=夢のザナルカンドを召喚。自身はエボン=ジュとなり、初代「シン」を生み出す(「シン」の誕生)</a></em>
  C&#39;est le seul Sin qui n&#39;a pas comme noyau une « Ultime Chimère » [Bête d&#39;invocation]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#15">一一この初代「シン」だけは、究極召喚獣を核としていない。</a></em></p>
<p>  ☆ Naissance de la Zanarkand du Rêve <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#16">☆夢のザナルカンド誕生</a></em></p>
<p>  ● Sin détruit la civilisation des Makinas, en commençant par Zanarkand puis Bevelle, qui sont alors devenues des villes inhabitées. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#17">●「シン」が、無人の街と化したザナルカンドと、ベベルを皮切りに、機械文明を破壊</a></em>
  Chaque habitant de Bevelle à cette époque pensait que ce que l&#39;Invokeur Yevon avait appelé à l&#39;aide des [habitants] Priants de Zanarkand était Sin, et ils croyaient que le fait que Sin ait détruit divers endroits en se déplaçant était la manifestation de la fureur de Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#19">一一当時のベベルの民は､召喚士エボンがザナルカンドの住人の祈り子から召喚したものは「シン」であり、「シン」が各所を破壊してまわったのは「荒ぶるエポンの怒り」の現れと考えた。</a></em></p>
<p>  ● L&#39;Invokeuse « Yunalesca » de Zanarkand, transforme son mari « Zaon » en Priant et vainc Sin avec l&#39;Ultime Chimère. Yunalesca reste sur Spira en tant que « Errante » [personne décédée]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#20">●ザナルカンドの召喚士ユウナレスカ、夫のゼイオンを祈り子に変え、究極召喚で『シン』を倒す。ユウナレスカは死人としてスピラにとどまる</a></em>
  Yunalesca et Zaon sont les seuls réchappés de la chute de Zanarkand. Yunalesca a utilisé l&#39;Ultime Chimère en étant consciente que cela ne résoudrait pas fondamentalement la situation. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#21">一一ユウナレスカとゼイオンだけは、ザナルカンド滅亡のさいに同地を逃れていた。ユウナレスカが究極召喚を用いたのは、それが根本的な解決にならないと承知のうえのこと。</a></em></p>
<p>  ● Les survivants ont entrepris la reconstruction de Spira faisant de Bevelle sa capital [son centre]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#22">●生き残った人々が、ベベルを中心にスピラ再建に着手</a></em></p>
<p>  ● Le deuxième Sin, dont l&#39;Ultime Chimère (Zaon) en tant que noyau est celle de Yunalesca, apparaît devant les gens et détruit la civilisation des Makinas survivante. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#24">●ユウナレスカの究極召喚獣(ゼイオン)を核とする2代目｢シン」が人々の前に出現、残存していた機械文明を破壊</a></em>
  Du fait de l&#39;attaque de Sin contre la civilisation des Makinas, on voit se répandre parmi les gens une tendance au rejet des Makinas. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#25">一一｢シン」が機械文明を襲うことから、人々のあいだに機械放棄の風潮が広まる。</a></em></p>
<p>  ● Établissement [Création] du « Temple de Yevon » à Bevelle. Il adopte les tendances du monde en vénérant Yunalesca ainsi qu&#39;en prêchant l&#39;interdiction des Makinas. Il proclament cet enseignement pour gagner les cœurs du peuple et étend [saisi] sa domination spirituel sur Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#26">●ベベルにエボン寺院成立。エボンやユウナレスカをまつり機械禁止を説くなど、世の風潮を採り入れた教えを掲げて民心をつかみ、精神面でスピラの覇権を掌握</a></em></p>
<p>   ● Le Temple de Yevon ajoute à son enseignement [doctrine] l&#39;idée que Sin équivaut au péché et à la punition. Simultanément, il propage l&#39;idée [récit] selon lequel la « Félicité » [Nagi] arrive grâce à une Ultime Invocation. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#27">●エボン寺院が、｢シン』=罪、罰とする考えを教義に追加。同時に、究極召喚でナギ節がくるとの話を広める</a></em>
  Craignant que les gens se révolte [éruption de mécontentement] que Sin ne disparaisse pas malgré leur croyance en l&#39;enseignement, le Temple a pris des mesures. Il a rejeté la faute [transféré la responsabilité] de la non-disparition de Sin sur tous les habitants de Spira, tout en maintenant l&#39;espoir que Sin disparaîtra lorsque les péchés disparaîtront, tentant ainsi d&#39;apporter la stabilité dans l&#39;esprit du peuple. La propagation de l&#39;histoire de l&#39;Ultime Chimère et de la Félicité a également été entreprise pour préserver l&#39;espoir. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#28">一一教えを信じても「シン」が消えない、という不満が人々から噴出するのを恐れての寺院の処置。「シン」が消えない原因をスビラの民すべてに転嫁し、かつ「罪が消えれば｢シン」も消える」という希望を残して、民心に安定をもたらそうとした。究極召喚とナギ節の話を広めたのも、希望を維持するため。</a></em></p>
<h3 id="■-il-y-a-environ-800-ans-■約800年前">■ Il y a environ 800 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#29">■約800年前</a></em></h3>
<p>  ● « Mi&#39;ihen » a fondé les « Crimson Blades » [Pourfendeurs Rouges] (plus tard renommé les « Bannisseurs » [brigade de suppression]) et se dirige vers Bevelle pour se légitimer [expliquer ses vraies intentions] auprès du Temple de Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#30">●ミヘンが赤斬衆(のちの討伐隊)を設立。エボン寺院への申し開きのためベベルへ向かう</a></em></p>
<p>  ● Mi&#39;ihen a établi un terrain d&#39;entraînement pour les Bannisseurs à la « Plaine Félicité » <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#32">●ミヘン、ナギ平原に討伐隊の訓練場を設立</a></em></p>
<h3 id="■-il-y-a-environ-700-ans-■約700年前">■ Il y a environ 700 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#33">■約700年前</a></em></h3>
<p>  Le prêtre « Omega » du Temple de Yevon est exécuté pour avoir trahi le Temple en se rebellant. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#34">●エボンの僧官オメガ、寺院に反逆した罪で処刑される</a></em></p>
<h3 id="■-il-y-a-environ-500-ans-■約500年前">■ Il y a environ 500 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#35">■約500年前</a></em></h3>
<p>  ● La « Route de Mi&#39;ihen » (l&#39;ancienne route) est détruite par Sin, et un nouveau chemin est créé. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#36">●ミヘン街道(旧道)が「シン」に破壊され、新道が作られる</a></em></p>
<h3 id="■-il-y-a-environ-400-ans-■約400年前">■ Il y a environ 400 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#37">■約400年前</a></em></h3>
<p>  ● Le [maître] Invokeur « Gandof » [Gandofu], en utilisant une Ultime Chimère, vainc Sin et devient le premier « Grand Invokeur » de l&#39;histoire. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#38">●召喚士ガンドフ、究極召喚で「シン』を倒し、史上初の大召喚士となる</a></em>
  Grâce à cela, les enseignements de Yevon obtiennent du crédit [une confirmation], et les mouvements présentant des doutes envers le Temple se calment.<em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#39">一一これでエボンの教えが裏づけを得たことになり、寺院に疑問を呈する動きも沈静化する。</a></em></p>
<h2 id="lère-de-félicité-de-gandof-ガンドフのナギ節">L&#39;ère de Félicité de Gandof <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#40">ガンドフのナギ節</a></em></h2>
<p>  ● Le 3ième Sin, ayant pour noyau l&#39;Ultime Chimère Gandof, apparaît [se montre] devant les gens. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#41">●ガンドフの究極召喚獣を核とする3代目｢シン」が、人々の前に出現</a></em></p>
<h3 id="■-il-y-a-environ-230-ans-■約230年前">■ Il y a environ 230 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#42">■約230年前</a></em></h3>
<p>  ● L&#39;ancien joueur de « Blitzball » « Ohalland », en utilisant une Ultime Chimère, vainc Sin et devient un Grand Invokeur. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#43">●もとブリッツ選手の召喚士オハランドが究極召喚で「シン」を倒し、大召喚士となる</a></em></p>
<h2 id="lère-de-félicité-de-ohalland-オハランドのナギ節">L&#39;ère de Félicité de Ohalland <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p80-timeline/index.html#44">オハランドのナギ節</a></em></h2>
<p>  ● Le 4ième Sin, ayant pour noyau l&#39;Ultime Chimère Ohalland, apparaît [se montre] devant les gens. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#1">●オハランドの究極召喚獣を核とする4代目『シン」が、人々の前に出現</a></em></p>
<h3 id="■-il-y-a-environ-100-ans-■約100年前">■ Il y a environ 100 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#2">■約100年前</a></em></h3>
<p>  ● L&#39;ancienne Bannisseuse « Yocun », en utilisant une Ultime Chimère, vainc Sin et devient une Grande Invokeuse. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#3">●もと討伐隊員の召喚士ヨンクンが究極召喚で「シン」を倒し、大召喚士となる</a></em></p>
<h2 id="lère-de-félicité-de-yocun-ヨンクンのナギ節">L&#39;ère de Félicité de Yocun <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#4">ヨンクンのナギ節</a></em></h2>
<p>  ● Le 5ième Sin, ayant pour noyau l&#39;Ultime Chimère Yocun, apparaît [se montre] devant les gens. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#6">●ヨンクンの究極召喚獣を核とする5代目「シン」が、人々の前に出現</a></em></p>
<h3 id="■-il-y-a-50-ans-■50年前">■ Il y a 50 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#7">■50年前</a></em></h3>
<p>  ● « Yo Mika » devient « Grand Maître de Yevon ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#8">●ヨー=マイカ、エポンの総老師となる</a></em></p>
<h3 id="■-il-y-a-35-ans-■35年前">■ Il y a 35 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#9">■35年前</a></em></h3>
<p>  ● Naissance de « Auron » [Aaron] <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#10">●アーロン生まれる</a></em></p>
<h3 id="■-il-y-a-28-ans-■28年前">■ Il y a 28 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#11">■28年前</a></em></h3>
<p>  ● Naissance de « Seymour Guado », né de « Jiscal Guado » et d&#39;une femme humaine. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#12">●ジスカル=グアドとヒトの女性のあいだにシーモア=グアド生まれる</a></em></p>
<h3 id="■-il-y-a-environ-25-ans-■約25年前">■ Il y a environ 25 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#14">■約25年前</a></em></h3>
<p>  ● Jiscal devient le chef du peuple « Guado » et répand les enseignements de Yevon au sein de la tribu. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#15">●ジスカル、グアド族の族長となり、一族内にエポンの教えを広める</a></em></p>
<p>  ● Naissance de « Kimahri Ronso » <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#16">●キマリ=ロンゾ生まれる</a></em></p>
<h3 id="■-il-y-a-23-ans-■23年前">■ Il y a 23 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#17">■23年前</a></em></h3>
<p>  ● Naissance de « Wakka » <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#18">●ワッカ生まれる</a></em></p>
<p>  ● Les « Besaid Aurochs », lors du tournoi de Blitzball à « Luca », échouent au premier tour. Pendant les 23 années suivantes, ils enchaînent les défaites au premier tour. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#19">●ビサイド・オーラカ、ルカのブリッツ大会で初戦敗退。以後23年間、初戦敗退を重ねる</a></em></p>
<h3 id="■-il-y-a-22-ans-■22年前">■ Il y a 22 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#20">■22年前</a></em></h3>
<p>  ● Naissance de « Lulu » <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#21">●ルールー生まれる</a></em></p>
<h3 id="■-il-y-a-environ-20-ans-■約20年前">■ Il y a environ 20 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#22">■約20年前</a></em></h3>
<p>  ● Les conflits internes au sein de la tribu Guado s&#39;intensifient. Jiscal envoie [éloigne, banni] sa femme et son fils [enfant] à « l&#39;Île de Baaj » pour empêcher la division de la tribu Guado. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#23">●グアド族内部で抗争が激化。ジスカル、妻子をバージ島へ流し、グアド族の分裂を防ぐ</a></em></p>
<h3 id="■-il-y-a-18-ans-■18年前">■ Il y a 18 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#25">■18年前</a></em></h3>
<p>  ● Wakka commence à jouer au Blitzball. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#26">●ワッカブリッツボールをはじめる</a></em></p>
<p>  ● « La mère de Seymour » réalise que sa fin approche, et elle emmène son fils aux ruines de Zanarkand. Elle devient le Priant de l&#39;Ultime Chimère Anima de Seymour. Seymour refuse d&#39;accepter le pouvoir de sa mère et retourne à l&#39;Île de Baaj. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#27">●シーモアの母が死期を悟り、息子をともなってザナルカンド遺跡へ。シーモアの究極召喚獣アニマの祈り子となる。シーモアは母の力を受け入れるのを拒否し、バージ島へもどる</a></em>
  C&#39;est par l&#39;intermédiaire de son mari Jiscal que la mère de Seymour a appris le mécanisme de l&#39;Ultime Chimère. Il est admis que la tribu Guado possédait ses propres archives dites scellées et fragmentaires de l&#39;histoire de Spira [Histoire]. Il semble également que Jiscal était au courant que son fils [enfant] Seymour et sa mère se rendraient aux ruines de Zanarkand et les soutenait secrètement. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#29">一一シーモアの母が究極召喚の仕組みを知ったのは、夫ジスカルを経由してのこと｡グアド族には、封印された歴史を断片的に伝える独自の記録があったと考えられる。なおジスカルは、シーモア母子がザナルカンド遺跡へ行くことを承知し、ひそかにそれを支援していた様子。</a></em></p>
<p>  ● Le prêtre « Braska » de Bevelle et la « sœur de Cid », qui est membre de la tribu des « Al Bheds », cherchant à s&#39;unir [se marier], se sont enfuis ensemble. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#31">●ベベルの僧官ブラスカと、アルベド族であるシドの妹が、駆け落ち同然に結婚</a></em>
  Braska s&#39;est en effet rapproché de la sœur de Cid pendant ses allées et venues [voyageant entre] le foyer des Al Bheds et sa propre terre [continent] pour échanger avec la tribu de Al Bheds. Après son mariage, Braska s&#39;est complètement détourné des enseignements [du chemin de la promotion] au sein des partisans de Yevon du fait d&#39;avoir une famille. En outre, la sœur de Cid a été ostracisée [exclue, isolée des autres] par son frère. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#34">一一ブラスカは、アルベド族との交流のためアルベドのホームを行き来するうちに、シドの妹と懇意になった。結婚後ブラスカは、エボンの民と所帯を持ったことで出世の道を完全にはずれる。また、シドの妹は兄に絶縁される。</a></em></p>
<h3 id="■-il-y-a-17-ans-■17年前">■ Il y a 17 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#37">■17年前</a></em></h3>
<p>  ☆ Naissance de « Tidus » [Tida], né de « Jecht » et de sa femme. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#38">☆ジェクトとその妻のあいだにティーダ生まれる</a></em></p>
<p>  ● Naissance de « Yuna », née de Braska et de la sœur de Cid. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#39">●ブラスカとシドの妹とのあいだにユウナ生まれる</a></em></p>
<h3 id="■-il-y-a-13-ans-■13年前">■ Il y a 13 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#40">■13年前</a></em></h3>
<p>  ● La mère de Yuna (la sœur de Sid) est attaquée et meurt à cause de Sin. Cela renforce la détermination de Braska à devenir un Invokeur. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#41">●ユウナの母(シドの妹)、「シン」に襲われ死亡。ブラスカ、召喚士になる決意を固める</a></em></p>
<h3 id="■-il-y-a-10-ans-■10年前">■ Il y a 10 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#44">■10年前</a></em></h3>
<p>  ● Wakka rejoint les Besaid Aurochs. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#45">●ワッカ、ピサイド・オーラカに入る</a></em></p>
<p>  ☆ Jecht, pendant l&#39;entraînement de Blitzball en mer, entre en contact avec le 5ième Sin et est transporté sur Spira. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#47">☆ジェクト、海でブリッツのトレーニング中に5代目「シン」に触れ、スピラに運ばれる</a></em></p>
<p>  ● L&#39;Invokeur Braska accompagné du prêtre guerrier Auron en tant que « Gardien » [garde] fait de Jecht, alors précédemment retenu à Bevelle, son nouveau Gardien ; tous trois partent en voyage [pèlerinage] pour obtenir l&#39;Ultime Chimère. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#49">●僧兵アーロンをガードにともなった召喚士ブラスカが、ベベルにとらわれていたジェクトを新たにガードとし、3人で究極召喚を得る旅に出る</a></em></p>
<p>  ● L&#39;Invokeur Braska, en utilisant le Priant Jecht comme Ultime Chimère, vainc Sin et devient un Grand Invokeur. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#51">●召喚士ブラスカ、ジェクトを祈り子とする究極召喚で『シン』を倒し、大召喚士となる</a></em></p>
<h2 id="lère-de-félicité-de-braska-ブラスカのナギ節">L&#39;ère de Félicité de Braska <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#52">ブラスカのナギ節</a></em></h2>
<p>  ● Auron défie Yunalesca seul et subit de graves blessures le laissant au bord de la mort [blessures mortelles]. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#53">●アーロン、単身ユウナレスカに挑み、瀕死の重傷を負う</a></em></p>
<p>  ● Kimahri, après que sa corne ait été brisée par « Biran », quitte le [descend du] Mont Gagazet incapable de supporter l&#39;humiliation. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#54">●キマリ、ビランにツノを折られ、屈辱に耐えられずガガゼト山を下りる</a></em></p>
<p>  ● Auron au bord de la mort demande de s&#39;occuper [confie le sort] de Yuna à Kimahri puis décède. Il devient un Errant. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#56">●瀕死のアーロン、キマリにユウナのことを頼んで死亡。死人となる</a></em></p>
<p>  ● Avec l&#39;arrivée de la Félicité, les conflits internes au sein de la tribu Guado se calment. Dans ce contexte [impulsion, tendance], l&#39;exil de Seymour est également levé. À son retour, Seymour assiste Jyscal en tant que prêtre. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#58">●ナギ節到来にともない、グアド族内部の抗争が沈静化。その風潮を受け、シーモアの流刑も解かれる。帰還したシーモアは僧官としてジスカルを補佐</a></em></p>
<p>  ● Kimahri emmène Yuna au village de Besaid. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#59">●キマリユウナを連れてビサイド村へ</a></em></p>
<p>  ● Auron conduit par [monte à bord du] Sin de Jecht et se dirige vers la Zanarkand du Rêve. Il commence à veiller sur Tidus. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#60">●アーロン、ジェクトの「シン」に乗って夢のザナルカンドへ。ティーダを見守りはじめる</a></em></p>
<h3 id="■-il-y-a-9-ans-■9年前">■ Il y a 9 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#61">■9年前</a></em></h3>
<p>  ● Le chef de la tribu Guado, Jyscal, et le chef de la tribu « Ronso », « Kelk », deviennent tous deux des « Maîtres de Yevon »  (dans le cadre de la politique d&#39;intégration [d&#39;appaisement] des sous-races de Maître Mika). <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#62">●グアドの族長ジスカルとロンゾの族長ケルク、エポンの老師となる(マイカの亜人融和政策の一環)</a></em></p>
<p>  ☆ La « mère de Tidus » meurt alors qu&#39;elle était en proie au désespoir. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#64">☆ティーダの母、失意のうちに死亡</a></em></p>
<p>  ● Le 6ième Sin, ayant pour noyau l&#39;Ultime Chimère Jecht, apparaît [se montre] devant les gens.<em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#66">●ブラスカの究極召喚獣(ジェクト)を核とする6代目「シン」が､人々の前に出現</a></em></p>
<h3 id="■-il-y-a-3-ans-■3年前">■ Il y a 3 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#67">■3年前</a></em></h3>
<p>  ● « Wen Kinoc » devient un « Maître de Yevon ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#68">●ウェン=キノック、エボンの老師となる</a></em></p>
<p>  ● Seymour, conformément à la volonté de maître Mika, devient le Grand prêtre du « Temple de Macalania ». Il se rend [visite] secrètement les « Ruines de Zanarkand », obtient « Anima » et transporte la statue du Priant [de la prêtresse priante] sur l&#39;Île de Baaj pour la sceller. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#69">●シーモア、マイカの意向でマカラーニャ寺院の僧官長に就任。ひそかにザナルカンド遺跡を訪れアニマを入手し、祈り子像をバージ島へ運んで封印をほどこす</a></em>
  Seymour s&#39;est rendu (a visité) l&#39;Île de Baaj à plusieurs reprises. C&#39;est également là-bas qu&#39;il a consolidé sa détermination à mettre en œuvre le « Plan ». <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#71">一一このときにかぎらず、シーモアは度かバージ島を訪れていた｡“計画”を実行に移す決意を固めたのも同地でのこと｡</a></em></p>
<h3 id="■-il-y-a-2-ans-■2年前">■ Il y a 2 ans <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#73">■2年前</a></em></h3>
<p>  ● Yuna devient une disciple [apprentie] Invokeuse et commence son entraînement <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#74">●ユウナ、従召喚士となり修行を開始</a></em></p>
<p>  ● Alors que Lulu servait en tant que Gardienne, l&#39;Invokeuse Ginnem est décédée. Lulu retourne à Besaid. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#75">●ルールーがガードをつとめていた召喚士ギンネムが死亡。ルールー、ビサイドへ帰還</a></em></p>
<h3 id="■-il-y-a-1-an-■1年前">■ Il y a 1 an <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#78">■1年前</a></em></h3>
<p>  ● Lulu devient une Gardienne de l&#39;invokeur Zuke. Wakka promet de devenir un Gardien après le tournoi de Blitzball. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#79">●ルールー、召喚士ズークのガードに。ワッカも、ブリッツ大会後にガードになると約束</a></em></p>
<p>  ● Les Bannisseurs entreprennent une opération de défense de la « Côte de Djosé ». « Chappu », qui faisait partie des Bannisseurs participant à l&#39;opération, est mort au combat. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#81">●討伐隊がジョゼ海岸防衛作戦を敢行。討伐隊として作戦に加わっていたチャップが戦死</a></em></p>
<p>  ● Wakka et Lulu partent en voyage [pèlerinage] en tant que Gardiens de Zuke. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#82">●ワッカとルールーが、ズークのガードとして旅に出る</a></em></p>
<p>  ● (Il y a six mois) Zuke abandonna le voyage [pèlerinage] dans la plaine Félicité. Wakka et Lulu retournent à Besaid. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#83">●(半年前)ズーク､ナギ平原で旅を断念。ワッカとルールー、ビサイドへ帰還</a></em></p>
<p>  ● (Juste avant le début du jeu) Jyscal décède. Seymour, son fils, devient le chef de la tribu Guado et devient un Maître de Yevon. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#84">●(ゲーム開始直前)ジスカル死亡。息子のシーモアが、グアドの族長とエポンの老師の座を獲得</a></em></p>
<h2 id="début-du-jeu-ゲーム開始">[Début du jeu] <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#85">[ゲーム開始]</a></em></h2>
<h3 id="les-éléments-qui-sont-accompagnés-du-symbole-｢☆｣-sont-des-événements-se-déroulant-dans-la-zanarkand-du-rêve-｢☆｣がついているものは、夢のザナルカンドでの出来事">Les éléments qui sont accompagnés du symbole ｢☆｣ sont des événements se déroulant dans la Zanarkand du Rêve. <em><a href="https://machinisteweb.github.io/ff-zet-tic/ffx-uo/p81-timeline/index.html#86">※｢☆｣がついているものは、夢のザナルカンドでの出来事</a></em></h3>
<blockquote>
<p>Retrouvez tous les billets de FINAL FANTASY ZET &amp;&amp; TIC sur FFX <a href="/final-fantasy-zet-et-tic/#final-fantasy-x">par ici</a>.</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/chronologie-des-evenements-avant-le-debut-de-final-fantasy-x-ffx-zet-tic/</link>
            <guid isPermaLink="false">64e07e9f24135e1e11ad3b01</guid>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sat, 19 Aug 2023 08:34:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[FINAL FANTASY ZET &amp; TIC]]></title>
            <description><![CDATA[<p>Je vais créer une série de billets où je souhaite mélanger trois de mes passions : <a href="https://www.compilation-of-ff7.com/">FINAL FANTASY</a>, la <a href="https://www.coup-critique.com/">Zététique</a> et les <a href="https://www.lesieur.name/">Technologies de l&#39;Information et de la Communication</a> : on y parlera d&#39;IA (Intelligence Artificiel) avec notamment de l&#39;OCR (Optical Character Recognition) permettant de reconnaitre des images, des plateformes comme DeepL fournissant des traductions ou encore de ChatGPT, l&#39;assistant parfait pour décortiquer un texte en japonais ! Et comme ce serait triste de s&#39;amuser tout seul, je vais également créer un <a href="https://www.facebook.com/groups/finalfantasyzetetic">groupe Facebook</a> pour m&#39;aider dans cette tâche.</p>
<figure>
<img width="850" height="480" src="https://2.bp.blogspot.com/-8E_c-MO5Neg/T5qVr51onpI/AAAAAAAAAmY/RVc2B6i05LE/s1600/DSC08398.JPG" alt="FINAL FANTASY X ULTIMANIA OMEGA" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="http://myfinalfantasycollection.blogspot.com/2012/04/strategy-guide-final-fantasy-x.html" target="_blank">FINAL FANTASY X ULTIMANIA OMEGA</a></figcaption>
</figure>

<h2 id="jouer-avec-des-ia-et-approfondir-létude-des-univers-de-ff">Jouer avec des IA et approfondir l&#39;étude des univers de FF</h2>
<p>Tout commence il y a quelque temps où la simple évocation de <a href="https://fr.store.square-enix-games.com/final-fantasy-x-play-arts-kai-action-figure---tidus">Tidus</a> et <a href="https://fr.store.square-enix-games.com/final-fantasy-x-play-arts-kai-action-figure---yuna">Yuna</a> sous forme de magnifique figurine que j&#39;ai vu passer sur la <a href="https://fr.store.square-enix-games.com/produits-derives/figurines">boutique Square-Enix</a> m&#39;a replongée dans l&#39;univers fantastique de FINAL FANTASY X avec, pour ma part, une fin qui m&#39;a ému comme jamais. Bien que, si l&#39;on me demandait quel est le numéro de mon univers préféré, je vous répondrais le VII, ce serait réducteur de se poser cette question tant chaque numéro est un univers complet à lui seul et les FINAL FANTASY se suivent mais ne se ressemblent pas. Focus spécial pour moi : les univers et scénarios.</p>
<p>J&#39;ai donc ressenti le besoin de me replonger dans l&#39;univers de FFX et pour cela, je me suis mis en quête de vidéos ou de textes pouvant me narrer à nouveau cette fabuleuse épopée et m&#39;en apprendre davantage sur les règles qui régissent Spira.</p>
<p>Mais à ma grande surprise, beaucoup de contenus semblaient mélanger théories, événements de jeu, intentions de développement, rationalisation post-production et éléments « dit » rapportés de livres japonais comme les Ultimania Omega (véritable bible japonaise de chaque FF) sans même le début d&#39;une source. Ce n&#39;est pas un problème en soi : j&#39;adore créer des théories en me basant sur le lore et en les rendant compatibles avec ce que je connais, en veillant à éviter les contradictions avec l&#39;univers existant. Cependant, cette préoccupation de respect du lore et de « vérité » ne paraissait pas être le cas pour tous mes contenus vites perdu dans le plaisir de rêver ! Les contenus <a href="https://www.youtube.com/@lesspheresdethravel">les plus professionnels</a> que j&#39;ai pu voir mentionnaient bien les nuances entre le lore du jeu, l&#39;intention de développement, avis personnel, mais ne fournissaient aucun moyen de vérifier leurs sources. Quant aux autres, ils se contentaient de se répéter (ou pas) les uns les autres : comme si une information répétée devenait vraie.</p>
<p>À oui ? La Zanarkand onirique n&#39;est pas à l&#39;intérieur de Sin, mais localisé près du Temple de Baaj ? Mais d&#39;où ça vient ça ? Je ne trouve pas la source… C&#39;était enfin l&#39;excuse rêvée pour commencer mes tests sur les IAs qui fleurissent sur le net depuis 2023 et vérifier si, sans rien savoir en Japonais, je pouvais en apprendre des bases et en traduire et comprendre des textes !</p>
<h2 id="vérifier-à-la-source">Vérifier à la source</h2>
<p>Je vous propose donc, à l&#39;aide des nouveaux outils d&#39;intelligence artificielle, de créer une série de billets dont la proposition est la suivante : fouiller dans les sources japonaises officielles des jeux FINAL FANTASY pour dresser un portrait sourcé de divers éléments de jeu afin d&#39;avoir un point d&#39;appui pour comprendre ces univers, réfuter des théories incompatibles avec le lore du jeu et permettre d&#39;en échafauder de nouvelles.</p>
<h2 id="comment-traduire-du-japonais-sans-parler-japonais-">Comment traduire du japonais, sans parler japonais ?</h2>
<p>Pour ce faire, nous allons :</p>
<ul>
<li>Utiliser des IA de reconnaissance visuelle comme <a href="https://cloud.google.com/vision?hl=fr">Google Cloud Vision</a> pour récupérer les caractères japonais <a href="https://archive.org/search?query=ultimania+omega">des guides Ultimania Omega japonais de FINAL FANTASY</a>.</li>
<li>Utiliser des IA de traduction comme <a href="https://www.deepl.com/translator">DeepL</a> pour traduire grossièrement le contenu afin de se repérer dans ce que l&#39;on cherche à comprendre et avoir une idée globale de ce dont on parle.</li>
<li>Utiliser des IA d&#39;assistance comme <a href="https://chat.openai.com/">ChatGPT</a> pour comprendre plus finement, ligne par ligne, groupe de mot par groupe de mot, le sens des phrases.</li>
</ul>
<p>Le résultat sera une traduction française pour diverses entrées, dont chaque ligne sera sourcée afin de s&#39;assurer du résultat le plus exact.</p>
<h2 id="détails">Détails</h2>
<p>Tous les détails de cette procédure seront expliqués dans le présent billet au fur et à mesure que je maîtriserai de mieux en mieux les outils. En attendant, vous pouvez rejoindre la liste des résultats fournis par cette méthode dans la liste ci-après.</p>
<h2 id="univers-déjà-traités">Univers déjà traités</h2>
<p>Voici les éléments d&#39;histoire et de monde à propos de FINAL FANTASY déjà traités.</p>
<h3 id="final-fantasy-viii">FINAL FANTASY VIII</h3>
<ul>
<li><a href="/la-legende-de-hyne-final-fantasy-viii-ffviii-zet-tic/">La légende de Hyne</a></li>
</ul>
<h3 id="final-fantasy-ix">FINAL FANTASY IX</h3>
<ul>
<li><a href="/hera-et-terra-dans-final-fantasy-ix-ffix-zet-tic/">Héra et Terra</a></li>
<li><a href="/l-arbre-ifa-et-le-cycle-des-ames-dans-final-fantasy-ix-ffix-zet-tic/">L&#39;Arbre Ifa et le Cycle des âmes</a></li>
<li><a href="/ceux-qui-viennent-d-un-cristal-ou-de-la-brume-dans-final-fantasy-ix-ffix-zet-tic/">Ceux qui viennent d&#39;un Cristal ou de la Brume</a></li>
<li><a href="/l-eclat-des-lunes-et-des-cristaux-dans-final-fantasy-ix-ffix-zet-tic/">L&#39;éclat des Lunes et des Cristaux</a></li>
</ul>
<h3 id="final-fantasy-x">FINAL FANTASY X</h3>
<ul>
<li><a href="/chronologie-des-evenements-avant-le-debut-de-final-fantasy-x-ffx-zet-tic/">Chronologie des évènements avant le début</a></li>
<li><a href="/sin-dans-final-fantasy-x-ffx-zet-tic/">Sin</a></li>
<li><a href="/les-deux-zanarkand-dans-final-fantasy-x-ffx-zet-tic/">Les deux Zanarkand</a></li>
<li><a href="/les-priants-dans-final-fantasy-x-ffx-zet-tic/">Les Priants</a></li>
</ul>
]]></description>
            <link>https://blog.lesieur.name/final-fantasy-zet-et-tic/</link>
            <guid isPermaLink="false">64e0795d24135e1e11ad3a58</guid>
            <category><![CDATA[API]]></category>
            <category><![CDATA[Outils]]></category>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Data Science]]></category>
            <category><![CDATA[Jeux]]></category>
            <category><![CDATA[Hors-sujet]]></category>
            <category><![CDATA[Localisation]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Fri, 18 Aug 2023 20:12:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Le téléphone narrable • Méthode Z]]></title>
            <description><![CDATA[<p>Nous évaluons la véracité d&#39;une information avec l&#39;impression immédiate qu&#39;elle nous fait, et lorsque nous la retransmettons, nous optimisons ses chances d&#39;être crue.</p>
<blockquote>
<p>Suivez cette série proposée par <a href="https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg">Mr. Sam - Point d&#39;interrogation
</a> dédiée aux scepticismes et découvrez la Méthode Z !</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://skeptikon.fr/lazy-static/previews/ef66d71d-acc0-4c78-9038-9dad08c45ee6.jpg" alt="Le téléphone narrable" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/bZo9qyj7qjXGeEGavFNgAS" target="_blank">L'obligatoire mutation des informations <em>par Mr. Sam</em></a><br>« Je ressens la vérité... »</figcaption>
</figure>

<blockquote>
<div><a href="https://blog.lesieur.name/j-essaie-de-quoi-je-parle-dunning-kruger-l-effet-qui-nous-fait-croire-qu-on-est-competent/">&lt; Épisode 5</a></div><div style="text-align: right"></div>
</blockquote>
<h2 id="regarder-la-vidéo-hébergée-sur-skeptikón">Regarder la vidéo hébergée sur Skeptikón</h2>
<div class="video">
    <iframe width="560" height="315" sandbox="allow-same-origin allow-scripts allow-popups" src="https://skeptikon.fr/videos/embed/bZo9qyj7qjXGeEGavFNgAS" frameborder="0" allowfullscreen></iframe>
</div>

<p>Vous pouvez directement accéder à cette vidéo sur <a href="https://skeptikon.fr/videos/watch/bZo9qyj7qjXGeEGavFNgAS">PeerTube</a> ou alternativement <a href="https://www.youtube.com/watch?v=KlOuTumo6AY">ici</a>.</p>
<h2 id="lire-la-transcription-de-lépisode-6-de-la-méthode-z">Lire la transcription de l&#39;épisode 6 de la Méthode Z</h2>
<h3 id="intro">Intro</h3>
<p>« — <em>Pour savoir si une information est vraie, il faut suspendre son jugement et vérifier la source ainsi que peser les éventuels arguments qui la contredise.</em></p>
<p>— Mais oui, bravo Skeptos. Comme on est tous des intelligences artificielles comme toi et bah ça nous prend pas du tout de temps, hein. Et en plus, on est tout le temps sur Google entrain de tout vérifier ?</p>
<p>— <em>Était-ce un sarcasme ?</em></p>
<p>— Oh, bah, je ne me le permettrais pas. »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/B9X7sRwxPrcgJcLg4z/giphy.gif" alt="Giphy">
</figure>



<h3 id="on-partage-trop-vite">On partage trop vite</h3>
<p>Skeptos a raison. Dans un monde parfais, plus une information nous fait de l&#39;effet —que ce soit par la peur, l&#39;émerveillement, l&#39;indignation, la révolte—, bref, plus on a envie de la partager, plus il faudrait suspendre son jugement et la vérifier avant de la croire.</p>
<p>Et ce qu&#39;on observe, c&#39;est que la plupart des gens font exactement l&#39;inverse ; plus une information nous fait de l&#39;effet, moins on la vérifie et plus on la partage spontanément.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/5s6e32XGv4h7A3VqBg/giphy.gif" alt="Giphy">
</figure>

<p>Ce n&#39;est un secret pour personne, nous partageons beaucoup trop souvent des articles sans les lires. Principalement sur base du titre et, dans le meilleurs des cas, sur base du premier paragraphe.</p>
<h3 id="système-1-et-système-2">Système 1 et système 2</h3>
<p>Parce que lorsque nous sommes confronté à un fait, à une information : la plupart du temps nous estimons sa fiabilité avec l&#39;impression immédiate qu&#39;elle nous donne. Exactement comme si la vérité pouvait se ressentir.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/KhmlIPcCFNAkChOkN0/giphy.gif" alt="Giphy">
</figure>

<p>Il y aurait donc deux vérités ;</p>
<ul>
<li><p>La crédibilité globale qu&#39;on donne à une information avec l&#39;impression immédiate qu&#39;elle nous fait et,</p>
</li>
<li><p>La crédibilité globale qu&#39;on donne à une information après l&#39;avoir analysée et étudiée.</p>
</li>
</ul>
<p>Ces deux façons de vérifier une information n&#39;ont aucun rapport l&#39;une avec l&#39;autre.</p>
<p>En psychologie on a longtemps parlé de système 1 et système 2 pour expliquer ce phénomène.</p>
<p>Donc le système 1 serait la réflexion rapide, inconsciente, spontanée tandis que le système 2 serait la réflexion plus lente, le réfléchi plus travaillé. Bon alors, l&#39;existence de ces deux principes ne fait absolument pas consensus, l&#39;auteur de l&#39;étude qui propose cette idée ayant lui-même reconnu que plusieurs aspects de son article étaient fondés sur d&#39;autres études qui se sont révélées peu fiables par la suite, donc euh bon…</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/w2Ty4o7CqZ9ik5BArv/giphy.gif" alt="Giphy">
</figure>

<p>Mais quoi qu&#39;il en soit, il semble bien qu&#39;on est tous tendance à agir soit de façon spontanée, soit de façon réfléchie et calculée.</p>
<p>Et bien qu&#39;il y ai tout un tas de choses à dire sur le dégradé qui existe entre ces deux extrêmes, bah, le résultat c&#39;est que nous partageons les informations beaucoup trop spontanément.</p>
<h3 id="pourquoi-on-partage-une-information">Pourquoi on partage une information</h3>
<p>Mais est-ce qu&#39;on partage une information vraiment parce qu&#39;on la pense vraie ? Ce sentiment d&#39;information valide, il est constitué de quoi exactement ? D&#39;après la littérature scientifique, on partage souvent pour communiquer ce qu&#39;une cause dit de nous plutôt que la cause en elle-même, pour communiquer notre appartenance à un groupe sociale.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/VdXDYU7tJBobhGZfbT/giphy.gif" alt="Giphy">
</figure>

<p>Tiercé dans l&#39;ordre, certaines études conclues qu&#39;on partage avant tout pour le divertissement, ensuite, pour l&#39;éducation puis seulement pour le reflet de soit même, et enfin, tout au bout, véritablement pour la cause.</p>
<p>Oui, c&#39;était un quarté ! Bravo Jean-micheline oreille absolue.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/8DiKSnQmP21OvHRRL5/giphy.gif" alt="Giphy">
</figure>

<p>Et donc, beh, on voit bien que dans ce sentiment de besoin de partage, le fait que l&#39;information soit vraie ou fausse, ça tient une place toute relative.</p>
<h3 id="lintuition">L&#39;intuition</h3>
<p>Cette impression immédiate que nous donnent les informations est bien entendu le fruit de nos expériences, nos connaissances, nos valeurs, enfin bref, tout ce qui fait de nous un individu différent des autres individus.</p>
<p>Pour faire court, on va nommer ce mécanisme d&#39;impression immédiate : l&#39;intuition. Et l&#39;intuition, bah, c&#39;est pas le diable. C&#39;est vachement utile et très efficace au quotidien. Moi par exemple, sans vouloir me vanter, j&#39;ai une excellente intuition d&#39;a qu&#39;elle moment il faut retirer les pattes de l&#39;eau bouillante.</p>
<p>— « Go, go, go, go, go, go, go, go, go, go, go, go ! »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/73GtLxOIYbdvZ9DqCa/giphy.gif" alt="Giphy">
</figure>

<p>Ainsi, il y a toujours autant de façon d&#39;appréhender une information qu&#39;il y a d&#39;individus, chacun avec son intuition en guise de tout premier filtre. Et chacun est persuadé, s&#39;il n&#39;y prend pas garde, que son intuition est fiable : mais pas celle d&#39;autres personnes qu&#39;il évalue pourtant avec sa propre intuition. Hein, vous savez ces autres personnes qui évaluent aussi l&#39;intuition des autres avec la leur.</p>
<p>C&#39;est le serpent qui se mort la bite !</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/bqTh3XDx0STq4UwXcG/giphy.gif" alt="Giphy">
</figure>



<h3 id="lexemple-du-dr-gentil">L&#39;exemple du Dr. Gentil</h3>
<p>Prenons l&#39;exemple d&#39;une fausse information, par exemple, le Dr. Gentil a trouvé un remède contre tous les cancers. Ouais, tous les cancers.</p>
<p>« — <em>Coucou.</em></p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/OxjTYaZiHMDYpuvRVN/giphy.gif" alt="Giphy">
</figure>

<p>— Les raisons d&#39;y croire séduisent notre intuition. C&#39;est un docteur, il me fait une bonne impression, je pense que son remède est possible, je souhaite que son remède existe : cette information me donne de l&#39;espoir, je vais donc la répéter et la rendre encore plus apte à se reproduire par la façon dont je vais la répéter. Je vais la vulgariser, je vais la pimper pour qu&#39;elle puisse se reproduire plus facilement. Et voilà donc comment : »</p>
<h3 id="une-information-répétée-devient-plus-virale">Une information répétée devient plus virale</h3>
<p>« — Une information “répétée” devient un peu plus “virale” à chaque répétition. »</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-une-information-repetee-devient-un-peu-plus-virale-a-chaque-repetition.jpg" alt="Une information répétée devient un peu plus virale à chaque répétition." style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/bZo9qyj7qjXGeEGavFNgAS" target="_blank">Une information répétée devient un peu plus virale à chaque répétition <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>Jusqu&#39;à l&#39;optimisation de sa capacité à séduire : une sorte de téléphone arabe ou le message se déforme, il optimise ses chances d&#39;être partagé.</p>
<h3 id="le-trait-commun-aux-théories-du-complot">Le trait commun aux théories du complot</h3>
<p>Raison pour laquelle un des traits communs aux fausses théories du complot, bah c&#39;est qu&#39;elles expliquent énormément de choses par une seule grande cause.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/4XYpD89OscakKymZ1R/giphy.gif" alt="Giphy">
</figure>

<p>Et là, généralement, c&#39;est, c&#39;est, c&#39;est le même scénario : on se retrouve avec d&#39;un côté les gentils chercheurs de vérité contre des méchants puissants qui complotent en secret, prêt à tout pour atteindre un objectif du côté obscure de la force ; simple à comprendre. Alors là, ça se digère comme un cheeseburger, avec la même valeur nutritive.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/nI0FueIVOiJgnvfapW/giphy.gif" alt="Giphy">
</figure>



<h3 id="les-complots">Les complots</h3>
<p>Mais attention, ça veut pas dire que si c&#39;est simple, c&#39;est forcément faux. D&#39;ailleurs :</p>
<p>« — Il y a deux erreurs à ne pas commettre avec “les complots” : la première c&#39;est d&#39;en voir “partout”, la seconde c&#39;est d&#39;en voir “nulle part”. »</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-il-y-a-deux-erreurs-a-ne-pas-commettre-avec-les-complots.jpg" alt="Il y a deux erreurs à ne pas commettre avec les complots : la première c'est d'en voir partout, la seconde c'est d'en voir nulle part." style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/bZo9qyj7qjXGeEGavFNgAS" target="_blank">Il y a deux erreurs à ne pas commettre avec les complots : la première c'est d'en voir partout, la seconde c'est d'en voir nulle part <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>Ça veut juste dire que quand ça ressemble à une théorie du complot, et bah il faut activer les filtres de vérification de théorie du complot. Les fakes news qui se propagent bien sont des pièges pour le cerveau humain ; un authentique piratage de notre sens du réel.</p>
<h3 id="la-raison-dêtre-de-ma-méthode-z">La raison d&#39;être de ma méthode Z</h3>
<p>Notre intuition, notre bon sens, est une véritable passoir pour ces fausses informations dès lors qu&#39;elles ont simplement l&#39;apparence d&#39;un fait qui correspond à notre appréhension du réel ou qui provoque en nous un fort impact émotionnel.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/G5XGV4BEAn640tQaSw/giphy.gif" alt="Giphy">
</figure>

<p>C&#39;est la raison d&#39;être, de ma Méthode Z.</p>
<h3 id="science-et-intuition">Science et intuition</h3>
<p>C&#39;est même l&#39;une des raisons d&#39;être de la science : éprouver nos intuitions. Si nos intuitions étaient fiables, et bien on aurait pas besoin des sciences.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/RsZvHg6awDIFekN3Tw/giphy.gif" alt="Giphy">
</figure>

<p>Mais attention, parce que le sceptique débutant à un petit peu trop tendance à dire que l&#39;intuition ça vaut rien, c&#39;est de la merde, etc. Et ça, c&#39;est vraiment pas ce que la littérature scientifique nous dit.</p>
<p>Par exemple, on sait que l&#39;intuition joue un rôle cruciale dans la pause d&#39;un diagnostique médicale. Et alors là je vous passe les débats sur la définition de ce que c&#39;est l&#39;intuition.</p>
<h3 id="euristique-inférentielle-ou-traitement-cognitif-holistique-instantané-">Euristique inférentielle ou traitement cognitif holistique instantané ?</h3>
<p>« — Est-ce une heuristique inférentielle ou un traitement cognitif holistique instantané ?</p>
<p>— ? énatnatsni euqitsiloh fitingoc tnemetiart nu uo elleitneréfni euqitsirue enu ec tsE</p>
<p>— Est-ce une heuristique inférentielle ou un traitement cognitif holistique instantané ?</p>
<p>— Est-ce une heuristique inférentielle ou un traitement cognitif holistique instantané ? »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/Tgmr63GMyPDPpgHtgW/giphy.gif" alt="Giphy">
</figure>



<h3 id="raccourci-ou-résultat-">Raccourci ou résultat ?</h3>
<p>Ouais d&#39;accord, d&#39;accord, je, je, je, je frime avec des mots savants mais ce que je voulais vraiment dire, en fait, c&#39;est : est-ce que l&#39;intuition est un raccourci pour faire des déductions rapides ou est-ce que c&#39;est plutôt le résultat spontané de ce qu&#39;est un individu ?</p>
<p>En tout cas, ça tombe bien, puisque ma méthode Z puise son inspiration dans les sciences. Plus il y aura de gens qui cultivent leur propre méthode Z en l&#39;alimentant avec les connaissances scientifiques de la meilleure qualité possible, plus il y aura de réflexions (fondées sur des faits) de plus en plus fiables et donc bénéfique pour la société toute entière.</p>
<p>Ahhhh. C&#39;est merveilleux !</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/UVYUDTh1zDbKubvDEA/giphy.gif" alt="Giphy">
</figure>



<h3 id="le-problème-de-la-transférabilité-de-la-méthode">Le problème de la transférabilité de la méthode</h3>
<p>« — Développer l&#39;esprit critique c&#39;est donc aussi globalement faire reculer les réflexions fondées sur de vilains aprioris pas très bien réfléchis.</p>
<p>— <em>C&#39;est totalement utopique et inexacte de penser que…</em></p>
<p>— J&#39;ai dit “globalement”. “Globalement”, “Statistiquement”, “Avec le temps”. Pas, pas au cas par cas, tu vois. Un peu comme la science qui a sacrément fait évolué notre compréhension du monde et nos techniques, mais pas à l&#39;échelle d&#39;une vie hein : sur deux siècles plutôt.</p>
<p>— <em>La question de la transférabilité des outils de l&#39;esprit critique est un problème majeur des sciences de l&#39;éducation. Ce n&#39;est pas parce qu&#39;un individu apprend un outil sceptique qu&#39;il l&#39;applique à l&#39;ensemble des informations qu&#39;il considère valide et qu&#39;il ré-évalue ses opinions.</em></p>
<p>— Bah, oui, mais, je, je le savais. C&#39;est très connu. Générique… »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/fx6gkNKukK5YM6ZJcv/giphy.gif" alt="Giphy">
</figure>



<h3 id="outro">Outro</h3>
<p>« — La “méthode Z” est ce que vous en ferez.</p>
<p>Vous pouvez en faire une arme pour “remporter les débats”, mais n&#39;espérez pas que “l&#39;autre change” subitement d&#39;avis.</p>
<p>Vous pouvez en faire un miroir pour “avoir moins tort”, mais apprêtez-vous à vivre dans un monde qui a beaucoup plus de “certitudes” que vous.</p>
<p>Vous pouvez en faire une bouée pour “aider les autres” à sortir de croyances toxiques, mais vous ne pourrez “forcer personne” à l&#39;utiliser.</p>
<p>La méthode Z est ce que vous en ferez, alors “prenez-en soin”. »</p>
<figure>
<img width="1784" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-la-methode-z-est-ce-que-vous-en-ferez-alors-prenez-en-soin.jpg" alt="La méthode Z est ce que vous en ferez, alors prenez-en soin" style="max-width: 1784px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/bZo9qyj7qjXGeEGavFNgAS" target="_blank">La méthode Z est ce que vous en ferez, alors prenez-en soin <em>par Mr. Sam</em></a></figcaption>
</figure>

<blockquote>
<div><a href="https://blog.lesieur.name/j-essaie-de-quoi-je-parle-dunning-kruger-l-effet-qui-nous-fait-croire-qu-on-est-competent/">&lt; Épisode 5</a></div><div style="text-align: right"></div>
</blockquote>
<h2 id="à-propos-de-mr-sam">À propos de Mr. Sam</h2>
<blockquote>
<p>Si cet article basé sur la vidéo de <a href="https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg">Mr. Sam - Point d&#39;interrogation
</a> vous a plus, n&#39;hésitez pas à supporter son travail sur <a href="https://fr.tipeee.com/mrsam">Tipeee</a> pour avoir d&#39;autres vidéos !</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/le-telephone-narrable-l-obligatoire-mutation-des-informations/</link>
            <guid isPermaLink="false">622dc04d0cd684129d276b5d</guid>
            <category><![CDATA[Astuces]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Humour]]></category>
            <category><![CDATA[Bonnes Pratiques]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sun, 13 Mar 2022 09:58:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[SQL brut VS constructeur de requête VS mappage d'objet-relationnel en Node.js avec JavaScript]]></title>
            <description><![CDATA[<p>Dans ce billet de blog, nous allons comparer trois grandes différentes manières d&#39;interroger une base de données relationnelle avec le langage de programmation JavaScript depuis Node.js souvent croisés sous les termes de <em>“Raw SQL”</em>, <em>“Query Builder”</em> et <em>“ORM”</em>.</p>
<p>Les bases de données sont au cœur du stockage de l&#39;état de presque toutes les applications web. C&#39;est pourquoi il est essentiel de bien prendre en charge les interactions avec la base de données pour garantir le bon fonctionnement d&#39;une application JavaScript. Une façon d&#39;interagir avec bon nombre de bases de données relationnelles est d&#39;utiliser le SQL (<em>“Structured Query Language”</em>). Le SQL permet de changer très facilement de système de base de données ou de client utilisant cette base de données. Avec votre client, vous pouvez ensuite effectuer les interactions CRUD typiques : C (<em>“Create”</em>) pour Créer, R (<em>“Read”</em>) pour lire, U (<em>“Update”</em>) pour mettre à jour et D (<em>“Delete”</em>) pour supprimer des données.</p>
<p>Après avoir lu cet article, vous en saurez plus sur les différences entre du SQL brut (<em>“Raw SQL”</em>), un constructeur de requêtes (<em>“Query Builder”</em>) et un mappage d&#39;objet-relationnel (<em>“ORM”</em>). Vous saurez également comment utiliser chacun d&#39;entre eux en JavaScript par l&#39;exemple.</p>
<p>Bien que cela ne soit pas nécessaire à la lecture et la compréhension de cet article, tout le code de ce billet est testable après installation du projet associé qui <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/database-users-roles.js">se trouve dans ce dépôt GitHub</a>. Vous devez juste installer un serveur MySQL et Node.js sur votre environnement local. Nous allons faire la supposition que vous êtes déjà familier avec les bases du SQL et du JavaScript en ce qui concerne la compréhension des exemples. Sinon les conclusions, elles, restent abordables pour les non développeurs également (je suppose, je suis mal placer pour le certifier du coup).</p>
<blockquote>
<p>Pour initialiser la base de donnée et les tables que nous allons utiliser dans ce billet, vous pouvez <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/database-users-roles-authors-books.js">utiliser le script <samp>database-users-roles.js</samp></a> avec la commande <samp>node database-users-roles.js</samp> <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/">depuis le projet GitHub</a>.</p>
</blockquote>
<h2 id="sql-brut-dit-raw-sql">SQL brut dit Raw SQL</h2>
<p>Le SQL brut, parfois appelé aussi SQL natif, est la forme la plus élémentaire et la plus basique d&#39;interaction avec une base de données. Vous dites à la base de données ce qu&#39;elle doit faire dans le langage de la base de données. La plupart des développeurs devrait connaître les bases du SQL. Cela signifie qu&#39;ils savent comment créer des tables et des vues, comment sélectionner et joindre des données, comment mettre à jour et supprimer des données. Pour des choses plus complexes comme les procédures stockées, T-SQL, PL-SQL, une connaissance approfondie des indices et de leurs effets cela peut rester l&#39;apanage de quelques spécialistes. Le SQL est bien plus puissant que ne le pensent de nombreux développeurs.</p>
<p>Afin d&#39;illustrer les problèmes posés par les instructions SQL brutes, prenons l&#39;exemple de la gestion des utilisateurs sur une plateforme. Les utilisateurs enregistrés sur la plateforme peuvent consulter des données sur la plateforme s&#39;ils ont le rôle <samp>Lecteur</samp> et ajouter/modifier/supprimer leurs informations avec le rôle <samp>Éditeur</samp>. Enfin, un utilisateur avec le rôle <samp>Administrateur</samp> peut ajouter/modifier/supprimer les informations de tout le monde.</p>
<blockquote>
<p>Notez qu&#39;aucune RGPD n&#39;aura été malmené dans cet exemple fictif.</p>
</blockquote>
<pre class="prettyprint linenums"><code>┌───────────────────────────────────────┐
| users                                 |       ┌───────────────────────────────────┐
├──────────┬──────────────┬─────────────┤       | roles                             |
| id       | int          │ primary key │       ├──────┬──────────────┬─────────────┤
| role_id  | int          │ index       |&lt;─&lt;─&lt;─&lt;┤ id   | int          │ primary key │
| email    | varchar(255) │ index       |       | name | varchar(255) │ index       |
| password | varchar(255) │ index       |       └──────┴──────────────┴─────────────┘
└──────────┴──────────────┴─────────────┘
</code></pre><p>Utilisons une page de connexion prenant en entrée utilisateur l&#39;email ainsi que le mot de passe de l&#39;utilisateur respectivement disponibles dans <samp>users.email</samp> et <samp>users.password</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">const mysql = require(&#39;mysql2&#39;);

const connection = mysql.createConnection({
    host: &quot;localhost&quot;,
    user: &quot;root&quot;,
    password: &quot;root&quot;,
    database: &quot;raw_builder_orm&quot;
});

// Données provenant de la requête cliente
const email = &#39;bruno@example.com&#39;;
const password = &#39;foo&#39;;

connection.connect(function (err, handshakeResult) {
    if (err) throw err;

    // Requête SQL à considérer
    connection.query(`
        SELECT id FROM users WHERE email = &#39;${email}&#39; AND password = &#39;${password}&#39;;
    `, function (err, rows) {
        if (err) throw err;

        // Résultat
        console.log(rows);
        // `[ { id: 2 } ]`

        connection.end();
    });
});
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql.js">ce code</a>, utiliser la commande <samp>node raw-sql.js</samp>.</em></p>
<p>Sur une note positive, ce qui se passe avec le SQL brut est assez clair. Vous n&#39;avez besoin que de connaissances en JavaScript et en SQL ainsi qu&#39;un usage basique du connecteur adapté à votre base de donnée. Il n&#39;est pas nécessaire de connaître la logique complémentaire d&#39;une librairie ou d&#39;un framework tiers. Vous pouvez également copier-coller telle quelle les zones de texte pour les vérifier dans un analyseur de syntaxe SQL.</p>
<p>Toutefois, l&#39;utilisation du SQL brut dans le code présente au moins six aspects problématiques dont il faut être conscient.</p>
<h3 id="problème-1--injections-sql">Problème 1 : injections SQL</h3>
<p>Une injection SQL est une attaque sur les requêtes qui utilisent directement des données du client dans une requête SQL que l&#39;attaquant (le client) peut remplir d&#39;une manière inattendue.</p>
<p>Observons deux utilisateurs que nous avons :</p>
<pre class="prettyprint linenums"><code>id  role_id  email                 password  
1   1        admin@example.com     unknown
2   2        bruno@example.com     foo
</code></pre><p>Il est par exemple facile pour <samp>bruno@example.com</samp> de savoir que l&#39;utilisateur <samp>admin@example.com</samp> existe puisque, par exemple, c&#39;est l&#39;adresse à laquelle il faut écrire en cas de problèmes techniques. <samp>bruno@example.com</samp> connait bien entendu son mot de passe et n&#39;a qu&#39;un rôle de <samp>Éditeur</samp>. Il suppose que <samp>admin@example.com</samp> possède un rôle de <samp>Administrateur</samp>. Alors si l&#39;application utilise du Raw SQL, une injection SQL est possible pour prendre le contrôle de l&#39;application, voyez plutôt :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

// Données provenant de la requête cliente
const email = &#39;bruno@example.com&#39;;
const password = `&#39; OR email=&#39;admin@example.com&#39; AND &#39;1&#39;=&#39;1`;

connection.connect(function (err, handshakeResult) {

    // Requête SQL à considérer
    connection.query(`
        SELECT id FROM users WHERE email = &#39;${email}&#39; AND password = &#39;${password}&#39;;
    `, function (err, rows) {

        // Résultat
        console.log(rows);
        // `[ { id: 1 } ]`

/* ... */
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-issue-1.js">ce code</a>, utiliser la commande <samp>node raw-sql-issue-1.js</samp>.</em></p>
<p>Avec une telle approche, l&#39;attaquant pourrait remplir son formulaire de connexion avec pour la valeur de l&#39;email qu&#39;il souhaite mais utiliser le champ mot de passe avec cette valeur : <samp>&#39; OR email=&#39;admin@example.com&#39; AND &#39;1&#39;=&#39;1</samp>. Cela donnerait la requête suivante :</p>
<pre class="prettyprint linenums"><code class="language-sql">SELECT id
FROM users
WHERE 
    email = &#39;bruno@example.com&#39; AND
    password = &#39;&#39; 
OR
    email = &#39;admin@example.com&#39; AND
    &#39;1&#39;=&#39;1&#39;;
</code></pre>
<p>Cela indique à l&#39;application que l&#39;utilisateur s&#39;est connecté en tant qu&#39;administrateur car l&#39;entrée retourné ici n&#39;est pas celle de <samp>bruno@example.com</samp> mais celle de <samp>admin@example.com</samp>.</p>
<p>Bien sûr, il reste possible d&#39;échapper les guillemets et de ne pas directement utiliser les données de l&#39;utilisateur. </p>
<pre class="prettyprint linenums"><code>/* ... */

// Données provenant de la requête cliente
const email = &#39;admin@example.com&#39;;
const password = `&#39; OR email=&#39;admin@example.com&#39; AND &#39;1&#39;=&#39;1`;

connection.connect(function (err, handshakeResult) {

    // Requête SQL à considérer
    connection.query(`
        SELECT id FROM users WHERE email = ? AND password = ?;
    `, [
        email,
        password
    ], function (err, rows) {

        // Résultat
        console.log(rows);
        // `[]`

/* ... */
</code></pre><p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-fix-1.js">ce code</a>, utiliser la commande <samp>node raw-sql-fix-1.js</samp>.</em></p>
<p>Vous constatez alors que dans ce cas, aucun utilisateur ne correspond. Encore faut t-il penser à échapper son code. Les requêtes SQL brutes nécessites donc de prendre en compte cette problématique à tout instant, laissant facilement des portes ouvertes à l&#39;injection si on n&#39;est pas attentif.</p>
<h3 id="problème-2--coquilles-dans-les-commandes-sql">Problème 2 : coquilles dans les commandes SQL</h3>
<p>Le premier problème évident de la programmation en SQL par chaînes de caractères à l&#39;intérieur d&#39;un fichier identifié comme étant du JavaScript par un éditeur de code est que les fautes de syntaxe dans le sous-langage SQL ne peuvent pas être détectées par l&#39;éditeur de texte. Aussi dans le bout de code suivant :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

    // Requête SQL à considérer
    connection.query(`
        SELECT * FROM users WERE email = ? AND password = ?;
    `, [
        &#39;bruno@example.com&#39;,
        &#39;foo&#39;
    ], function (err, rows) {
        if (err) err;

        // Résultat
        console.log(rows);
        // `undefined`

/* ... */
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-issue-2.js">ce code</a>, utiliser la commande <samp>node raw-sql-issue-2.js</samp>.</em></p>
<p>l&#39;éditeur n&#39;a pas de moyen de savoir que <samp>WERE</samp> a une erreur de syntaxe ou même que les <samp>?</samp> font parti du mécanisme de la fonction <samp>connection.query</samp> et qu&#39;ils ne devraient pas être indiqués comme des erreurs si à tout hasard vous trouviez le moyen d&#39;indiquer comment coloriser le SQL dans cette chaine de caractère. Bien sûr, vous pouvez toujours copier-coller telle quelle les zones de texte dans un analyseur de syntaxe SQL mais là encore, il faudra alimenter les <samp>?</samp> avec des valeurs ne posant pas problème.</p>
<p>Bien sûr, ce problème peut être détecté à l&#39;exécution avec une gestion des erreurs :</p>
<pre class="prettyprint linenums"><code>/* ... */

    // Requête SQL à considérer
    connection.query(`
        SELECT * FROM users WERE email = ? AND password = ?;
    `, [
        &#39;bruno@example.com&#39;,
        &#39;foo&#39;
    ], function (err, rows) {
        if (err) throw err;
        // Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near &#39;email = &#39;bruno@example.com&#39; AND password = &#39;foo&#39;&#39; at line 1

/* ... */
</code></pre><p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-fix-2.js">ce code</a>, utiliser la commande <samp>node raw-sql-fix-2.js</samp>.</em></p>
<h3 id="problème-3--absence-de-support-pour-léditeur">Problème 3 : absence de support pour l&#39;éditeur</h3>
<p>Ce problème est assez bête, mais reste un problème ouvert pour de nombreux langages/éditeurs : lorsque les développeurs écrivent leurs requêtes SQL dans une chaîne de caractères en JavaScript, comment l&#39;éditeur peut-il savoir que cette chaîne doit être analysée ? Comment l&#39;éditeur doit-il savoir qu&#39;il veut la coloration syntaxique et/ou l&#39;autocomplétion ?</p>
<p>Par exemple le code suivant provenant d&#39;un fichier avec une extension <samp>.js</samp> (<samp>raw-sql-issue-3.js</samp>) :</p>
<pre class="prettyprint linenums"><code>/* ... */

    const select = `
        SELECT
            u.email,
            r.name
    `;
    const from = `
        FROM users AS u
        INNER JOIN roles AS r
            ON u.role_id = r.id
    `;
    const where = `
        WHERE (
            u.email = &#39;bruno@example.com&#39; 
                OR 
            r.name = &#39;Lecteur&#39;
        );
    `;

    // Requête SQL à considérer
    connection.query(select + from + where, function (err, rows) {

        // Résultat
        console.log(rows);
        /*
        `[
          { email: &#39;bruno@example.com&#39;, name: &#39;Éditeur&#39; },
          { email: &#39;nyx@example.com&#39;, name: &#39;Lecteur&#39; },
          { email: &#39;noctalie@example.com&#39;, name: &#39;Lecteur&#39; },
          { email: &#39;dayski@example.com&#39;, name: &#39;Lecteur&#39; }
        ]`
        */

/* ... */
</code></pre><p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-issue-3.js">ce code</a>, utiliser la commande <samp>node raw-sql-issue-3.js</samp>.</em></p>
<p>apparaitra dans Sublime Text 3 comme suit :</p>
<figure>
<img width="444" height="448" src="https://blog.lesieur.name/media/images/upload/rsqborm-1.jpg" alt="Coloration syntaxique des fichiers `.js` avec Sublime Text 3" style="max-width: 444px; width: 100%; height: auto;">
<figcaption>Coloration syntaxique des fichiers `.js` avec Sublime Text 3</figcaption>
</figure>

<p>alors que la même portion SQL dans un fichier <samp>.sql</samp> (<samp>raw-sql-fix-3.sql</samp>) apparaitra dans Sublime Text 3 comme suit :</p>
<figure>
<img width="199" height="219" src="https://blog.lesieur.name/media/images/upload/rsqborm-2.jpg" alt="Coloration syntaxique des fichiers `.sql` avec Sublime Text 3" style="max-width: 199px; width: 100%; height: auto;">
<figcaption>Coloration syntaxique des fichiers `.sql` avec Sublime Text 3</figcaption>
</figure>

<p>ou encore dans un éditeur SQL comme suit :</p>
<figure>
<img width="237" height="231" src="https://blog.lesieur.name/media/images/upload/rsqborm-3.jpg" alt="Coloration syntaxique des fichiers `.sql` avec Sublime Text 3" style="max-width: 237px; width: 100%; height: auto;">
<figcaption>Coloration syntaxique des fichiers `.sql` avec SQLyog</figcaption>
</figure>

<p>Si vous avez vraiment besoin de requêtes brutes et si vous voulez toujours la coloration syntaxique, vous pouvez mettre chaque requête dans son propre fichier <samp>query.sql</samp>. De cette façon, l&#39;éditeur sait qu&#39;il doit utiliser la coloration syntaxique SQL. Il faut ensuite appeler le contenu de ce fichier aux bons endroits. </p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

    // Requête SQL à considérer
    connection.query(
        fs.readFileSync(&#39;./raw-sql-fix-2.sql&#39;, { encoding: &#39;utf8&#39; })
    , function (err, rows) {

        // Résultat
        console.log(rows);
        /*
        `[
          { email: &#39;bruno@example.com&#39;, name: &#39;Éditeur&#39; },
          { email: &#39;nyx@example.com&#39;, name: &#39;Lecteur&#39; },
          { email: &#39;noctalie@example.com&#39;, name: &#39;Lecteur&#39; },
          { email: &#39;dayski@example.com&#39;, name: &#39;Lecteur&#39; }
        ]`
        */

/* ... */
});
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-fix-2.js">ce code</a>, utiliser la commande <samp>node raw-sql-fix-3.js</samp>.</em></p>
<p>Pas très élégant sachant que même ainsi, les <samp>?</samp> éventuels que vous utiliseriez dans le fichier original <samp>.sql</samp> seront interprétés comme des erreurs par un analyseur syntaxique et que vous serez alors incapable de gérer le découpage du code SQL dans différentes variables en fonction de vos besoins.</p>
<h3 id="problème-4--coquilles-dans-les-noms-de-tableaux-ou-de-colonnes">Problème 4 : coquilles dans les noms de tableaux ou de colonnes</h3>
<p>Ce groupe d&#39;erreurs est plus difficile à mettre en évidence par un analyseur syntaxique que le cas des erreurs de syntaxes SQL. Désormais, le code de vérification ne doit pas seulement savoir comment fonctionne le SQL, il doit aussi connaître vos données. Le schéma de la base de données pour être plus précis.</p>
<p>Le code suivant par exemple, avec une coquilles comme <samp>usrs</samp> dans un fichier <samp>raw-sql-issue-4.sql</samp></p>
<pre class="prettyprint linenums"><code class="language-sql">SELECT * FROM usrs
</code></pre>
<p>va silencieusement retourner <samp>undefined</samp> comme dans le cas d&#39;une coquille au niveau de la syntaxe :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

    // Requête SQL à considérer
    connection.query(
        fs.readFileSync(&#39;./raw-sql-issue-4.sql&#39;, { encoding: &#39;utf8&#39; })
    , function (err, rows) {

        // Résultat
        console.log(rows);
        // `undefined`

/* ... */
});
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-fix-4.js">ce code</a>, utiliser la commande <samp>node raw-sql-fix-4.js</samp>.</em></p>
<p>quand bien même avec un analyseur syntaxique <samp>.sql</samp> votre éditeur vous dirait que votre requête est parfaitement fonctionnelle. On en revient encore une fois au copier/coller dans un réel analyseur qui connaitrait la base de donnée.</p>
<p>Cependant, comme précédemment, ce problème peut être détecté à l&#39;exécution avec une gestion des erreurs :</p>
<pre class="prettyprint linenums"><code>/* ... */

    // Requête SQL à considérer
    connection.query(
        fs.readFileSync(&#39;./raw-sql-issue-4.sql&#39;, { encoding: &#39;utf8&#39; })
    , function (err, rows) {
        if (err) throw err;
        // Error: Table &#39;raw_builder_orm.usrs&#39; doesn&#39;t exist

/* ... */
</code></pre><p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-fix-4.js">ce code</a>, utiliser la commande <samp>node raw-sql-fix-4.js</samp>.</em></p>
<h3 id="problème-5--extension-de-requête">Problème 5 : extension de requête</h3>
<p>Si vous disposez d&#39;une requête analytique, il est intéressant de pouvoir y apporter de légères modifications. Par exemple, imaginez des données de suivi pour lesquelles vous souhaitez savoir combien d&#39;utilisateurs ont cliqué sur un bouton. Vous pourriez avoir une « requête de base » pour cela. En fonction du cas d&#39;utilisation, vous pourriez vouloir filtrer en fonction d&#39;une certaine période ou de certaines caractéristiques de l&#39;utilisateur. Il est possible d&#39;étendre une requête lorsque vous disposez de SQL brut, mais c&#39;est fastidieux. Vous devez toucher à la requête d&#39;origine et ajouter des espaces réservés.</p>
<pre class="prettyprint linenums"><code>/* ... */

let select;
let inner;
let where;

function runQuery(callback) {

    // Requête SQL à considérer
    connection.query(`
        SELECT ${select.join(&#39;, &#39;)}
        FROM users AS u
        ${inner.join(&#39; &#39;)}
        ${where.length ? &#39;WHERE &#39; + where.join(&#39; &#39;) : &#39;&#39;};
    `, function (err, rows) {

        // Résultat
        console.log(rows);
        /*
        `[
          { email: &#39;admin@example.com&#39; },
          { email: &#39;bruno@example.com&#39; },
          { email: &#39;dayski@example.com&#39; },
          { email: &#39;magalie@example.com&#39; },
          { email: &#39;noctalie@example.com&#39; },
          { email: &#39;nyx@example.com&#39; }
        ]`
        */
        /*
        `[
          { email: &#39;bruno@example.com&#39;, name: &#39;Éditeur&#39; },
          { email: &#39;nyx@example.com&#39;, name: &#39;Lecteur&#39; },
          { email: &#39;noctalie@example.com&#39;, name: &#39;Lecteur&#39; },
          { email: &#39;dayski@example.com&#39;, name: &#39;Lecteur&#39; }
        ]`
        */

        connection.end();
    });

    callback &amp;&amp; callback()
}

connection.connect(function (err, handshakeResult) {
    select = [
        `u.email`,
    ]
    inner = []
    where = []

    runQuery(function () {

        select = [
            `u.email`,
            `r.name`,
        ]
        inner = [
            `INNER JOIN roles AS r
                ON u.role_id = r.id`,
        ]
        where = [
            `u.email = &#39;bruno@example.com&#39; OR`, 
            `r.name = &#39;Lecteur&#39;`
        ]

        runQuery();
    });
});
</code></pre><p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/raw-sql-fix-6.js">ce code</a>, utiliser la commande <samp>node raw-sql-fix-6.js</samp>.</em></p>
<p>Nous voyons également aisément ici comment il est illusoire dans ce cas d&#39;espérer résoudre les problèmes précédemment mentionnés dans ce cas de figure (analyse syntaxique dans l&#39;éditeur, colorisation, mise dans un fichier séparé, etc.).</p>
<h3 id="problème-6--gestion-du-changement">Problème 6 : gestion du changement</h3>
<p>Les bases de données changent au fil du temps. Avec le SQL brut, vous ne bénéficiez généralement d&#39;aucun support pour cela. Vous devez migrer le schéma et toutes les requêtes vous-même : à savoir qu&#39;il faut vous même vous arranger pour que la base de donnée soit mise à jour avec la bonne version du code qui tourne : que ce soit lors du chargement d&#39;un code plus évolué ou d&#39;un code moins évolué que ceux qu&#39;il y a en base de donnée. Une telle gestion est appelée un système de migration de base de donnée. Nous développerons plus ce point quand nous le résoudrons plus loin dans cet article.</p>
<h2 id="constructeur-de-requêtes-dit-query-builder">Constructeur de requêtes dit Query Builder</h2>
<p>Les bibliothèques qui sont écrites dans le langage de programmation que vous utilisez et qui utilisent des classes et des fonctions natives pour construire des requêtes SQL sont appelées constructeurs de requêtes (<em>“Query Builder”</em>). Les requêtes sont construites par une interface orientée objet qui utilise le chaînage de méthodes dans le cas du JavaScript par exemple :</p>
<pre class="prettyprint linenums"><code class="language-js">query = knex.from(&#39;users&#39;)
    .select(&#39;*&#39;)
    .where({
        role_id: 1
    })
</code></pre>
<blockquote>
<p>Il existe également des outils graphiques qui sont parfois appelés constructeurs de requêtes, mais dans cet article, nous n&#39;en parlerons pas.</p>
</blockquote>
<p>Python a <a href="https://github.com/kayak/pypika">Pypika</a>, PHP a <a href="https://www.doctrine-project.org/projects/doctrine-dbal/en/2.10/reference/query-builder.html#sql-query-builder">Doctrine</a>, Java a <a href="http://www.querydsl.com/">QueryDSL</a> et <a href="http://www.jooq.org/">JOOQ</a>.</p>
<p><a href="http://knexjs.org/">Knex</a> est un exemple de générateur de requêtes en JavaScript. L&#39;exemple de requête ci-dessus peut être construit et exécuté comme ceci :</p>
<pre class="prettyprint linenums"><code class="language-js">const knex = require(&#39;knex&#39;)({
  client: &#39;mysql2&#39;,
  connection: {
    host : &#39;localhost&#39;,
    user : &#39;root&#39;,
    password : &#39;root&#39;,
    database : &#39;raw_builder_orm&#39;
  }
});

// Données provenant de la requête cliente
let query = knex.from(&#39;users&#39;);

/* ... */

// ...plus tard après plusieurs conditions...
query.select(&#39;id&#39;);

/* ... */

// ...et encore plus tard après plusieurs demandes de paramètres...

query.where({
    email: &#39;bruno@example.com&#39;,
    password: &#39;foo&#39;
});

/* ... */

// ...et encore plus tard alors qu&#39;on ne veut pas l&#39;`id`, mais l&#39;`email`...
query
    .clear(&#39;select&#39;)
    .select(&#39;email&#39;);

/* ... */

// ...et finalement, plus tard, alors que l&#39;utilisateur est administrateur, je veux aussi voir l&#39;`id` de role du membre.
query.select(&#39;role_id&#39;)

// Requête SQL générée
console.log(query.toSQL().toNative());
/*
`{
  sql: &#39;select `email`, `role_id` from `users` where `email` = ? and `password` = ?&#39;,
  bindings: [ &#39;bruno@example.com&#39;, &#39;foo&#39; ]
}`
*/

// Exécution de la requête
query.then((rows) =&gt; {

    // Résultat
    console.log(rows);
    // `[ { email: &#39;bruno@example.com&#39;, role_id: 2 } ]`

}).catch((err) =&gt; {
    throw err;
})
.finally(() =&gt; {
    knex.destroy();
});
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/query-builder.js">ce code</a>, utiliser la commande <samp>node query-builder.js</samp>.</em></p>
<p>Notez que la requête résultante est toujours la même que dans le code brut. Elle a juste été construite d&#39;une autre manière. Cela signifie que les performances de la base de données sont toujours les mêmes. Et comme la construction de la requête n&#39;est pas une tâche complexe, les performances globales de l&#39;application devraient rester les mêmes.</p>
<p>Vous pouvez constater que de cette manière, la requête est plus facile à étendre et à réutiliser que lorsqu&#39;il fallait nous même gérer <samp>select</samp>, <samp>inner</samp> et <samp>where</samp>. Vous pouvez par exemple imaginer que vous avez un ensemble de jointures complexes et beaucoup d&#39;instructions <samp>WHERE</samp>. Avec une requête SQL brut, vous commencerez à ajouter des bouts de chaine de caractère un peu partout. Avec un générateur de requêtes, il est plus simple d&#39;étendre et de réutiliser les requêtes. Pour la rendre réutilisable, il faut exposer la requête <samp>query</samp> quelque part et la continuer par le chainage. Vous pouvez même changer d&#39;avis et retirer quelque chose que vous aviez précédemment ajouté à la requête.</p>
<p>Le constructeur de requêtes empêche les coquilles dans les parties proposées <samp>.select</samp>, <samp>.from</samp> et <samp>.where</samp> de votre éditeur de code dans l&#39;exemple ci-dessus. Il n&#39;est cependant d&#39;aucune utilité pour les noms de colonnes ou de tables, car il s&#39;agit toujours de chaînes de caractères. En d&#39;autres termes : un constructeur de requêtes résout les problèmes :</p>
<ul>
<li>1 : injections SQL,</li>
<li>2 : coquilles dans les commandes SQL,</li>
<li>3 : absence de support pour l&#39;éditeur et</li>
<li>5 : extension de requête</li>
</ul>
<p>mais ne résous pas les problèmes suivants :</p>
<ul>
<li>4 : coquilles dans les noms de tableaux ou de colonnes et</li>
<li>6 : gestion du changement.</li>
</ul>
<h2 id="mappage-dobjet-relationnel-dit-orm">Mappage d&#39;objet-relationnel dit ORM</h2>
<p>Les mappages d&#39;objet-relationnel ou ORM (<em>“Object-Relational Mapper”</em>) créent une représentation en objet pour chaque table de base de données. De cette façon, il y a une représentation des tables dans le langage JavaScript qui permet à toutes les fonctionnalités d&#39;un écosystème de développement JavaScript, telles que l&#39;auto-complétions, la mise en évidence de la syntaxe et la connaissance de l&#39;existence ou non d&#39;un nom de table ou de colonne, de fonctionner. De ce fait, en plus de résoudre les 4 problèmes déjà résolu par les constructeurs de requête, un mappage d&#39;objet-relationnel également le problème 4 évoqué dans la partie SQL brut.</p>
<p>Les mappages d&#39;objet-relationnel sont extrêmement populaires dans de nombreux langages : Java a <a href="http://hibernate.org/">Hibernate</a>, PHP a <a href="https://laravel.com/docs/5.0/eloquent">Eloquent</a>, Ruby a <a href="https://guides.rubyonrails.org/active_record_basics.html">activerecord</a>, Python a <a href="https://www.sqlalchemy.org/">SQLAlchemy</a>.</p>
<p>JavaScript a <a href="https://sequelize.org/">Sequelize</a> ou <a href="https://typeorm.io/">TypeORM</a> pour le TypeScript.</p>
<p>Voici à quoi ressemble notre exemple de bibliothèque avec Sequelize :</p>
<pre class="prettyprint linenums"><code class="language-js">const { Sequelize, DataTypes } = require(&#39;sequelize&#39;);
const sequelize = new Sequelize(&#39;raw_builder_orm&#39;, &#39;root&#39;, &#39;root&#39;, {
    host: &#39;localhost&#39;,
    dialect: &#39;mysql&#39;
});

// Définition des modèles
const Roles = require(&#39;./models/roles.js&#39;)(sequelize, DataTypes);
const Users = require(&#39;./models/users.js&#39;)(sequelize, DataTypes);

// Association des modèles
const models = { Roles, Users };
Object.values(models)
    .filter(model =&gt; typeof model.associate === &#39;function&#39;)
    .forEach(model =&gt; model.associate(models));

(async function () {
    await sequelize.sync({ alter: true });

    const users = await Users.findAll({
        where: {
            email: &#39;bruno@example.com&#39;
        }
    });

    // Résultat
    console.log(users);
    /*
    `[
      Users {
        dataValues: {
          id: 2,
          roleId: 2,
          email: &#39;bruno@example.com&#39;,
          password: &#39;foo&#39;,
          role_id: 2
        },
        _previousDataValues: {
          id: 2,
          roleId: 2,
          email: &#39;bruno@example.com&#39;,
          password: &#39;foo&#39;,
          role_id: 2
        },
        _changed: Set {},
        _options: {
          isNewRecord: false,
          _schema: null,
          _schemaDelimiter: &#39;&#39;,
          raw: true,
          attributes: [Array]
        },
        isNewRecord: false
      }
    ]`
    */
})();
</code></pre>
<p>Avec pour le modèle <samp>User</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">const { Model } = require(&#39;sequelize&#39;);

module.exports = (sequelize, DataTypes) =&gt; {
    class Users extends Model {
        static associate({ Roles }) {
            Users.belongsTo(Roles, {
                foreignKey: { 
                    name: &#39;role_id&#39;,
                    allowNull: false
                }
            });
        }
    };

    Users.init({
        id: {
            type: DataTypes.INTEGER,
            allowNull: false,
            primaryKey: true,
            autoIncrement: true
        },
        roleId: {
            field: &#39;role_id&#39;,
            type: DataTypes.INTEGER,
            allowNull: false
        },
        email: {
            type: DataTypes.STRING,
            allowNull: false
        },
        password: {
            type: DataTypes.STRING,
            allowNull: false
        }
    }, { 
        sequelize,
        tableName: &#39;users&#39;, 
        indexes: [{
            name: &#39;email_idx&#39;,
            fields: [&#39;email&#39;]
        }, {
            name: &#39;password_idx&#39;,
            fields: [&#39;password&#39;]
        }],
        createdAt: false,
        updatedAt: false
    });

    return Users;
};
</code></pre>
<p>et pour le modèle <samp>Role</samp> :</p>
<pre class="prettyprint linenums"><code class="language-js">const { Model } = require(&#39;sequelize&#39;);

module.exports = (sequelize, DataTypes) =&gt; {
    class Roles extends Model {
        static associate({ Users }) {
            Roles.hasMany(Users, {
                foreignKey: { 
                    name: &#39;role_id&#39;,
                    allowNull: false
                }
            });
        }
    };

    Roles.init({
        id: {
            type: DataTypes.INTEGER,
            allowNull: false,
            primaryKey: true,
            autoIncrement: true
        },
        name: {
            type: DataTypes.STRING,
            allowNull: false
        }
    }, { 
        sequelize,
        tableName: &#39;roles&#39;, 
        indexes: [{
            name: &#39;name_idx&#39;,
            fields: [&#39;name&#39;]
        }],
        createdAt: false,
        updatedAt: false
    });

    return Roles;
};
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm.js">ce code</a>, utiliser la commande <samp>node orm.js</samp>.</em></p>
<p>Un point intéressant des mappages d&#39;objet-relationnel est qu&#39;ils aident parfois à gérer les changements ce qui résout notre problème 6 évoqué dans la partie sur le SQL brut. En JavaScript, il y a <a href="https://sequelize.org/">Sequelize</a> qui peut détecter automatiquement quand vos modèles ont changé par rapport au dernier état connu de la base de données. Sequelize peut alors gérer des fichiers de migration de schéma pour vous. Ils ressemblent à cela :</p>
<pre class="prettyprint linenums"><code class="language-js">module.exports = {
  up: async (queryInterface, Sequelize) =&gt; {
    await queryInterface.addColumn(&#39;Users&#39;, &#39;birthDate&#39;, {
      field: &#39;birth_date&#39;,
      type: Sequelize.DataTypes.DATE,
      allowNull: true 
    });
  },
  down: async (queryInterface, Sequelize) =&gt; {
    await queryInterface.removeColumn(&#39;Users&#39;, &#39;birthDate&#39;);
  }
};
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/20211205085410-alter-users.js">ce code</a>, utiliser la commande <samp>npx sequelize-cli db:migrate</samp> pour ajouter la colonne <samp>birth_date</samp> et <samp>npx sequelize-cli db:migrate:undo</samp> pour retirer la colonne <samp>birth_date</samp>.</em></p>
<p>Avec un mappage d&#39;objet-relationnel donc, il faut faire un effort initial pour représenter la base de données dans le code de sorte qu&#39;il y ait des objets qui représentent les tables de la base de données. Après cet effort initial, vous devez vous assurer que la base de données est synchronisée avec la base du code de votre projet. Ce que vous obtenez de cet effort est un développement plus rapide lorsque vous avez juste besoin d&#39;écrire de nouvelles requêtes simples de manipulation CRUD d&#39;objet. Comme vous pouvez également bénéficier de la coloration syntaxique et du formatage automatique, cela peut également réduire la maintenance en rendant les requêtes plus faciles à lire.</p>
<p>Cependant, là ou les constructeurs de requêtes ne résolvaient pas tous les problèmes, il n&#39;en apportait pas particulièrement de nouveau. Ici, nous avons effectivement résolue les 6 problèmes précédemment listés mais, si nous n&#39;y prenons pas garde, créons de nouveaux problèmes… silencieux. Voyons cela à travers trois exemple qui traite plus où moins du même problème mais sous trois angles différents.</p>
<h3 id="problème-a--sur-récupération">Problème A : sur-récupération</h3>
<p>Lorsque vous lancez des requêtes avec des mappages d&#39;objet-relationnel, vous avez tendance à obtenir plus que ce dont vous avez besoin. Par exemple, si vous vouliez utiliser le mappage d&#39;objet-relationnel pour obtenir la liste des utilisateurs appartenant à un rôle, vous pourriez procéder comme suit :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const role = await Roles.findOne({
        where: { name: &#39;Lecteur&#39; }
    })

    const result = await Users.findAll({
        where: { roleId: role.id },
    });

    // Résultat
    console.log(JSON.stringify(role, null, 2));
    /*
    `{
      &quot;id&quot;: 3,
      &quot;name&quot;: &quot;Lecteur&quot;
    }`
    */

    result.forEach((item) =&gt; {
        console.log(JSON.stringify(item, null, 2));
    });
    /*
    `{
      &quot;id&quot;: 4,
      &quot;roleId&quot;: 3,
      &quot;email&quot;: &quot;nyx@example.com&quot;,
      &quot;password&quot;: &quot;baz&quot;,
      &quot;role_id&quot;: 3
    }
    {
      &quot;id&quot;: 5,
      &quot;roleId&quot;: 3,
      &quot;email&quot;: &quot;noctalie@example.com&quot;,
      &quot;password&quot;: &quot;fooz&quot;,
      &quot;role_id&quot;: 3
    }
    {
      &quot;id&quot;: 6,
      &quot;roleId&quot;: 3,
      &quot;email&quot;: &quot;dayski@example.com&quot;,
      &quot;password&quot;: &quot;far&quot;,
      &quot;role_id&quot;: 3
    }`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-issue-1.js">ce code</a>, utiliser la commande <samp>node orm-issue-1.js</samp>.</em></p>
<p>Alors la base de données recevrait ces deux requêtes :</p>
<pre class="prettyprint linenums"><code>SELECT
    `id`, `name`
FROM `roles` AS `Roles`
WHERE
    `Roles`.`name` = &#39;Lecteur&#39;
LIMIT 1;
# ~0.005 secondes d&#39;exécution dans le pire des cas

SELECT
    `id`,
    `role_id` AS `roleId`,
    `email`,
    `password`,
    `role_id`
FROM `users` AS `Users`
WHERE
    `Users`.`role_id` = 3;
# ~0.006 secondes d&#39;exécution dans le pire des cas
</code></pre><p>C&#39;est inefficace pour de multiples raisons :</p>
<ul>
<li>Je n&#39;avais pas besoin de récupérer d&#39;informations sur le rôle.</li>
<li>La base de données doit exécuter deux requêtes au lieu d&#39;une.</li>
<li>Je ne voulais pas l&#39;<samp>id</samp> des utilisateurs ou d&#39;autres informations.</li>
</ul>
<p>Bien sûr, il s&#39;agit d&#39;un exemple minuscule où cela n&#39;a pas d&#39;importance. Mais imaginez que votre requête renvoie plusieurs centaines de lignes et comporte également plusieurs centaines de colonnes. Et peut-être que certaines d&#39;entre elles seraient remplies d&#39;un contenu assez important, par exemple un <samp>LONGBLOB</samp>.</p>
<p>Bien sûr, vous pourriez résoudre cela en regardant dans la documentation comment faire une jointure interne et limiter les colonnes récupérées :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const result = await Roles.findOne({
        where: { name: &#39;Lecteur&#39; },
        attributes: [],
        include: {
            model: Users,
            attributes: [Users.rawAttributes.email.field],
            required: true
        }
    });

    // Résultat
    console.log(JSON.stringify(result, null, 2));
    /*
    `{
      &quot;Users&quot;: [
        {
          &quot;email&quot;: &quot;nyx@example.com&quot;
        },
        {
          &quot;email&quot;: &quot;noctalie@example.com&quot;
        },
        {
          &quot;email&quot;: &quot;dayski@example.com&quot;
        }
      ]
    }`
    */

    result.Users.forEach((item) =&gt; {
        console.log(JSON.stringify(item, null, 2));
    });
    /*
    `{
      &quot;email&quot;: &quot;nyx@example.com&quot;
    }
    {
      &quot;email&quot;: &quot;noctalie@example.com&quot;
    }
    {
      &quot;email&quot;: &quot;dayski@example.com&quot;
    }`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-issue-2.js">ce code</a>, utiliser la commande <samp>node orm-issue-2.js</samp>.</em></p>
<p>ce qui donne lieu à cette requête :</p>
<pre class="prettyprint linenums"><code>SELECT
    `Roles`.*,
    `Users`.`id` AS `Users.id`,
    `Users`.`email` AS `Users.email`
FROM (
    SELECT `Roles`.`id`
    FROM `roles` AS `Roles`
    WHERE `Roles`.`name` = &#39;Lecteur&#39; AND (
        SELECT `role_id`
        FROM `users` AS `Users`
        WHERE (
            `Users`.`role_id` = `Roles`.`id`)
        LIMIT 1
    ) IS NOT NULL LIMIT 1
) AS `Roles`
INNER JOIN `users` AS `Users`
    ON `Roles`.`id` = `Users`.`role_id`;
# ~0.11 secondes d&#39;exécution dans le pire des cas
</code></pre><p>Si effectivement on limite le nombre de requête vers la base de données (ce qui n&#39;est pas négligeable), maintenant le SQL généré et le temps d&#39;exécution de la requête sont encore pire ! Cela montre parfaitement comment vous pouvez obtenir le bon résultat mais d&#39;une manière très complexe en utilisant un mappage d&#39;objet-relationnel. Le code produit est ici bien compliqué, et le temps d&#39;exécution supérieur à ce que l&#39;on pourrait faire.</p>
<p>Avec un simple changement, l&#39;utilisation de <samp>findAll</samp> au lieu de <samp>findOne</samp>, voici alors ce que l&#39;on obtient :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const [result] = await Roles.findAll({
        where: { name: &#39;Lecteur&#39; },
        attributes: [],
        include: {
            model: Users,
            attributes: [Users.rawAttributes.email.field],
            required: true
        }
    });

    // Résultat
    console.log(JSON.stringify(result, null, 2));
    /*
    `{
      &quot;Users&quot;: [
        {
          &quot;email&quot;: &quot;nyx@example.com&quot;
        },
        {
          &quot;email&quot;: &quot;noctalie@example.com&quot;
        },
        {
          &quot;email&quot;: &quot;dayski@example.com&quot;
        }
      ]
    }`
    */

    result.Users.forEach((item) =&gt; {
        console.log(JSON.stringify(item, null, 2));
    });
    /*
    `{
      &quot;email&quot;: &quot;nyx@example.com&quot;
    }
    {
      &quot;email&quot;: &quot;noctalie@example.com&quot;
    }
    {
      &quot;email&quot;: &quot;dayski@example.com&quot;
    }`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-fix-2.js">ce code</a>, utiliser la commande <samp>node orm-fix-2.js</samp>.</em></p>
<p>Ce qui donne cette requête :</p>
<pre class="prettyprint linenums"><code>SELECT
    `Roles`.`id`,
    `Users`.`id` AS `Users.id`,
    `Users`.`email` AS `Users.email`
FROM `roles` AS `Roles`
INNER JOIN `users` AS `Users`
    ON `Roles`.`id` = `Users`.`role_id`
WHERE
    `Roles`.`name` = &#39;Lecteur&#39;;
# ~0.005 secondes d&#39;exécution dans le pire des cas
</code></pre><p>Les mappages d&#39;objet-relationnel permettent donc de créer facilement des requêtes qui sont problématiques de manière subtile comme le démontre les exemples précédents. Imaginez que vous ayez reçu l&#39;exemple <samp>orm-issue-1.js</samp> ou <samp>orm-issue-2.js</samp> pour l&#39;examiner. Ils font ce qu&#39;il faut, les tests unitaires ne sont pas non plus terriblement lents. Seriez-vous certain de repérer le double appel à la base de donnée ou la complexité générée inutile ? Et lorsque la requête souhaitée devient beaucoup plus complexe ?</p>
<p>Pour le SQL brut et les constructeurs de requêtes, vous devez faire des efforts pour maîtriser des requêtes complexes similaires mais il est difficile d&#39;écrire une requête trop alambiquée sans s&#39;en rendre compte.</p>
<h3 id="problème-b--nombre-de-requête-n1">Problème B : nombre de requête N+1</h3>
<p>Imaginons que vous vouliez afficher une liste de tous les utilisateurs avec les noms de leur rôle. En SQL brut, vous exécuteriez cette requête :</p>
<pre class="prettyprint linenums"><code>SELECT
    u.email, 
    r.name
FROM users AS u 
INNER JOIN roles AS r 
    ON u.role_id = r.id
</code></pre><p>Avec un mappage d&#39;objet-relationnel, vous pourriez être tenté de faire cela :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const result = await Users.findAll();
    console.log(JSON.stringify(result, null, 2));
    /*
    `[
      {
        &quot;id&quot;: 1,
        &quot;roleId&quot;: 1,
        &quot;email&quot;: &quot;admin@example.com&quot;,
        &quot;password&quot;: &quot;unknown&quot;,
        &quot;role_id&quot;: 1
      },
      {
        &quot;id&quot;: 2,
        &quot;roleId&quot;: 2,
        &quot;email&quot;: &quot;bruno@example.com&quot;,
        &quot;password&quot;: &quot;foo&quot;,
        &quot;role_id&quot;: 2
      },
      {
        &quot;id&quot;: 3,
        &quot;roleId&quot;: 2,
        &quot;email&quot;: &quot;magalie@example.com&quot;,
        &quot;password&quot;: &quot;bar&quot;,
        &quot;role_id&quot;: 2
      },
      {
        &quot;id&quot;: 4,
        &quot;roleId&quot;: 3,
        &quot;email&quot;: &quot;nyx@example.com&quot;,
        &quot;password&quot;: &quot;baz&quot;,
        &quot;role_id&quot;: 3
      },
      {
        &quot;id&quot;: 5,
        &quot;roleId&quot;: 3,
        &quot;email&quot;: &quot;noctalie@example.com&quot;,
        &quot;password&quot;: &quot;fooz&quot;,
        &quot;role_id&quot;: 3
      },
      {
        &quot;id&quot;: 6,
        &quot;roleId&quot;: 3,
        &quot;email&quot;: &quot;dayski@example.com&quot;,
        &quot;password&quot;: &quot;far&quot;,
        &quot;role_id&quot;: 3
      }
    ]`

    /* ... */

    // ...plus tard alors que vous avez besoin d&#39;afficher les noms de role...

    result.forEach(async (user) =&gt; {
        const { Role } = await Users.findOne({
            where: { id: user.id },
            include: {
                model: Roles,
                required: true
            }
        });
        console.log(JSON.stringify(Role.name, null, 2));
    });
    /*
    `&quot;Administrateur&quot;`
    `&quot;Éditeur&quot;`
    `&quot;Éditeur&quot;`
    `&quot;Lecteur&quot;`
    `&quot;Lecteur&quot;`
    `&quot;Lecteur&quot;`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-issue-3.js">ce code</a>, utiliser la commande <samp>node orm-issue-3.js</samp>.</em></p>
<p>Cela semble correct parce qu&#39;on sélectionne bien les éléments en dehors de la fonction <samp>forEach</samp>, mais pour chaque élément, une requête est lancée car <samp>findOne</samp> est bien dans la boucle. Ainsi, si vous avez reçu <samp>n</samp> utilisateur(s) dans la première requête, vous allez exécuter <samp>n</samp> requête(s) supplémentaires dont vous n&#39;êtes potentiellement pas conscient. Vous avez <samp>n + 1</samp> requêtes au lieu de <samp>1</samp>. Avec Sequelize, comme seules les fonctions <samp>find*</samp> font des <samp>SELECT</samp> en base, il reste relativement aisé de faire attention, mais il existe pléthore de fonctions dans différents mappages d&#39;objet-relationnel qui peuvent réellement vous induire en erreur.</p>
<p>Dans notre exemple précédent, puisque nous avons 6 utilisateurs, nous avions donc 7 requêtes qui pourraient n&#39;en être que 2 avec le code suivant :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const result = await Users.findAll();
    console.log(JSON.stringify(result, null, 2));
    /*
    `[
      {
        &quot;id&quot;: 1,
        &quot;roleId&quot;: 1,
        &quot;email&quot;: &quot;admin@example.com&quot;,
        &quot;password&quot;: &quot;unknown&quot;,
        &quot;role_id&quot;: 1
      },
      {
        &quot;id&quot;: 2,
        &quot;roleId&quot;: 2,
        &quot;email&quot;: &quot;bruno@example.com&quot;,
        &quot;password&quot;: &quot;foo&quot;,
        &quot;role_id&quot;: 2
      },
      {
        &quot;id&quot;: 3,
        &quot;roleId&quot;: 2,
        &quot;email&quot;: &quot;magalie@example.com&quot;,
        &quot;password&quot;: &quot;bar&quot;,
        &quot;role_id&quot;: 2
      },
      {
        &quot;id&quot;: 4,
        &quot;roleId&quot;: 3,
        &quot;email&quot;: &quot;nyx@example.com&quot;,
        &quot;password&quot;: &quot;baz&quot;,
        &quot;role_id&quot;: 3
      },
      {
        &quot;id&quot;: 5,
        &quot;roleId&quot;: 3,
        &quot;email&quot;: &quot;noctalie@example.com&quot;,
        &quot;password&quot;: &quot;fooz&quot;,
        &quot;role_id&quot;: 3
      },
      {
        &quot;id&quot;: 6,
        &quot;roleId&quot;: 3,
        &quot;email&quot;: &quot;dayski@example.com&quot;,
        &quot;password&quot;: &quot;far&quot;,
        &quot;role_id&quot;: 3
      }
    ]`

    /* ... */

    // ...plus tard alors que vous avez besoin d&#39;afficher les noms de rôle...

    const users = await Users.findAll({
        where: {
            id: result.map(d =&gt; d.id)
        },
        include: {
          model: Roles,
          required: true
        }
    });

    users.forEach(async ({ Role }) =&gt; {
        console.log(JSON.stringify(Role.name, null, 2));
    });
    /*
    `&quot;Administrateur&quot;`
    `&quot;Éditeur&quot;`
    `&quot;Éditeur&quot;`
    `&quot;Lecteur&quot;`
    `&quot;Lecteur&quot;`
    `&quot;Lecteur&quot;`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-fix-3.js">ce code</a>, utiliser la commande <samp>node orm-fix-3.js</samp>.</em></p>
<h3 id="problème-c--abstractions-qui-fuient">Problème C : abstractions qui fuient</h3>
<p>L&#39;abstraction est une lame à double tranchant : d&#39;une part, elle simplifie les choses. Le développeur n&#39;a pas à s&#39;occuper des détails de l&#39;interaction avec la base de données et de la construction des requêtes ; il pourrait même ne rien connaitre du SQL. D&#39;autre part, les développeurs ne savent pas ce qu&#39;ils interrogent réellement dans la base de données ni combien de requêtes ils envoient. Pour cette raison, certaines interactions sont plus inefficaces (genre beaucoup plus inefficaces !) qu&#39;elles ne devraient l&#39;être en terme de performance (<a href="https://www.youtube.com/watch?v=3TJfR1Ta4GU">exemple</a>).</p>
<p>Par exemple, imaginez que vous fournissiez la liste des <samp>id</samp> de rôle qui vous intéressent et qu&#39;on vous renvoie la liste de tous les utilisateurs possédant ces rôles. Vous pourriez être tenté de faire quelque chose comme ceci :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const roleIds = [2, 3];
    const usersIds = {};

    await Promise.all(roleIds.map(async (roleId) =&gt; {
        usersIds[roleId] = await Users.findAll({ 
            where: { roleId: roleId }
        });
        usersIds[roleId] = usersIds[roleId].map(x =&gt; x.id)
    }));

    console.log(JSON.stringify(usersIds, null, 2));
    /*
    `{
      &quot;2&quot;: [
        2,
        3
      ],
      &quot;3&quot;: [
        4,
        5,
        6
      ]
    }`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-issue-4.js">ce code</a>, utiliser la commande <samp>node orm-issue-4.js</samp>.</em></p>
<p>Maintenant, vous envoyez une requête une fois pour chaque rôle. Bien sûr, vous pouvez faire cela en une seule requête avec les mêmes pièces de code ; et c&#39;est là que c&#39;est trompeur. Deux écritures très similaires produisent des résultats de performance bien différent. Ici, même si la boucle ci-dessus ne semble pas si mauvaise, vous avez une connexion réseau entre les deux. Voici comment faire avec une seule requête :</p>
<pre class="prettyprint linenums"><code class="language-js">/* ... */

(async function () {
    const roleIds = [2, 3];
    const usersIds = {}

    const users = await Users.findAll({ 
        where: { roleId: roleIds }
    });
    users.forEach((user) =&gt; {
        usersIds[user.roleId] = usersIds[user.roleId] ? [...usersIds[user.roleId], user.id] : [user.id]
    })

    console.log(JSON.stringify(usersIds, null, 2));
    /*
    `{
      &quot;2&quot;: [
        2,
        3
      ],
      &quot;3&quot;: [
        4,
        5,
        6
      ]
    }`
    */
})();
</code></pre>
<p><em>Pour exécuter <a href="https://github.com/MachinisteWeb/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/blob/main/orm-fix-4.js">ce code</a>, utiliser la commande <samp>node orm-fix-4.js</samp>.</em></p>
<p>Cela met en évidence le problème d&#39;abstraction qui fui auquel un mappage d&#39;objet-relationnel peut conduire : la manière d&#39;utiliser quelque chose qui se voulait être abstrait change tout de même les performances sous-jacentes et l&#39;on ne peut pas se contenter de ne pas connaître le résultat produit par le mappage d&#39;objet-relationnel quand la performance est un élément important du développement.</p>
<h2 id="types-de-requêtes-et-changements-progressifs">Types de requêtes et changements progressifs</h2>
<p>Nous avons utilisé des exemples de requête très simple. Bien sûr, les requêtes peuvent devenir beaucoup plus compliquées. J&#39;ai moi-même écrit des requêtes de plusieurs centaines de lignes.</p>
<p>Pour savoir laquelle des trois approche est la plus pertinente pour un cas de figure précis, on distingue généralement deux groupes de charges de travail : le traitement transactionnel en ligne (<em>“Online transaction processing”</em> ou OLTP) ou le traitement analytique en ligne (<em>“Online analytical processing”</em> ou OLAP). </p>
<ul>
<li>Les charges de travail OLTP ont une grande quantité de petites insertions / mises à jour / suppressions, tandis que</li>
<li>les charges de travail OLAP exécutent une petite quantité de requêtes sélectionnées complexes pour l&#39;analyse.</li>
</ul>
<p>Bien sûr, si vous êtes dans un scénario où la plupart de vos requêtes sont plutôt simples, il est facile de passer à un constructeur de requêtes ou à un mappage d&#39;objet-relationnel. Mais si vous avez des requêtes complexes, le passage à un mappage d&#39;objet-relationnel peut même être impossible.</p>
<p>C&#39;est là que les changements progressifs entrent en jeu. Certains mappage d&#39;objet-relationnel / constructeurs de requêtes vous permettent d&#39;utiliser du SQL brut. Et certains constructeurs de requêtes vous permettent d&#39;abord d&#39;utiliser des chaînes de caractères pour les noms de tables et de colonnes, puis de passer aux objets à votre guise.</p>
<p>Si vous pouvez vous contenter du degré d&#39;abstraction qui vous semble naturel, votre vitesse de développement n&#39;est pas entravée. Si vous avez une requête complexe que vous voulez d&#39;abord bien faire, écrivez-la simplement de manière brute. Il est toujours possible de la transformer ultérieurement en expression à l&#39;aide d&#39;un générateur de requêtes.</p>
<p>Il est donc recommandé pour un travail OLTP de travailler avec une approche de mappage objet-relationnel qui pourra même aisément supporter des requêtes analytique simple. Cependant, il est plutôt recommandé pour un travail OLAP de jouer avec un constructeur de requêtes qui pourra étendre vos besoins. Dans les cas les plus rares ou la complexité analytique est trop grande pour être même assuré par un constructeur de requête, vous pouvez alors passer par du SQL brut en faisant très attention aux problèmes mentionnés en parties 1.</p>
<p>En JavaScript, si vous utilisez le mappage d&#39;objet-relationnel <a href="https://sequelize.org/">Sequelize</a>, vous pouvez toujours <a href="https://sequelize.org/master/manual/raw-queries.html">récupérer vos données de manière brute</a> ou même <a href="https://sequelize.org/master/manual/raw-queries.html">directement instancier des modèles depuis des du SQL brut</a>. De même, si vous utilisez le constructeur de requêtes <a href="http://knexjs.org/">Knex</a>, vous pouvez également <a href="https://knexjs.org/#Schema-raw">directement utiliser du SQL Brut</a>.</p>
<h2 id="conclusion">Conclusion</h2>
<p>Le SQL brut est assurément le moyen le plus puissant d&#39;interagir avec votre base de données, car il s&#39;agit du langage natif des bases de données. L&#39;inconvénient est que vous risquez d&#39;utiliser des fonctionnalités spécifiques à cette base de données, ce qui rendra plus difficile un futur changement de base de données. Un autre inconvénient est l&#39;absence des fonctions essentielles de l&#39;éditeur, comme la coloration syntaxique et l&#39;auto-complétion. L&#39;extension des requêtes est fastidieuse et le risque d&#39;injections SQL est plus élevé.</p>
<p>À l&#39;autre extrême, les mappages d&#39;objet-relationnel fournissent la plus haute forme d&#39;abstraction et empêchent les fautes de frappe non seulement dans les mots-clés SQL, mais aussi dans les noms de tables et de colonnes. Ils sont plus couteux à mettre en place que les constructeurs de requêtes, tant du point de vue de la courbe d&#39;apprentissage que de celui des frais de développement initiaux. Comme ils font beaucoup d&#39;abstraction, le risque d&#39;exécuter des requêtes coûteuses ou trop nombreuses est plus élevé. Cependant, une fois en place et pour toutes les actions communes et redondantes, il ferra gagner énormément de temps et de maintenance.</p>
<p>Et à mi-chemin entre les deux, les constructeurs de requêtes n&#39;ajoutent que peu de frais de développement et aucun frais d&#39;exécution par rapport au SQL brut et empêchent les fautes de frappe dans les mots-clés SQL. Ils facilitent l&#39;extension des requêtes et rendent les injections SQL plus difficiles. Ils sont alors un bon compromis entre les défauts des deux autres approches.</p>
<h2 id="à-propos">À propos</h2>
<p>Cet article est adapté de l&#39;<a href="https://levelup.gitconnected.com/raw-sql-vs-query-builder-vs-orm-eee72dbdd275">excellent article de Martin Thoma</a> qui a servi de guide à la rédaction et à la confection des exemples de cette version française en JavaScript (initialement en Python et en anglais).</p>
]]></description>
            <link>https://blog.lesieur.name/raw-sql-vs-query-builder-vs-orm-javascript-nodejs/</link>
            <guid isPermaLink="false">6194b25cc8a3691ac5564c1f</guid>
            <category><![CDATA[Performances]]></category>
            <category><![CDATA[Techniques de Dev]]></category>
            <category><![CDATA[Concept]]></category>
            <category><![CDATA[Bonnes Pratiques]]></category>
            <category><![CDATA[Outils]]></category>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[Back-end]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Node.js]]></category>
            <category><![CDATA[JavaScript]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Mon, 20 Dec 2021 10:42:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Qu'est-ce que try-catch en Node.js]]></title>
            <description><![CDATA[<p>Quel est la place de try-catch dans la manière de gérer les erreurs en Node.js ? Une traduction de l&#39;article <strong><a href="https://nodejs.org/en/knowledge/errors/what-is-try-catch/">What is try-catch?</a></strong></p>
<blockquote>
<p>Classé dans <strong>Erreurs</strong></p>
</blockquote>
<h2 id="traduction">Traduction</h2>
<p><strong>Code</strong></p>
<pre class="prettyprint linenums"><code class="language-js">console.log(&quot;début de la structure de contrôle try-catch&quot;);

try {
  console.log(&quot;entrée dans le bloc d&#39;essai&quot;);
  throw &quot;lancer un message&quot;;
  console.log(&quot;ce message ne sera jamais atteint&quot;);
}
catch (e) {
  console.log(&quot;entrée dans le bloc de capture&quot;);
  console.log(e);
  console.log(&quot;sortie du bloc de capture&quot;);
}
finally {
  console.log(&quot;entrée dans le block final&quot;);
}

console.log(&quot;fin de la structure de contrôle try-catch&quot;);
</code></pre>
<p><strong>Résultat</strong></p>
<pre class="prettyprint linenums"><code class="language-txt">début de la structure de contrôle try-catch
entrée dans le bloc d&#39;essai
entrée dans le bloc de capture
lancer un message
sortie du bloc de capture
entrée dans le block final
fin de la structure de contrôle try-catch
</code></pre>
<p>L&#39;instruction <samp>try-catch-finally</samp> de JavaScript fonctionne de manière très similaire aux <samp>try-catch-finally</samp> rencontrés en C++ et Java. Tout d&#39;abord, le bloc d&#39;essai (<strong>try</strong>) est exécuté jusqu&#39;à ce que le code qu&#39;il contient lève une exception (qu&#39;il s&#39;agisse d&#39;une instruction <samp>throw</samp> explicite, que le code comporte une exception native non capturée ou que le code appelle une fonction qui utilise <samp>throw</samp>).</p>
<p>Si le code ne lève pas d&#39;exception, l&#39;ensemble du bloc d&#39;essai est exécuté. Si le code lève une exception à l&#39;intérieur du bloc d&#39;essai, alors le reste est ignoré et le bloc de capture (<strong>catch</strong>) est exécuté. Enfin, le bloc final  (<strong>finally</strong>) est toujours exécuté, après les autres blocs mais avant tout autre code situé en dehors des blocs <samp>try-catch-finally</samp>. Le bloc final s&#39;exécutera presque toujours, quel que soit le type de lancer, de capture ou de retour que l&#39;on peut essayer de faire à l&#39;intérieur des blocs d&#39;essai ou de capture.</p>
<p>Notez que vous pouvez omettre le bloc de capture ou le bloc final, mais l&#39;un des deux doit être présent.</p>
<h3 id="mais-attendez-nest-ce-pas-la-convention-nodejs-de-ne-pas-utiliser-try-catch-">Mais attendez, n&#39;est-ce pas la convention Node.js de ne pas utiliser try-catch ?</h3>
<p>Dans les bibliothèques de base de Node.js, le seul endroit où il faut vraiment utiliser un <samp>try-catch</samp> est autour de <samp>JSON.parse()</samp>. Toutes les autres méthodes utilisent soit l&#39;objet <samp>Error</samp> standard via le premier paramètre de la fonction de rappel (<strong>callback function</strong>), soit émettent un événement d&#39;erreur. Pour cette raison, il est généralement considéré comme <a href="https://blog.lesieur.name/node-js--erreurs--quelles-sont-les-conventions-d-erreur/">standard</a> de renvoyer les erreurs par le biais d&#39;une fonction de rappel plutôt que d&#39;utiliser l&#39;instruction <samp>throw</samp>.</p>
]]></description>
            <link>https://blog.lesieur.name/node-js--erreurs--qu-est-ce-que-try-catch/</link>
            <guid isPermaLink="false">616d25017704996a4bb6638e</guid>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Spécifications]]></category>
            <category><![CDATA[Node.js]]></category>
            <category><![CDATA[Traduction]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Mon, 18 Oct 2021 07:40:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Qu'est-ce que l'objet erreur en Node.js]]></title>
            <description><![CDATA[<p>Un objet erreur est remonté lorsque tout ne se passe pas comme prévu, voyons cela. Une traduction de l&#39;article <strong><a href="https://nodejs.org/en/knowledge/errors/what-is-the-error-object/">What is the error object?</a></strong></p>
<blockquote>
<p>Classé dans <strong>Erreurs</strong></p>
</blockquote>
<h2 id="traduction">Traduction</h2>
<p>L&#39;objet erreur est un objet intégré qui fournit un ensemble standard d&#39;informations utiles lorsqu&#39;une erreur se produit, comme une trace de la pile et un message d&#39;erreur. Par exemple :</p>
<p><strong>Code</strong></p>
<pre class="prettyprint linenums"><code class="language-js">var error = new Error(&quot;Le message d&#39;erreur&quot;);
console.log(error);
console.log(error.stack);
</code></pre>
<p><strong>Résultat</strong></p>
<pre class="prettyprint linenums"><code class="language-txt">{ stack: [Getter/Setter],
  arguments: undefined,
  type: undefined,
  message: &#39;Le message d&#39;erreur&#39; }
Error: Le message d&#39;erreur
    at Object.&lt;anonymous&gt; (/home/nico/example.js:1:75)
    at Module._compile (module.js:407:26)
    at Object..js (module.js:413:10)
    at Module.load (module.js:339:31)
    at Function._load (module.js:298:12)
    at Array.0 (module.js:426:10)
    at EventEmitter._tickCallback (node.js:126:26)
</code></pre>
<p><samp>error.stack</samp> vous montre d&#39;où vient une erreur, ainsi qu&#39;une liste des appels de fonction qui l&#39;ont précédée - pour votre commodité, <samp>error.stack</samp> imprime toujours <samp>error.message</samp> comme première ligne de sa sortie, ce qui fait de <samp>error.stack</samp> une propriété unique pratique à afficher pendant le débogage.</p>
<p>Si vous souhaitez ajouter plus d&#39;informations à l&#39;objet <samp>Error</samp>, vous pouvez toujours ajouter des propriétés, comme pour tout autre objet JavaScript :</p>
<pre class="prettyprint linenums"><code class="language-js">var error = new Error(&quot;Le message d&#39;erreur&quot;);
error.http_code = 404;
console.log(error);
</code></pre>
<p>Pour plus de détails sur l&#39;utilisation de l&#39;objet Erreur, consultez <a href="https://blog.lesieur.name/node-js--erreurs--quelles-sont-les-conventions-d-erreur/">l&#39;article sur les conventions d&#39;erreur</a>.</p>
]]></description>
            <link>https://blog.lesieur.name/node-js--erreurs--qu-est-ce-que-l-objet-erreur/</link>
            <guid isPermaLink="false">616d1d647704996a4bb6631f</guid>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Spécifications]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Node.js]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Mon, 18 Oct 2021 07:08:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Comment créer des paramètres par défaut pour les fonctions en Node.js]]></title>
            <description><![CDATA[<p>Quand les paramètres des fonctions ne sont pas renseignés, quelles alternatives possibles ? Une traduction de l&#39;article <strong><a href="https://nodejs.org/en/knowledge/javascript-conventions/how-to-create-default-parameters-for-functions/">How To Create Default Parameters for Functions</a></strong></p>
<blockquote>
<p>Classé dans <strong>Conventions JavaScript</strong></p>
</blockquote>
<h2 id="traduction">Traduction</h2>
<p>En général, une fonction prend un nombre déterminé de paramètres et exige qu&#39;ils soient tous présents pour pouvoir être exécutée avec succès. Cependant, vous rencontrerez parfois des situations où vous souhaitez fournir une valeur par défaut pour un paramètre ou prendre un nombre variable de paramètres. Heureusement, à partir de ES6/ES2015, les <strong>paramètres par défaut</strong> figurent dans les spécifications du langage :</p>
<pre class="prettyprint linenums"><code class="language-js">const pow = (base, power = 2) =&gt; {
  return Math.pow(base, power);
}

console.log(pow(2)); // `4`
console.log(pow(2,10)); // `1024`
</code></pre>
<p>Dans le code ci-dessus, la fonction <samp>pow</samp> renvoie le carré d&#39;un nombre ou de toute autre puissance spécifiée dans l&#39;appel de la fonction car l&#39;argument <samp>power</samp> a une valeur par défaut de <samp>2</samp>. Ainsi, si aucun second argument n&#39;est fourni ou si la valeur fournie est indéfinie, la fonction <samp>pow</samp> utilisera <samp>2</samp> comme valeur de l&#39;argument <samp>power</samp>. Mais il y a un petit problème :</p>
<pre class="prettyprint linenums"><code class="language-js">const pow = (base, power = 2) =&gt; {
  return Math.pow(base, power);
}

console.log(pow(2, undefined)); // `4`
console.log(pow(2, null)); // `1`
</code></pre>
<p>En JavaScript, il existe de nombreuses façons d&#39;indiquer des valeurs fausses, mais parmi celles-ci, seule la valeur <samp>undefined</samp> déclenche le paramètre par défaut. C&#39;est la raison pour laquelle <samp>pow(2, undefined)</samp> renvoie <samp>4</samp> et <samp>pow(2, null)</samp> renvoie <samp>1</samp>.</p>
<p>ASTUCE EN JS : Dans <samp>Math.pow(base, puissance)</samp>, si la puissance est <samp>0</samp> ou toute autre valeur « faussée » (sauf <samp>NaN</samp>), le résultat sera toujours 1.</p>
<p>Malheureusement, les versions précédentes de JavaScript (ES5 et inférieures) ne prennent pas en charge les paramètres par défaut, mais au fil du temps, les gens ont développé des idiomes pour compenser.</p>
<p>Le premier idiome consiste à donner une valeur par défaut au dernier paramètre. Cela se fait en vérifiant si le dernier paramètre est <samp>undefined</samp> et en lui donnant une valeur par défaut si c&#39;est le cas. On utilise parfois l&#39;idiome : <samp>optionalParameter = optionalParameter || defaultValue</samp>. Cela peut avoir un comportement indésirable lorsqu&#39;ils passent des valeurs qui sont égales à <samp>false</samp> comme <samp>false</samp>, <samp>0</samp>, et <samp>&quot;&quot;</samp>. Une meilleure façon de procéder consiste donc à vérifier explicitement que le paramètre optionnel est <samp>undefined</samp>. Voici un exemple de code montrant les deux styles et les différences de comportement :</p>
<pre class="prettyprint linenums"><code class="language-js">const example = function (optionalArg) {
  optionalArg = optionalArg || &quot;Aucun paramètre n&#39;a été passé&quot;;
  console.log(optionalArg);
}

const betterExample = function (optionalArg) {
  if (optionalArg === undefined) {
    optionalArg = &quot;Aucun paramètre n&#39;a été passé&quot;;
  }
  console.log(optionalArg);
}

console.log(&quot;Sans paramètre :&quot;);
example();
betterExample();

console.log(&quot;\nAvec paramètre :&quot;);
example(&quot;Un paramètre a été passé&quot;);
betterExample(&quot;Un paramètre a été passé&quot;);

console.log(&quot;\nChaine de charactère vide :&quot;);
example(&quot;&quot;);
betterExample(&quot;&quot;);
</code></pre>
<p>Le deuxième cas de figure est celui où la valeur optionnelle se trouve au milieu, ce qui peut provoquer des effets indésirables puisque tous les paramètres sont déplacés. Le paramètre optionnel n&#39;est pas la valeur <samp>undefined</samp> dans ce cas - le dernier paramètre est celui qui est <samp>undefined</samp>. Vous devez donc vérifier si le dernier paramètre est <samp>undefined</samp>, puis corriger manuellement tous les autres paramètres avant de poursuivre le code. Ce cas est également valable pour le JavaScript moderne (ES6/ES2015). L&#39;exemple vous montre comment faire :</p>
<pre class="prettyprint linenums"><code class="language-js">const example = function (param1, optParam, callback) {
  if (callback === undefined) {
    //  seulemeunt deux paramètres ont été passés, la fonction de rappel est actuellement l&#39;objet `optParam`
    callback = optParam;

    // doner à `optParam` une valeur par défaut
    optParam = &quot;et un paramètre par défaut&quot;;
  }
  callback(param1, optParam);
}

example(&quot;Ceci est un paramètre optionel&quot;, console.log);
example(&quot;Ceci est un paramètre optionel&quot;, &quot;et un paramètre optionel&quot;, console.log);
</code></pre>
]]></description>
            <link>https://blog.lesieur.name/node-js--conventions-javascript--comment-creer-des-parametres-par-defaut-pour-les-fonctions/</link>
            <guid isPermaLink="false">61692aa87704996a4bb6508d</guid>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Node.js]]></category>
            <category><![CDATA[Spécifications]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Traduction]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Thu, 14 Oct 2021 18:46:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Qu'est-ce que l'objet des arguments en Node.js]]></title>
            <description><![CDATA[<p>Comment faire pour lister le nombre de paramètres passées dans une fonction ? Une traduction de l&#39;article <strong><a href="https://nodejs.org/en/knowledge/javascript-conventions/what-is-the-arguments-object/">What is the arguments object?</a></strong></p>
<blockquote>
<p>Classé dans <strong>Conventions JavaScript</strong></p>
</blockquote>
<h2 id="traduction">Traduction</h2>
<p>L&#39;objet <samp>arguments</samp> est une construction spéciale disponible dans tous les appels de fonction. Il représente la liste des arguments qui ont été transmis lors de l&#39;appel de la fonction. Puisque JavaScript permet d&#39;appeler des fonctions avec un nombre quelconque d&#39;arguments, nous avons besoin d&#39;un moyen de les découvrir et d&#39;y accéder de manière dynamique.</p>
<p>L&#39;objet arguments est un objet de type tableau. Il possède une propriété de longueur qui correspond au nombre d&#39;arguments passés dans la fonction. Vous pouvez accéder à ces valeurs en indexant dans le tableau, par exemple <samp>arguments[0]</samp> est le premier argument. La seule autre propriété des arguments est <samp>callee</samp>, que ES5 interdit d&#39;utiliser en mode strict ; vous trouverez plus d&#39;informations à ce sujet <a href="https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Functions/arguments/callee">ici</a>. Voici un exemple qui illustre la propriété <samp>arguments</samp>.</p>
<pre class="prettyprint linenums"><code class="language-js">const myfunc = function(one) {
  arguments[0] === one;
  arguments[1] === 2;
  arguments.length === 3;
}

myfunc(1, 2, 3);
</code></pre>
<p>Cette construction est très utile et donne aux fonctions JavaScript beaucoup de flexibilité. Mais il y a un problème important. L&#39;objet <samp>arguments</samp> se comporte comme un tableau, mais ce n&#39;est pas un tableau réel. Il n&#39;a pas <samp>Array</samp> dans sa chaîne de prototypes et il ne répond à aucune méthode de tableau, par exemple <samp>arguments.sort()</samp> soulève une <samp>TypeError</samp>. Au lieu de cela, vous devez d&#39;abord copier les valeurs dans un véritable tableau. Avec l&#39;arrivée de la méthode ES6 <samp>Array.from()</samp>, c&#39;est assez simple.</p>
<pre class="prettyprint linenums"><code class="language-js">const myfunc = function(a, b, c) {
  const args = Array.from(arguments);
  console.log(args) // [1, 2, 3]
}

myfunc(1, 2, 3);
</code></pre>
<p>REMARQUE : Pour les versions ES5 et inférieures, une boucle <samp>for</samp> normale peut faire l&#39;affaire.</p>
<p>Dans certains cas, vous pouvez toujours traiter <samp>arguments</samp> comme un tableau. Vous pouvez utiliser <samp>arguments</samp> dans les invocations de fonctions dynamiques en utilisant <samp>apply</samp>. Et la plupart des méthodes <samp>Array</samp> natives acceptent également <samp>arguments</samp> lorsqu&#39;elles sont invoquées dynamiquement à l&#39;aide de <samp>call</samp> ou de <samp>apply</samp>. Cette technique suggère également un autre moyen de convertir <samp>arguments</samp> en un véritable tableau à l&#39;aide de la méthode <samp>Array.slice</samp>.</p>
<pre class="prettyprint linenums"><code class="language-js">myfunc.apply(obj, arguments).

// concatène les arguments sur le
Array.prototype.concat.apply([1,2,3], arguments);

// transformer les arguments en un véritable tableau
const args = Array.prototype.slice.call(arguments);

// couper le premier argument
args = Array.prototype.slice.call(arguments, 1);
</code></pre>
<h3 id="objet-des-arguments-dans-la-fonction-flèché">Objet des arguments dans la fonction flèché</h3>
<p>Les fonctions flèches ont été ajoutées dans la spécification ECMAScript 2015 (ES6) comme une alternative syntaxiquement compacte à une expression de fonction régulière. Un inconvénient de cette nouvelle alternative est l&#39;absence de l&#39;objet <samp>arguments</samp> (et des mots-clés <samp>this</samp>, <samp>super</samp>, et <samp>new.target</samp>). Une solution de contournement pour de tels cas est l&#39;utilisation du paramètre de reste. Le paramètre de reste vous permet de représenter un nombre indéfini d&#39;arguments sous forme de tableau. Pour plus de détails, lisez <a href="https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Functions/rest_parameters">ici</a>.</p>
<pre class="prettyprint linenums"><code class="language-js">const myfunc = (...args) =&gt; {
  console.log(&#39;le premier paramètre est &#39;, args[0]);
}

myfunc(1, 2, 3);
</code></pre>
]]></description>
            <link>https://blog.lesieur.name/node-js--conventions-javascript--qu-est-ce-que-l-objet-des-arguments/</link>
            <guid isPermaLink="false">6166a33e7704996a4bb64474</guid>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Node.js]]></category>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[Spécifications]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Wed, 13 Oct 2021 09:13:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Qu'est-ce que JSON en Node.js]]></title>
            <description><![CDATA[<p>La notation JavaScript condensé dans un objet devenu si populaire ! Une traduction de l&#39;article <strong><a href="https://nodejs.org/en/knowledge/javascript-conventions/what-is-json/">What is JSON?</a></strong></p>
<blockquote>
<p>Classé dans <strong>Conventions JavaScript</strong></p>
</blockquote>
<h2 id="traduction">Traduction</h2>
<p>La JavaScript Object Notation, ou JSON, est un format de données léger qui est devenu la norme de facto pour le web. JSON peut être représenté soit comme une liste de valeurs, par exemple un tableau, soit comme un hachage de propriétés et de valeurs, par exemple un objet.</p>
<pre class="prettyprint linenums"><code class="language-js">// un tableau JSON
[&quot;one&quot;, &quot;two&quot;, &quot;three&quot;]

// un objet JSON
{ &quot;one&quot;: 1, &quot;two&quot;: 2, &quot;three&quot;: 3 }
</code></pre>
<h3 id="encodage-et-décodage">Encodage et décodage</h3>
<p>JavaScript propose deux méthodes pour encoder des structures de données en JSON et pour décoder le format JSON en objets et tableaux JavaScript. Elles sont toutes deux disponibles sur l&#39;objet JSON qui est disponible dans la portée globale.</p>
<p><samp>JSON.stringify</samp> prend un objet ou un tableau JavaScript et renvoie une chaîne sérialisée au format JSON.</p>
<pre class="prettyprint linenums"><code class="language-js">const data = {
  name: &quot;John Doe&quot;,
  age: 32,
  title: &quot;Vice Président du JavaScript&quot;
}

const jsonStr = JSON.stringify(data);

console.log(jsonStr);

// va afficher `&#39;{&quot;name&quot;:&quot;John Doe&quot;,&quot;age&quot;:32,&quot;title&quot;:&quot;Vice Président du JavaScript&quot;}&#39;`
</code></pre>
<p><samp>JSON.parse</samp> prend une chaîne JSON et la décode en une structure de données JavaScript.</p>
<pre class="prettyprint linenums"><code class="language-js">const jsonStr = &#39;{&quot;name&quot;:&quot;John Doe&quot;,&quot;age&quot;:32,&quot;title&quot;:&quot;Vice Président du JavaScript&quot;}&#39;;

const data = JSON.parse(jsonStr);

console.log(data.title);

// prints `&#39;Vice Président du JavaScript&#39;`
</code></pre>
<h3 id="quest-ce-quun-json-valide-">Qu&#39;est-ce qu&#39;un JSON valide ?</h3>
<p>Il y a quelques règles à retenir lorsque l&#39;on traite des données au format JSON. Il existe également plusieurs pièges qui peuvent produire du JSON invalide.</p>
<ul>
<li>Les objets et tableaux vides sont acceptés</li>
<li>Les chaînes de caractères peuvent contenir n&#39;importe quel caractère unicode, y compris les propriétés des objets.</li>
<li><samp>null</samp> est une valeur JSON valide en soi.</li>
<li>Toutes les propriétés d&#39;objet doivent toujours être entre guillemets.</li>
<li>Les valeurs des propriétés d&#39;objet doivent être d&#39;un des types suivantes : String, Number, Boolean, Object, Array, Null.</li>
<li>Les valeurs numériques doivent être au format décimal, sans représentation octale ou hexagonale.</li>
<li>Les virgules de fin de tableau ne sont pas autorisées.</li>
</ul>
<p>Voici que des exemples de JSON valides.</p>
<pre class="prettyprint linenums"><code class="language-js">{&quot;name&quot;:&quot;John Doe&quot;,&quot;age&quot;:32,&quot;title&quot;:&quot;Vice President of JavaScript&quot;}

[&quot;one&quot;, &quot;two&quot;, &quot;three&quot;]

// les valeurs imbriquées sont valides
{&quot;names&quot;: [&quot;John Doe&quot;, &quot;Jane Doe&quot;] }

[ { &quot;name&quot;: &quot;John Doe&quot;}, {&quot;name&quot;: &quot;Jane Doe&quot;} ]

{} // hachage vide

[] // liste vide

null

{ &quot;key&quot;: &quot;\uFDD0&quot; } // codes d&#39;échappement unicode
</code></pre>
<p>Voici que des exemples de mauvais formatage JSON.</p>
<pre class="prettyprint linenums"><code class="language-js">{ name: &quot;John Doe&quot;, &#39;age&#39;: 32 } // le nom et l&#39;âge doivent être entre guillemets

[32, 64, 128, 0xFFF] // les nombres hexagonaux ne sont pas autorisés

{ &quot;name&quot;: &quot;John Doe&quot;, &quot;age&quot;: undefined } // undefined est une valeur invalide

// les fonctions et les dates ne sont pas autorisées
{ &quot;name&quot;: &quot;John Doe&quot;,
  &quot;birthday&quot;: new Date(&#39;Fri, 26 Jan 2019 07:13:10 GMT&#39;),
  &quot;getName&quot;: function() {
      return this.name;
  }
}
</code></pre>
<p>L&#39;appel de <samp>JSON.parse</samp> avec une chaîne JSON non valide entraînera l&#39;émission d&#39;une <samp>SyntaxError</samp>. Si vous n&#39;êtes pas sûr de la validité de vos données JSON, vous pouvez anticiper les erreurs en enveloppant l&#39;appel dans un bloc try/catch.</p>
<p>Notez que les seules valeurs complexes autorisées dans JSON sont les objets et les tableaux. Les fonctions, les dates et autres types sont exclus. Cela peut sembler illogique au premier abord. Mais n&#39;oubliez pas que JSON est un format de données, et non un format permettant de transférer des objets JavaScript complexes avec leurs fonctionnalités.</p>
<h3 id="validateurs-json">Validateurs JSON</h3>
<p>JSON étant devenu le format de données le plus largement utilisé, avec des règles bien définies à respecter, de nombreux validateurs sont disponibles pour vous aider dans votre travail :</p>
<ul>
<li><strong>Validateurs en ligne</strong> : Si vous ne faites que jouer avec JSON ou vérifier le JSON de quelqu&#39;un (sans IDE ni éditeur), les validateurs en ligne peuvent vous être d&#39;une grande aide. Par exemple : jsonlint.com est un bon validateur et reformateur JSON en ligne.</li>
<li><strong>Paquets npm</strong> : Si vous travaillez en équipe et souhaitez intégrer la validation JSON dans votre projet ou simplement automatiser la validation dans votre flux de travail, la vaste collection de packages <a href="https://blog.lesieur.name/node-js--pour-commencer--npm--qu-est-ce-que-npm/">npm</a> est à votre disposition. Par exemple : jsonlint est une version purement JavaScript du service fourni sur jsonlint.com.</li>
<li><strong>Plugins pour IDEs/éditeurs</strong> : Il existe de nombreux plugins/extensions disponibles pour la plupart des IDE/éditeurs qui valident JSON pour vous. Certains éditeurs, comme VS Code, intègrent d&#39;emblée l&#39;IntelliSense et la validation JSON.</li>
</ul>
<h3 id="json-dans-dautres-langages">JSON dans d&#39;autres langages</h3>
<p>Bien que JSON ait été inspiré par la simplicité des structures de données du langage JavaScript, son utilisation n&#39;est pas limitée à ce langage. De nombreux autres langages disposent de méthodes permettant de transférer des hachages et des listes natives en objets JSON stringifiés. Voici un exemple rapide en ruby.</p>
<pre class="prettyprint linenums"><code class="language-js">require &#39;json&#39;

data = { :one =&gt; 1 }
puts data.to_json

# prints &quot;{ \&quot;one\&quot;: 1 }&quot;
</code></pre>
]]></description>
            <link>https://blog.lesieur.name/node-js--conventions-javascript--qu-est-ce-que-json/</link>
            <guid isPermaLink="false">61669cd27704996a4bb6440f</guid>
            <category><![CDATA[Développement Web]]></category>
            <category><![CDATA[JavaScript]]></category>
            <category><![CDATA[Node.js]]></category>
            <category><![CDATA[Spécifications]]></category>
            <category><![CDATA[Traduction]]></category>
            <category><![CDATA[Ressources]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Wed, 13 Oct 2021 08:46:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[J'essaie de quoi je parle • Méthode Z]]></title>
            <description><![CDATA[<p>Le célèbre effet Dunning Kruger est régulièrement très mal interprété. Mais à quel point existe-t-il vraiment ?</p>
<blockquote>
<p>Suivez cette série proposée par <a href="https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg">Mr. Sam - Point d&#39;interrogation
</a> dédiée aux scepticismes et découvrez la Méthode Z !</p>
</blockquote>
<figure>
<img width="850" height="480" src="https://skeptikon.fr/lazy-static/previews/369347f4-c31b-4469-9dac-320c12dc1d35.jpg" alt="J'essaie de quoi je parle" style="max-width: 850px; width: 80%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Dunning Kruger, l'effet qui nous fait croire qu'on est compétent <em>par Mr. Sam</em></a><br>« J'ai fait mes propres recherches... »</figcaption>
</figure>

<blockquote>
<div style="float: left;"><a href="https://blog.lesieur.name/les-contes-de-faits-pourquoi-les-faits-ne-suffisent-pas-a-convaincre/">&lt; Épisode 4</a></div><div style="text-align: right"><a href="https://blog.lesieur.name/le-telephone-narrable-l-obligatoire-mutation-des-informations/">Épisode 6 &gt;</a></div>
</blockquote>
<h2 id="regarder-la-vidéo-hébergée-sur-skeptikón">Regarder la vidéo hébergée sur Skeptikón</h2>
<div class="video">
    <iframe width="560" height="315" sandbox="allow-same-origin allow-scripts allow-popups" src="https://skeptikon.fr/videos/embed/j9DbF7ZtyPQTuRimRTBrnD" frameborder="0" allowfullscreen></iframe>
</div>

<p>Vous pouvez directement accéder à cette vidéo sur <a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD">PeerTube</a> ou alternativement <a href="https://www.youtube.com/watch?v=SNx3A0kiLqs">ici</a>.</p>
<h2 id="lire-la-transcription-de-lépisode-5-de-la-méthode-z">Lire la transcription de l&#39;épisode 5 de la Méthode Z</h2>
<h3 id="intro">Intro</h3>
<p>« — <em>L&#39;effet Dunning Kruger démontre que les novices dans une matière donnée surestiment leurs compétences tandis ce que les connaisseurs de la même matière ont tendance à sous-estimer leurs compétences. Cet effet peut-être représenté par une courbe en trois étapes :</em></p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-dunning-kruger-dessin.jpg" alt="Dunning Kruger Effect Extrapolation" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Dunning Kruger Effect Extrapolation <em>par Mr. Sam</em></a></figcaption>
</figure>

<ul>
<li><em>la montagne de la stupidité : lorsque vous parlez comme un connaisseur alors que vous connaissez peu votre sujet,</em></li>
<li><em>la vallée de l&#39;humilité : lorsque vous vous rendez-compte que vous parliez sans maitriser votre sujet et</em></li>
<li><em>le plateau de la consolidation : lorsque vous commencez réellement à maitriser le sujet.</em></li>
</ul>
<p>Oui, alors bon, je t&#39;ai laissé parler parce que sinon t&#39;aurais encore raller : mais euh, tellement pas. »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/U7yeRRM6gCn3K5T4Xu/giphy.gif" alt="Giphy">
</figure>



<h3 id="origine-du-dk">Origine du DK</h3>
<p>Alors tout d&#39;abord cette courbe on la fout au bac. Elle a pour origine un graphique réalisé au pif par un graphiste en 2013 : c&#39;est lui le coupable.</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-adrian-bruce.jpg" alt="Je suis un muffin" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Adrian Bruce <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>Le mec voulait faire un truc rigolo ou vous aviez qu&#39;à placer un gros point rouge quelque part sur la courbe et écrire, par exemple, le nom de votre patron en dessous et hop : ça faisait la blague à la machine à café.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/agJ8gSAriYLgxExrFQ/giphy.gif" alt="Giphy">
</figure>

<p>Et comme ce graphique est un peu plus simple à comprendre que le vrai graphique de l&#39;étude que voici :</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-dunning-kruger.jpg" alt="Dunning Kruger Original" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Dunning Kruger Original <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>Et bah il à euh beaucoup plus de succès. Vous noterez qu&#39;au fur et à mesure du temps ce graphique c&#39;est transformé pour ressembler à quelque chose de beaucoup plus évident, de beaucoup plus cliché.</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-dunning-kruger-reinterprete.jpg" alt="Dunning Kruger Réinterprété" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Dunning Kruger Réinterprété <em>par Mr. Sam</em></a></figcaption>
</figure>



<h3 id="réplication-de-linformation">Réplication de l&#39;information</h3>
<p>Comme j&#39;ai oublié de vous le dire dans l&#39;épisode sur l&#39;information : une information fausse qui est communiquée devient, par une espèce de téléphone arabe, de plus en plus simple à comprendre : et donc de plus en plus digeste, de plus en plus séduisante, de plus en plus contagieuse.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/JtFm77U6DzT9Bkrww1/giphy.gif" alt="Giphy">
</figure>

<p>Bah oui parce que on l&#39;enjolive, on retire les détails qui tempéraient sa crédibilité, on efface les nuances pour la rendre plus percutante, pour être sûr qu&#39;elle fasse à notre interlocuteur le même effet qu&#39;elle nous a fait à nous. Et donc d&#39;une répétition à l&#39;autre on modifie un tout petit peu l&#39;information. Sauf que beaucoup de petit peu : ça fait un très gros petit peu.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/nrwjy4XVsoProOfjJf/giphy.gif" alt="Giphy">
</figure>

<p>Surtout que si elle gagnent en crédibilité, bah elle reste tout aussi fausse que la première fois qu&#39;elle a été énoncée. Et là où c&#39;est peut-être encore plus inquiétant : c&#39;est que ça ne concerne pas juste les fausses informations, ça concerne l&#39;information en général.</p>
<h3 id="la-vérité-sur-le-dk">La vérité sur le DK</h3>
<p>Mais surtout l&#39;effet Dunning Kruger, ce n&#39;est tout simplement pas ça. L&#39;effet Dunning Kruger part d&#39;une phrase de Darwin qui disait dans un livre que :</p>
<p>« — “L&#39;ignorance” engendre plus fréquemment la “confiance en soi” que ne le fait la “connaissance”. »</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-l-ignorance-engendre-plus-frequemment-la-confiance-en-soi-que-ne-le-fait-la-connaissance.jpg" alt="Je suis un muffin" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">L'ignorance engendre plus fréquemment la confiance en soi que ne le fait la connaissance <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>David Dunning et Justin Kruger, ça c&#39;est leurs tronches, ont donc testé 4 hypothèses dans leur étude :</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-david-dunning--justin-kruger.jpg" alt="David Dunning et Justin Kruger" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">David Dunning et Justin Kruger <em>par Mr. Sam</em></a></figcaption>
</figure>

<ul>
<li>Première hypothèse : un novice tend à surestimé son niveau de compétence.</li>
<li>Seconde hypothèse : un novice ne parvient pas à reconnaitre le degré de compétence d&#39;un connaisseur.</li>
<li>Troisième hypothèse : un novice ne parvient pas à se rendre compte de son propre degré d&#39;incompétence.</li>
<li>Quatrième hypothèse : un novice ne peut comprendre qu&#39;il était un novice qui se surévaluait qu&#39;en devenant un connaisseur.</li>
</ul>
<p>Donc, dans le graphique, cette droite montre ce qui devrait être juste si on était tous des machines capables de s&#39;auto-évaluer à la perfection. Plus on est connaisseur, plus on devrait savoir qu&#39;on est connaisseur : et ce n&#39;est pas ce qu&#39;on observe dans l&#39;étude de Dunning et de Kruger.</p>
<p>Quand on est novice, on aurait tendance à se surévaluer, mais quand on est connaisseur, on aurait tendance à se sousévaluer.</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-dunning-kruger-interpretation.jpg" alt="Dunning Kruger Interprétation" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Dunning Kruger Interprétation <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>Ce que la vraie courbe nous dit, c&#39;est simplement que les novice se croient un poil meilleur que ce qu&#39;ils sont. Ils ne se croient pas supérieur ou aussi compétent que les connaisseurs. Ils se surestiment un petit peu, tout simplement.</p>
<p>Les connaisseurs, qu&#39;en a eux, sont meilleurs que ce qu&#39;ils ne pensent, mais ils ne se croient pas moins bon que les novices. D&#39;ailleurs vous noterez que l&#39;écart est nettement moindre que pour les novices : et ça, sa peu s&#39;expliquer par une hypothèse avancée par le tandem Dunning Kruger :</p>
<p>Pour les novices, si vous n&#39;êtes pas assez compétent pour évaluer votre propre compétence, et bien vous aurez forcément tendance à la surestimer : à croire par exemple que vous avez compris le gros d&#39;un sujet alors qu&#39;en fait vous en n&#39;êtes qu&#39;au début. Précisément parce que vous n&#39;avez aucune idée du chemin qui reste à parcourir.</p>
<h3 id="le-professeur-quantox">Le professeur Quantox</h3>
<p>Par exemple : si vous avez compris pour la toute première fois les rudiments de la mécanique quantique grâce aux vidéos du professeur Quantox qui se présente comme un très grand scientifique dont les travaux sur les cristaux quantiques sont rejetés parce qu&#39;ils révolutionnent trop les certitudes des autres scientifiques. Et bah, il y a fort à parier que beaucoup de gens qui sont novice penseront être suffisamment compétent que pour pouvoir affirmer que le professeur Quantox à raison : hein, par exemple en invoquant l&#39;histoire de Galilée (qui est d&#39;ailleurs une histoire mal comprise, on en reparlera) alors même qu&#39;ils n&#39;auront vu que les vidéos du professeur Quantox ce qui ne leur offre aucun recul sur l&#39;hypothèse des cristaux quantiques.</p>
<p>« <em>— Mais tais toi, les cristaux sont quantiques, mes travaux sont rejetés parce qu&#39;ils révolutionnent un peu trop les certitudes des autres scientifiques. Laissez moi maintenant vous apprendre la physique quantique.</em> »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/u2fAneaFIRhDQwU8SJ/giphy.gif" alt="Giphy">
</figure>

<p>En mélangeant ces hypothèses avec des choses vraies, il vous a transformé en défenseur de ses idées, il a opéré sur vous un transfert de connaissances mais aussi un transfert de méconnaissances.</p>
<p>« — Si vous apprenez tout d&#39;“un seul maître”, vous aurez “les mêmes torts” que lui. »</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-si-vous-apprenez-tout-d-un-seul-maitre-vous-aurez-les-memes-torts-que-lui.jpg" alt="Si vous apprenez tout d'un seul maître, vous aurez les mêmes torts que lui" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Si vous apprenez tout d'un seul maître, vous aurez les mêmes torts que lui <em>par Mr. Sam</em></a></figcaption>
</figure>



<h3 id="comment-ne-pas-tomber-dans-le-dk">Comment ne pas tomber dans le DK</h3>
<p>Pour vous rendre compte que vous n&#39;en êtes qu&#39;au début, et bien, il faut aller plus loin. Il faut en apprendre plus. Il faut aller à la rencontre de ce qu&#39;on ne sait pas et surtout ; il faut vérifier ce qu&#39;on croit savoir.</p>
<p>Et bon, évaluer soi-même ses propres connaissances ça se fait toujours à partir de nos propres connaissances. Il vaut mieux donc inclure l&#39;évaluation d&#39;autres personnes comme par exemple, ahem, se faire relire quand on est vulgarisateur...</p>
<p>C&#39;est le seul et unique moyen pour savoir à quel point on est un novice ou un connaisseur.</p>
<p>« — Donc quand on est mauvais, on ne le sait pas toujours. »</p>
<p>« — <em>Comme quand on pue de la gueule ?</em> »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/UN3wPuvXymkoHuMrHb/giphy-downsized-large.gif" alt="Giphy">
</figure>

<p>« — Ouais... euh... »</p>
<h3 id="je-ne-suis-pas-médecin-mais">Je ne suis pas médecin, mais...</h3>
<p>Et ça bah, ça explique qu&#39;il y ai un tout petit peu trop de gens qui se prennent pour des médecins par exemple : ils connaissent deux ou trois trucs grapillés à gauche à droite, ils brodent avec des hypothèses persos qui rendent tout ça vraisemblable sauf que leurs connaissances est incomplète, voir fausse : et il n&#39;est pas rare qu&#39;ils finissent par se convaincre —à force d&#39;être encensé par ceux qui ni connaissent absolument rien et qui ont été séduit par le discourt— que les dix années de médecine, au fond, hein, c&#39;est probablement du bourrage de crâne pour formater les cerveaux.</p>
<p>« — LOL »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/odOIJNJWm9ZYZxnpda/giphy.gif" alt="Giphy">
</figure>

<p>Et inversement, ça explique aussi, bon, en parti, le fait qu&#39;on voit de nombreux novices qualifier tel ou tel chercheur de très très grand scientifique comme le professeur Quantox, alors qu&#39;en fait, ils ont absolument pas les compétences pour savoir que cette personne est un grand scientifique.</p>
<h3 id="qui-es-tu-pour-oser-contredire">Qui es-tu pour oser contredire...</h3>
<p>Ça explique aussi pourquoi les vulgarisateurs, ou les YouTubeurs, comme moi, se prennent la sempiternel phrase : « qui es-tu pour oser contredire le professeur Quantox et ses travaux révolutionnaires sur la physique quantique ? »</p>
<p>Beh, et, je suis quelqu&#39;un qui peut vous retourner la question : « qui êtes-vous pour savoir que les travaux du professeur Quantox sont bel et bien révolutionnaires, que ses collègues de niveau équivalent ou supérieur qui le contre disent, bah c&#39;est eux qui on tord et pas le professeur Quantox ? Et d&#39;ailleurs, comment faites-vous pour évaluer que moi, je suis insuffisamment documenté sur la physique quantique, que pour pouvoir critiquer de façon constructive le professeur Quantox ?</p>
<p>« — <em>Mais tais toi...</em> »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/FYNiKmMZH7X1tLsmXd/giphy.gif" alt="Giphy">
</figure>

<p>Tout ça m&#39;évoque une citation que j&#39;aime beaucoup d&#39;Arturo Pérez Reverte.</p>
<h3 id="méfiez-vous-de-ceux-qui-nont-lu-quun-seul-livre">Méfiez-vous de ceux qui n&#39;ont lu qu&#39;un seul livre</h3>
<p>« — Méfiez-vous toujours de ceux qui ne lisent qu&#39;“un seul livre”. »</p>
<figure>
<img width="2400" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-mefiez-vous-toujours-de-ceux-qui-ne-lisent-qu-un-seul-livre.jpg" alt="Méfiez-vous toujours de ceux qui ne lisent qu'un seul livre" style="max-width: 2400px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">Méfiez-vous toujours de ceux qui ne lisent qu'un seul livre <em>par Mr. Sam</em></a></figcaption>
</figure>

<p>Ils ne peuvent pas concevoir que le professeur Quantox qui les a fait passer du statu d&#39;ignorant à celui de novice, en leur donnant la sensation d&#39;être un connaisseur, est en réalité une personne qui, non seulement, maitrise mal la physique quantique (si, si, dans mon exemple c&#39;est le cas) et propose des théories complètement aux fraises : comment feraient-ils pour s&#39;en rendre compte ? Impossible pour eux du coup de se rendre compte qu&#39;un simple vulgarisateur sur YouTube —je prends cet exemple tout à fait au hasard— est en réalité un meilleur connaisseur de la physique quantique que ne l&#39;est le professeur Quantox. Et l&#39;expérience nous montre que peu importe les diplômes, médailles, ou prix Nobel. Et ça, bah c&#39;est très chiant parce que ça arrive très très très souvent. Si ça se trouve, une de vos références préférées est un professeur Quantox... si ça se trouve, je suis un professeur Quantox.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/DjghJLNagKmq49Bqgj/giphy.gif" alt="Giphy">
</figure>



<h3 id="lexpérience-ne-fait-pas-lexpertise">L&#39;expérience ne fait pas l&#39;expertise</h3>
<p>Et cet effet peut aussi se manifester en proportion inverse de l&#39;expérience d&#39;un connaisseur : je vous explique. Par exemple, un des problèmes récurrent, par rapport aux diagnostiques des médecins : un médecin expérimenté qui se repose un peu trop sur ses acquis risque de faire un moins bon diagnostique qu&#39;un jeune médecin qui sera plus à jour avec les dernières découvertes. Donc on voit ici qu&#39;un médecin expérimenté peut en réalité être le novice : le novice des nouvelles avancées et qu&#39;un jeune médecin peu en réalité être le connaisseur des nouvelles avancées.</p>
<p>Ah ça retourne la montgolfière hein !</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/12UXUKg1XwvvRN5TU1/giphy.gif" alt="Giphy">
</figure>



<h3 id="le-dk-nexiste-pas">Le DK n&#39;existe pas</h3>
<p>Mais vous aurez remarqué que ça fait 10 minutes là que je parle de l&#39;effet de surévaluation, et pas vraiment du Dunning Kruger. Parce que vous savez, en fait, bah il y a beaucoup de raisons de penser que le Dunning Kruger n&#39;existe pas.</p>
<h3 id="régression-à-la-moyenne">Régression à la moyenne</h3>
<p>Et pour bien comprendre, on va parler d&#39;une autre illusion logique qui est très très peu connue : la régression à la moyenne.</p>
<p>Par exemple, il est tout à fait vrai de dire que les personnes de très très grande en taille on plutôt tendance à se mettre en couple avec des personnes moins grandes qu&#39;elles. Alors la dessus, bah on peut se mettre à chercher des explications : c&#39;est peut-être que parce que du fait de leur taille elles ont besoin de garder le contrôle ? Où bien que les personnes très très grandes on naturellement besoin de rester les plus grandes dans leur couple ? etc. etc. mais en réalité, rien de tout ça.</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/HRKeXEq2QeKtdw1ZRo/giphy.gif" alt="Giphy">
</figure>

<p>On néglige un fait tout à fait simple et banale : les personnes très très grandes, et bien c&#39;est une rareté statistique : c&#39;est beaucoup plus rare que les personnes de taille moyenne.</p>
<p>Et donc il est tout à fait logique que les personnes très très grandes étant rares ont tendance à régresser vers la moyenne : c.-à-d. se mettre en couple avec des personnes plus proches de la taille moyenne parce que ces personnes sont beaucoup plus nombreuses.</p>
<p>Ce n&#39;est pas toujours parce qu&#39;on est rare qu&#39;on va s&#39;entourer exclusivement et systématiquement de choses rares.</p>
<p>Et avec ce même effet, il est logique de douter qu&#39;on soit un connaisseur, puisque ceux-ci sont plus rare que les novices : aucun rapport donc avec la compétence ou la conscience de son propre niveau de compétence.</p>
<p>Je vais vous la faire autrement : comme nous avons tous tendance à nous évaluer par rapport à la moyenne, aux gens les plus nombreux sur un sujet donné : il est normal que les personnes situées aux extrêmes, plus rares, les fameux novices et les fameux connaisseurs, aient tendance à s&#39;identifier à la moyenne beaucoup plus nombreuse.</p>
<p>C&#39;est donc vraiment pas une question d&#39;arrogance d&#39;humilité, etc, etc. Ni même de compétence en fait.</p>
<h3 id="pratiquez-la-prudence-épistémique">Pratiquez la prudence épistémique</h3>
<p>Donc pour conclure parce que c&#39;est quand même pas rien, y a quand même un effet, soyez juste attentif entre la concordance entre votre niveau de certitude, votre niveau de conviction quand vous parlez d&#39;un truc et votre expérience réelle de ce sujet.</p>
<p>Autrement dit, vous devriez être inquiet de vous entendre parler avec conviction d&#39;un sujet que vous n&#39;avez majoritairement appris que d&#39;une seule personne. Ou sur lequel vous n&#39;avez lu que quelques articles, ou que vous avez découvert que très récemment : demandez vous si vous n&#39;êtes pas simplement un novice entrain de faire semblant d&#39;être un connaisseur.</p>
<p>Alors attention hein, si vous êtes novice, je ne dis pas de vous taire, mais ajouter un peu de prudence dans vos propos : osez les précautions oratoire, je sais pas moi, utilisez des termes comme : « d&#39;après ce que j&#39;ai compris », « je ne le jurerais pas, mais », ou encore « il se peut », « je crois », « je pense », « à vérifier, mais ». C&#39;est pas une faiblesse les précautions oratoires, c&#39;est même plutôt une grande force en fait.</p>
<h3 id="pourquoi-cet-ultracrépidarianisme">Pourquoi cet ultracrépidarianisme</h3>
<p>Je ne pouvais pas finir cet épisode sans parler de l&#39;ultracrépidarianisme cher à Éthienne Klein : </p>
<p>« — Pourquoi cet ultracrépidarianisme se désultracrépidarianiserait t-il ? t-il ? t-il ? t-il ? t-il ? tiltiltiltiltil... [incompréhensible] »</p>
<figure>
<img width="480" height="270" style="width: 100%; max-width: 480px;height: auto" src="https://media.giphy.com/media/zz6nekCa7nSIZHwIrE/giphy.gif" alt="Giphy">
</figure>

<p>Un phénomène qui se décrit simplement comme étant le comportement qui consiste à donner son avis sur des sujets pour lesquels on a pas de compétences crédibles ou démontrées. #JeNeSuisPasMédecinMais.</p>
<p>Bon alors euh, c&#39;est un nom compliqué, qui n&#39;est que descriptif. Il n&#39;y a pas d&#39;études derrières qui l&#39;a évalué pour savoir quand, comment et pourquoi se phénomène se produit : c&#39;est un petit peu de la frime linguistique, donc.</p>
<h3 id="témoignage-de-sceptique">Témoignage de sceptique</h3>
<p>Mais ça me permet de vous livrer un petit témoignage de sceptique.</p>
<p>En ce qui me concerne, sachez qu&#39;il n&#39;existe dans toute l&#39;histoire de cette chaine, aucun sujet, je dis bien, aucun sujet, que j&#39;ai traité et qui après avoir été intensément étudié, correspondait bel et bien à l&#39;idée que je m&#39;en faisais avant de l&#39;étudier : lorsque j&#39;étais novice.</p>
<p>« <em>— J&#39;ai appris la méthode Zététique à travers 183 comptes différents, je ne suis donc plus novice depuis longtemps, cette série de vidéo n&#39;a pas à me...</em> »</p>
<p>« — Attends, je peux te poser une question Skeptos ? »</p>
<p>« <em>— Oui.</em> »</p>
<p>« — Dans tes 183 comptes différents là, combien contiennent des informations qui dépassent la première page des résultats Google ? »</p>
<p>« <em>— 23.</em> »</p>
<p>« Hum, 23 quand même, pas mal, pas mal. Et globalement c&#39;était sur quel sujet ? »</p>
<p>« <em>— Les médecines alternatives...</em> »</p>
<p>« — Ah ouais... bah ouais... bah ouais. Ouais, faut dépasser Doctissimo, Top Santé Magasine, etc. C&#39;est mignon. C&#39;est mignon. »</p>
<h3 id="outro">Outro</h3>
<p>« — La “méthode Z” est ce que vous en ferez.</p>
<p>Vous pouvez en faire une arme pour “remporter les débats”, mais n&#39;espérez pas que “l&#39;autre change” subitement d&#39;avis.</p>
<p>Vous pouvez en faire un miroir pour “avoir moins tort”, mais apprêtez-vous à vivre dans un monde qui a beaucoup plus de “certitudes” que vous.</p>
<p>Vous pouvez en faire une bouée pour “aider les autres” à sortir de croyances toxiques, mais vous ne pourrez “forcer personne” à l&#39;utiliser.</p>
<p>La méthode Z est ce que vous en ferez, alors “prenez-en soin”. »</p>
<figure>
<img width="1784" height="1016" src="https://blog.lesieur.name/media/images/upload/methode-z-la-methode-z-est-ce-que-vous-en-ferez-alors-prenez-en-soin.jpg" alt="La méthode Z est ce que vous en ferez, alors prenez-en soin" style="max-width: 1784px; width: 100%; height: auto;">
<figcaption><a href="https://skeptikon.fr/videos/watch/j9DbF7ZtyPQTuRimRTBrnD" target="_blank">La méthode Z est ce que vous en ferez, alors prenez-en soin <em>par Mr. Sam</em></a></figcaption>
</figure>

<blockquote>
<div style="float: left;"><a href="https://blog.lesieur.name/les-contes-de-faits-pourquoi-les-faits-ne-suffisent-pas-a-convaincre/">&lt; Épisode 4</a></div><div style="text-align: right"><a href="https://blog.lesieur.name/le-telephone-narrable-l-obligatoire-mutation-des-informations/">Épisode 6 &gt;</a></div>
</blockquote>
<h2 id="à-propos-de-mr-sam">À propos de Mr. Sam</h2>
<blockquote>
<p>Si cet article basé sur la vidéo de <a href="https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg">Mr. Sam - Point d&#39;interrogation
</a> vous a plus, n&#39;hésitez pas à supporter son travail sur <a href="https://fr.tipeee.com/mrsam">Tipeee</a> pour avoir d&#39;autres vidéos !</p>
</blockquote>
]]></description>
            <link>https://blog.lesieur.name/j-essaie-de-quoi-je-parle-dunning-kruger-l-effet-qui-nous-fait-croire-qu-on-est-competent/</link>
            <guid isPermaLink="false">615969727704996a4bb60a87</guid>
            <category><![CDATA[Humour]]></category>
            <category><![CDATA[Ressources]]></category>
            <category><![CDATA[Bonnes Pratiques]]></category>
            <category><![CDATA[Zététique]]></category>
            <category><![CDATA[Astuces]]></category>
            <dc:creator><![CDATA[Bruno Lesieur]]></dc:creator>
            <pubDate>Sun, 03 Oct 2021 08:27:00 GMT</pubDate>
        </item>
    </channel>
</rss>