{"config":{"lang":["fr"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"algorithme/afficher-et-lire/","title":"Afficher et Lire","text":""},{"location":"algorithme/afficher-et-lire/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Afficher et Lire</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Types de donn\u00e9es, Les Variables</li> </ul>"},{"location":"algorithme/afficher-et-lire/#2-concept","title":"2. Concept","text":"<p>Un algorithme a besoin de communiquer avec l'ext\u00e9rieur : recevoir une donn\u00e9e et en montrer le r\u00e9sultat. Deux instructions de base assurent \u00e7a.</p> <p>Lire : r\u00e9cup\u00e8re une donn\u00e9e saisie par l'utilisateur et la stocke dans une variable d\u00e9j\u00e0 d\u00e9clar\u00e9e. La variable doit exister avant qu'on puisse lire dedans, avec le bon type pour ce qu'on attend de recevoir.</p> <p>Afficher : montre une valeur, un texte, ou une combinaison des deux. On peut afficher directement une variable, une cha\u00eene fixe, ou les concat\u00e9ner avec l'op\u00e9rateur +. Si la variable n'est pas d\u00e9j\u00e0 une cha\u00eene, il faut la convertir avec Cha\u00eene(...) avant de la concat\u00e9ner \u00e0 du texte.</p>"},{"location":"algorithme/afficher-et-lire/#3-illustration","title":"3. Illustration","text":"<pre><code>ALGORITHME Salutation\nVARIABLES\n    prenom : Cha\u00eene\n    age    : Entier\nD\u00c9BUT\n    Lire prenom\n    Lire age\n    Afficher \"Bonjour \" + prenom + \", tu as \" + Cha\u00eene(age) + \" ans.\"\nFIN\n</code></pre> <p>Avec prenom = \"Alice\" et age = 25, l'algorithme affiche : Bonjour Alice, tu as 25 ans.</p>"},{"location":"algorithme/afficher-et-lire/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Lire une donn\u00e9e dans une variable qui n'a pas \u00e9t\u00e9 d\u00e9clar\u00e9e au pr\u00e9alable, ou d\u00e9clar\u00e9e avec le mauvais type.</li> <li>Concat\u00e9ner une variable num\u00e9rique \u00e0 du texte sans la convertir d'abord avec Cha\u00eene(...), ce qui provoque une erreur ou un r\u00e9sultat inattendu selon le langage.</li> <li>Afficher une variable avant qu'elle ait \u00e9t\u00e9 lue ou initialis\u00e9e : elle ne contient encore rien d'utile \u00e0 ce moment-l\u00e0.</li> <li>Confondre le sens des deux instructions : Lire fait entrer une donn\u00e9e dans le programme, Afficher fait sortir un r\u00e9sultat vers l'utilisateur. Ce n'est jamais l'inverse.</li> </ul>"},{"location":"algorithme/casting/","title":"Casting (conversion de types)","text":""},{"location":"algorithme/casting/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Casting (conversion de types)</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Types de donn\u00e9es</li> </ul>"},{"location":"algorithme/casting/#2-concept","title":"2. Concept","text":"<p>Le casting consiste \u00e0 convertir une donn\u00e9e d'un type vers un autre, \u00e0 condition que cette conversion ait un sens. Convertir une cha\u00eene \"42\" en entier fonctionne, parce que le contenu repr\u00e9sente bien un nombre. Convertir une cha\u00eene \"bonjour\" en entier \u00e9choue, parce qu'il n'y a rien \u00e0 en tirer num\u00e9riquement.</p> <p>C'est une op\u00e9ration volontaire, jamais automatique : c'est celui qui \u00e9crit l'algorithme qui d\u00e9cide de convertir une donn\u00e9e, pas la machine qui devine.</p>"},{"location":"algorithme/casting/#3-illustration","title":"3. Illustration","text":"<pre><code>ALGORITHME Conversions\nVARIABLES\n    texte  : Cha\u00eene  \u2190 \"42\"\n    nombre : Entier\n    r\u00e9el   : R\u00e9el\nD\u00c9BUT\n    nombre \u2190 Entier(texte)    # \"42\"  \u2192 42\n    r\u00e9el   \u2190 R\u00e9el(nombre)     # 42    \u2192 42.0\n    texte  \u2190 Cha\u00eene(r\u00e9el)     # 42.0  \u2192 \"42.0\"\n    Afficher nombre + 1       # \u2192 43  (op\u00e9ration num\u00e9rique possible)\nFIN\n</code></pre>"},{"location":"algorithme/casting/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Tenter une conversion qui n'a pas de sens, par exemple Entier(\"bonjour\") : la machine ne peut pas deviner un nombre l\u00e0 o\u00f9 il n'y en a pas, et l'algorithme provoque une erreur.</li> <li>Convertir sans v\u00e9rifier d'abord que la donn\u00e9e source contient bien ce qu'on croit y trouver.</li> <li>Oublier de stocker le r\u00e9sultat de la conversion dans une variable : la conversion ne modifie rien toute seule, il faut r\u00e9cup\u00e9rer sa valeur.</li> </ul>"},{"location":"algorithme/conditions/","title":"Les Conditions","text":""},{"location":"algorithme/conditions/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Les Conditions</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Les Op\u00e9rateurs, Les Variables</li> </ul>"},{"location":"algorithme/conditions/#2-concept","title":"2. Concept","text":"<p>Une condition permet \u00e0 un algorithme de choisir un chemin d'ex\u00e9cution selon la valeur d'un test bool\u00e9en.</p> <p>SI ... ALORS ... SINON : la structure de base. Le bloc ALORS s'ex\u00e9cute si la condition est vraie, le bloc SINON s'ex\u00e9cute sinon.</p> <p>SINON SI : quand il y a plus de deux cas possibles, on cha\u00eene les conditions. Les conditions sont test\u00e9es de haut en bas, et l'algorithme s'arr\u00eate \u00e0 la premi\u00e8re qui est vraie. L'ordre compte : une condition large plac\u00e9e trop t\u00f4t dans la cha\u00eene emp\u00eache jamais d'atteindre les suivantes, m\u00eame si elles seraient plus pr\u00e9cises.</p> <p>Conditions imbriqu\u00e9es : un SI peut contenir un autre SI, pour des logiques plus fines. Attention, un SI ext\u00e9rieur qui \u00e9choue coupe court avant m\u00eame d'\u00e9valuer les conditions int\u00e9rieures : elles ne sont jamais atteintes, m\u00eame si elles auraient \u00e9t\u00e9 vraies.</p>"},{"location":"algorithme/conditions/#3-illustration","title":"3. Illustration","text":"<p>Deux cas simples, SI/SINON :</p> <pre><code>ALGORITHME Parit\u00e9\nVARIABLES\n    n : Entier\nD\u00c9BUT\n    Lire n\n    SI n MOD 2 = 0 ALORS\n        Afficher Cha\u00eene(n) + \" est pair.\"\n    SINON\n        Afficher Cha\u00eene(n) + \" est impair.\"\n    FIN SI\nFIN\n</code></pre> <p>Plusieurs cas, cha\u00eene de SINON SI :</p> <pre><code>ALGORITHME Note_mention\nVARIABLES\n    note    : R\u00e9el\n    mention : Cha\u00eene\nD\u00c9BUT\n    Lire note\n    SI note &gt;= 16 ALORS\n        mention \u2190 \"Tr\u00e8s bien\"\n    SINON SI note &gt;= 14 ALORS\n        mention \u2190 \"Bien\"\n    SINON SI note &gt;= 12 ALORS\n        mention \u2190 \"Assez bien\"\n    SINON SI note &gt;= 10 ALORS\n        mention \u2190 \"Passable\"\n    SINON\n        mention \u2190 \"Insuffisant\"\n    FIN SI\n    Afficher \"Mention : \" + mention\nFIN\n</code></pre> <p>Si \"note &gt;= 10\" avait \u00e9t\u00e9 plac\u00e9 en premier dans cette cha\u00eene, tous les \u00e9l\u00e8ves au-dessus de 10 recevraient \"Passable\", m\u00eame avec 18 : la premi\u00e8re condition vraie rencontr\u00e9e gagne, les suivantes ne sont jamais test\u00e9es.</p> <p>Conditions imbriqu\u00e9es :</p> <pre><code>ALGORITHME Acc\u00e8s_service\nVARIABLES\n    age      : Entier\n    a_compte : Bool\u00e9en\nD\u00c9BUT\n    Lire age\n    Lire a_compte\n    SI age &gt;= 18 ALORS\n        SI a_compte = VRAI ALORS\n            Afficher \"Acc\u00e8s complet\"\n        SINON\n            Afficher \"Cr\u00e9ez un compte pour acc\u00e9der\"\n        FIN SI\n    SINON\n        Afficher \"Acc\u00e8s interdit aux mineurs\"\n    FIN SI\nFIN\n</code></pre> <p>Avec age = 17 et a_compte = VRAI, le r\u00e9sultat est \"Acc\u00e8s interdit aux mineurs\" : le SI ext\u00e9rieur sur l'\u00e2ge \u00e9choue et coupe court, la v\u00e9rification du compte \u00e0 l'int\u00e9rieur n'est jamais atteinte.</p>"},{"location":"algorithme/conditions/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Mal ordonner une cha\u00eene de SINON SI : placer une condition large avant une condition pr\u00e9cise emp\u00eache cette derni\u00e8re d'\u00eatre jamais atteinte.</li> <li>Croire qu'une condition imbriqu\u00e9e sera \u00e9valu\u00e9e alors que la condition ext\u00e9rieure qui la contient a d\u00e9j\u00e0 \u00e9chou\u00e9 : elle ne sera jamais test\u00e9e.</li> <li>Oublier qu'une seule condition peut \u00eatre vraie \u00e0 la fois dans une cha\u00eene SI/SINON SI : ce n'est pas une liste de v\u00e9rifications ind\u00e9pendantes, c'est un choix unique.</li> </ul>"},{"location":"algorithme/les-variables/","title":"Les Variables","text":""},{"location":"algorithme/les-variables/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Les Variables</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Types de donn\u00e9es</li> </ul>"},{"location":"algorithme/les-variables/#2-concept","title":"2. Concept","text":"<p>Une variable est un emplacement m\u00e9moire nomm\u00e9, contenant une donn\u00e9e modifiable et utilisable. Elle a un nom, un type, et une valeur qui peut changer au fil du programme. C'est le nom qui permet de retrouver l'emplacement m\u00e9moire o\u00f9 la valeur est rang\u00e9e.</p> <p>Vocabulaire : - D\u00e9clarer une variable : cr\u00e9er et d\u00e9finir une variable avec un nom et un type. - Initialiser une variable : donner une premi\u00e8re valeur \u00e0 une variable d\u00e9j\u00e0 d\u00e9clar\u00e9e.</p> <p>Un bon nom de variable d\u00e9crit ce qu'elle contient : age, note_finale, points_de_vie. \u00c9viter des noms comme x, tmp2 ou a, sauf dans les boucles tr\u00e8s courtes : le code doit se lire comme du texte.</p>"},{"location":"algorithme/les-variables/#3-illustration","title":"3. Illustration","text":"<p>D\u00e9claration et affectation :</p> <pre><code>ALGORITHME Exemple_variables\nVARIABLES\n    age     : Entier\n    taille  : R\u00e9el\n    prenom  : Cha\u00eene\n    majeur  : Bool\u00e9en\nD\u00c9BUT\n    age    \u2190 25\n    taille \u2190 1.78\n    prenom \u2190 \"Alice\"\n    majeur \u2190 (age &gt;= 18)    # VRAI\n\n    Afficher prenom + \" a \" + Cha\u00eene(age) + \" ans.\"\n    # \u2192 Alice a 25 ans.\nFIN\n</code></pre> <p>Tracer les variables \u00e0 la main : technique essentielle pour d\u00e9boguer, on suit l'\u00e9volution de chaque variable \u00e9tape par \u00e9tape dans un tableau.</p> <pre><code>ALGORITHME \u00c9change\nVARIABLES\n    a, b, temp : Entiers\nD\u00c9BUT\n    a    \u2190 5\n    b    \u2190 3\n    temp \u2190 a\n    a    \u2190 b\n    b    \u2190 temp\n    Afficher a   # \u2192 3\n    Afficher b   # \u2192 5\nFIN\n</code></pre> \u00c9tape a b temp D\u00e9part ? ? ? a \u2190 5 5 ? ? b \u2190 3 5 3 ? temp \u2190 a 5 3 5 a \u2190 b 3 3 5 b \u2190 temp 3 5 5"},{"location":"algorithme/les-variables/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Mal nommer ses variables : A, B ou C au lieu de point_de_vie, force ou armure.</li> <li>Se tromper de type : en g\u00e9n\u00e9ral, mettre un nombre l\u00e0 o\u00f9 un entier suffirait (pour des points de vie), ou l'inverse, mettre un entier l\u00e0 o\u00f9 un nombre est obligatoire (un angle de rotation, par exemple).</li> <li>Oublier d'initialiser sa variable, c'est-\u00e0-dire ne jamais lui donner de valeur de d\u00e9part.</li> <li>Coder sans avoir trac\u00e9 son algorithme \u00e0 la main sur un exemple simple au pr\u00e9alable : ex\u00e9cuter mentalement, \u00e9tape par \u00e9tape, permet d'\u00e9viter la majorit\u00e9 des bugs avant m\u00eame d'avoir test\u00e9 le programme.</li> </ul>"},{"location":"algorithme/operateurs/","title":"Les Op\u00e9rateurs","text":""},{"location":"algorithme/operateurs/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Les Op\u00e9rateurs</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Types de donn\u00e9es</li> </ul>"},{"location":"algorithme/operateurs/#2-concept","title":"2. Concept","text":"<p>Un op\u00e9rateur permet de manipuler, comparer ou combiner des valeurs. Trois familles \u00e0 distinguer.</p> <p>Arithm\u00e9tiques : ils calculent une nouvelle valeur num\u00e9rique \u00e0 partir de deux nombres. Addition (+), soustraction (-), multiplication (*), division r\u00e9elle (/), division enti\u00e8re (DIV), reste ou modulo (MOD). Le modulo est particuli\u00e8rement utile : n MOD 2 = 0 signifie que n est pair, n MOD 3 = 0 signifie que n est divisible par 3.</p> <p>Comparaison : ils comparent deux valeurs et retournent toujours un bool\u00e9en, vrai ou faux. \u00c9gal (=), diff\u00e9rent (\u2260), inf\u00e9rieur strict (&lt;), inf\u00e9rieur ou \u00e9gal (&lt;=), sup\u00e9rieur strict (&gt;), sup\u00e9rieur ou \u00e9gal (&gt;=).</p> <p>Logiques : ils combinent plusieurs conditions (donc plusieurs bool\u00e9ens) en une seule expression. ET exige que les deux conditions soient vraies. OU accepte qu'une seule des deux le soit. NON inverse une valeur. Exemple : peut_conduire \u2190 (age &gt;= 18) ET (a_permis = VRAI).</p>"},{"location":"algorithme/operateurs/#3-illustration","title":"3. Illustration","text":"<p>Division r\u00e9elle et division enti\u00e8re, une confusion fr\u00e9quente :</p> <pre><code>7 / 2    \u2192 3.5   (division r\u00e9elle)\n7 DIV 2  \u2192 3     (division enti\u00e8re)\n7 MOD 2  \u2192 1     (reste de la division)\n</code></pre> <p>Table de v\u00e9rit\u00e9 ET :</p> A B A ET B VRAI VRAI VRAI VRAI FAUX FAUX FAUX VRAI FAUX FAUX FAUX FAUX <p>Table de v\u00e9rit\u00e9 OU :</p> A B A OU B VRAI VRAI VRAI VRAI FAUX VRAI FAUX VRAI VRAI FAUX FAUX FAUX"},{"location":"algorithme/operateurs/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Confondre / (division r\u00e9elle) et DIV (division enti\u00e8re) : utiliser / l\u00e0 o\u00f9 on attend un entier produit un r\u00e9sultat avec virgule inattendu.</li> <li>Oublier que les op\u00e9rateurs de comparaison retournent toujours un bool\u00e9en, jamais autre chose : (age &gt;= 18) n'est ni un nombre ni du texte, c'est vrai ou faux.</li> <li>Confondre ET et OU dans une condition combin\u00e9e : ET est plus restrictif (les deux doivent \u00eatre vrais), OU est plus permissif (un seul suffit). Inverser les deux change compl\u00e8tement le comportement de l'algorithme.</li> </ul>"},{"location":"algorithme/selon/","title":"SELON (Switch / Case)","text":""},{"location":"algorithme/selon/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : SELON (Switch / Case)</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Les Conditions</li> </ul>"},{"location":"algorithme/selon/#2-concept","title":"2. Concept","text":"<p>SELON est une structure alternative \u00e0 une cha\u00eene de SINON SI, utile quand on teste une seule et m\u00eame variable contre plusieurs valeurs fixes et discr\u00e8tes.</p> <p>SELON est adapt\u00e9 quand la comparaison porte sur des valeurs exactes (jour = 1, jour = 2...). Pour des comparaisons avec &lt;, &gt;, &gt;=, &lt;= ou des expressions plus complexes, SI reste n\u00e9cessaire : SELON ne sait comparer qu'\u00e0 des valeurs pr\u00e9cises, pas \u00e0 des plages.</p>"},{"location":"algorithme/selon/#3-illustration","title":"3. Illustration","text":"<pre><code>ALGORITHME Jour_semaine\nVARIABLES\n    jour : Entier\nD\u00c9BUT\n    Lire jour\n    SELON jour FAIRE\n        1 : Afficher \"Lundi\"\n        2 : Afficher \"Mardi\"\n        3 : Afficher \"Mercredi\"\n        4 : Afficher \"Jeudi\"\n        5 : Afficher \"Vendredi\"\n        6 : Afficher \"Samedi\"\n        7 : Afficher \"Dimanche\"\n        SINON : Afficher \"Num\u00e9ro de jour invalide (1-7)\"\n    FIN SELON\nFIN\n</code></pre>"},{"location":"algorithme/selon/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Essayer d'utiliser SELON pour une comparaison de plage (par exemple note &gt;= 10) : SELON ne compare qu'\u00e0 des valeurs exactes, ce cas reste du ressort de SI.</li> <li>Oublier la branche SINON par d\u00e9faut : sans elle, une valeur impr\u00e9vue n'est trait\u00e9e par aucun cas, et l'algorithme ne fait rien sans le signaler.</li> <li>Utiliser SELON sur une variable de type R\u00e9el : les valeurs \u00e0 virgule se comparent mal \u00e0 l'identique, SELON est pens\u00e9 pour des valeurs discr\u00e8tes (entiers, texte, cat\u00e9gories).</li> </ul>"},{"location":"algorithme/types-de-donnees/","title":"Types de donn\u00e9es","text":""},{"location":"algorithme/types-de-donnees/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Types de donn\u00e9es</li> <li>Domaine : Algorithme</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : Aucun</li> </ul>"},{"location":"algorithme/types-de-donnees/#2-concept","title":"2. Concept","text":"<p>Chaque donn\u00e9e a un type, qui d\u00e9termine comment la machine la stocke en m\u00e9moire et ce qu'on peut en faire avec elle.</p> <p>Types de base : - Entier : un nombre sans virgule. Exemples : 0, 42, -7, 1000. - R\u00e9el : un nombre avec virgule. Exemples : 3.14, -0.5, 2.0. - Bool\u00e9en : vrai ou faux uniquement, aucune autre valeur possible. - Caract\u00e8re : un seul symbole. Exemples : 'a', 'Z', '3', '!'. - Cha\u00eene : une suite de caract\u00e8res, autrement dit du texte. Exemples : \"Bonjour\", \"DreamToGo\".</p> <p>Le type n'est pas un d\u00e9tail administratif, il change le comportement des op\u00e9rations. La machine doit savoir avec quoi elle travaille pour interpr\u00e9ter une op\u00e9ration correctement.</p>"},{"location":"algorithme/types-de-donnees/#3-illustration","title":"3. Illustration","text":"<pre><code>5 + 3       \u2192 8       (addition d'entiers)\n\"5\" + \"3\"   \u2192 \"53\"     (concat\u00e9nation de cha\u00eenes)\n</code></pre> <p>M\u00eame op\u00e9rateur \"+\", deux r\u00e9sultats totalement diff\u00e9rents selon le type des op\u00e9randes.</p>"},{"location":"algorithme/types-de-donnees/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<ul> <li>Choisir le mauvais type pour une donn\u00e9e : c'est une source de bugs souvent difficile \u00e0 d\u00e9tecter, l'erreur ne se voit pas tout de suite.</li> <li>Confondre une op\u00e9ration num\u00e9rique et une op\u00e9ration sur du texte, notamment avec l'op\u00e9rateur \"+\" qui se comporte diff\u00e9remment selon le type.</li> <li>Oublier qu'un caract\u00e8re unique ('a') et une cha\u00eene d'un seul caract\u00e8re (\"a\") ne sont pas toujours interchangeables selon le langage.</li> </ul>"},{"location":"gestion-de-production/cycle-de-vie-projet/","title":"Cycle de vie d'un projet (JV/3D)","text":""},{"location":"gestion-de-production/cycle-de-vie-projet/#1-identite","title":"1. Identit\u00e9","text":"<ul> <li>Titre : Cycle de vie d'un projet JV/3D</li> <li>Domaine : Gestion de production</li> <li>Niveau : D\u00e9butant</li> <li>Pr\u00e9requis : aucun</li> </ul>"},{"location":"gestion-de-production/cycle-de-vie-projet/#2-concept","title":"2. Concept","text":"<p>Un projet traverse trois grandes phases.</p> <p>Pr\u00e9production : d\u00e9finition du projet, pitch, DA, lore, gameplay, LD global, boucle de feedback. Le tout formalis\u00e9 dans le GDD. Le p\u00e9rim\u00e8tre est d\u00e9coup\u00e9 en trois niveaux de priorit\u00e9 selon la m\u00e9thode MoSCoW (Must / Should / Could).</p> <p>Production : r\u00e9alisation du projet \u00e0 partir du GDD valid\u00e9. Le projet est d\u00e9coup\u00e9 en t\u00e2ches, et chaque t\u00e2che suit un cycle strict, fabrication puis livrable puis test, avant validation. Cela concerne aussi bien le gameplay que le LD ou l'int\u00e9gration d'assets ; les crit\u00e8res de test s'adaptent \u00e0 la nature de la t\u00e2che. Des jalons sont pos\u00e9s et respect\u00e9s, par exemple un Feature Lock : \u00e0 partir de cette date, plus aucune nouvelle m\u00e9canique de gameplay n'est ajout\u00e9e, seuls l'int\u00e9gration de contenu et le polish continuent.</p> <p>Postproduction : une fois la production termin\u00e9e, place au test global. On ne teste plus une t\u00e2che isol\u00e9e mais l'ensemble du jeu, en int\u00e9grant les retours des testeurs. Cette phase est d'autant plus l\u00e9g\u00e8re que les tests par t\u00e2che en Production ont \u00e9t\u00e9 rigoureux, elle ne rattrape pas ce qui aurait d\u00fb \u00eatre test\u00e9 plus t\u00f4t, elle valide les interactions entre syst\u00e8mes complets.</p> <p>Point cl\u00e9 : valider une t\u00e2che, c'est tester uniquement le p\u00e9rim\u00e8tre de cette t\u00e2che. Exemple : pour la t\u00e2che \"d\u00e9placement du personnage\", on teste le d\u00e9placement seul, pas les animations, pas le LD, uniquement le d\u00e9placement.</p>"},{"location":"gestion-de-production/cycle-de-vie-projet/#3-illustration","title":"3. Illustration","text":"<pre><code>flowchart LR\n    A[\"Pr\u00e9production&lt;br/&gt;GDD + scopes MoSCoW\"] --&gt; B[\"Production&lt;br/&gt;Fabrication + Polish&lt;br/&gt;(cycle fabrication \u2192 livrable \u2192 test par t\u00e2che)\"]\n    B --&gt;|\"Feature Lock : tests continus d\u00e8s ce jalon\"| B\n    B --&gt; C[\"Postproduction&lt;br/&gt;Test global\"]</code></pre>"},{"location":"gestion-de-production/cycle-de-vie-projet/#4-pieges-frequents","title":"4. Pi\u00e8ges fr\u00e9quents","text":"<p>Un projet est vivant, mais doit rester cadr\u00e9. Les deux pi\u00e8ges suivants semblent contradictoires, ils ne le sont pas. Ce qui distingue un ajustement sain d'un \u00e9chec de cadrage, c'est le d\u00e9clencheur du changement : ponctuel et cibl\u00e9, ou g\u00e9n\u00e9ralis\u00e9 et syst\u00e9matique.</p> <ul> <li>Ne tester qu'en phase de Postproduction.</li> <li>Confondre avancement budg\u00e9taire (temps pass\u00e9) et avancement r\u00e9el du projet (t\u00e2ches valid\u00e9es). C'est la source classique des d\u00e9rives budg\u00e9taires.</li> <li>Revenir en cours de Production sur l'ensemble des \u00e9l\u00e9ments de la Pr\u00e9production : signe que la Pr\u00e9production n'a pas \u00e9t\u00e9 correctement valid\u00e9e en amont.</li> <li>Refuser cat\u00e9goriquement de revenir sur un \u00e9l\u00e9ment pr\u00e9cis de la Pr\u00e9production : le GDD n'est pas grav\u00e9 dans le marbre, il doit rester capable d'int\u00e9grer une bonne id\u00e9e d\u00e9couverte en cours de route, \u00e0 condition que ce soit l'exception, pas la r\u00e8gle.</li> <li>Ne pas respecter les jalons : d\u00e9marrer la suite sans avoir valid\u00e9 les t\u00e2ches pr\u00e9c\u00e9dentes \"pour ne pas perdre de temps\".</li> </ul>"}]}