Description du système ====================== Schéma ------ Pour bien comprendre la structure du système, quoi de mieux qu'un schéma. .. image:: ../../images/schema.png Comme vous pouvez le constater, votre thème sera constitué d'une fenêtre principale qui s'appelle dans le système **Application**. Il contient divers composants et un cadre dans lequel vont être placé tous les éléments du système qui sont nommés comme suit: **Launcher**, **Updater**, **Loading** et enfin **ConnectionLost**. Chaque élément du système à une fonction et un rôle que l'on va décrire un peu plus bas. Nous verrons plus tard dans la partie technique de la doc comment ils sont étiquettés et reconnus par le système pour ensuite être rempli de manière autonome sans que vous ayez à intervenir. Structure --------- Le système est composé de plusieurs éléments qui jouent un rôle important dans son fonctionnement. On retrouve au sommet de la pyramide, l'élément **Application** qui est le parent de tous les autres éléments comme présenté ci-dessous: Application -> Launcher -> Updater -> Loading -> ConnectionLost Application ^^^^^^^^^^^ **Application** étant le parent de tous les éléments, il gère leur l'affichage et les switch en fonction de leur rôle. Il représente d'ailleurs la fenêtre principale du thème. Launcher ^^^^^^^^ **Launcher** est un sous-élément de **Application**. Cet élément est un fourre-tout, c'est à dire qu'il contient absolument tout et rien comme par exemple les formulaires d'authentification, un certain nombre d'interface de plugins et j'en passe. Updater ^^^^^^^ **Updater** est un sous-élément de **Application**. C'est cet élément qui gère l'installation des fichiers du jeu et qu'une fois avoir tout installé, cède sa place à l'élément **Launcher**. Il peut toutefois être théoriquement exécuté en tâche de fond sans se distinguer des autres éléments en apparence via l'élément **Launcher** mais ce n'est pas le sujet de ce chapitre. Nous le verrons en détail plus tard dans la doc technique. Loading ^^^^^^^ **Loading** est un sous-élément de **Application**. Cet élément est optionnel et peu utile. Il peut donc ne peut être utilisé par le système. Il joue le rôle de médiateur entre les éléments de **Application**. C'est un loader. ConnectionLost ^^^^^^^^^^^^^^ **ConnectionLost** est un sous-élément de **Application**. Cet élément est également optionnel. Il gère l'affichage d'un décompteur qui s'affiche et prend le dessus sur les autres éléments que lorsque la connexion à internet est perdue.