Exodus SDK - Scène

Exodus SDK \ Documentation de l'Éditeur \ Modes d'Édition \ Scène

+ Exodus SDK

* Documentation de l'Éditeur
	+ Pour Commencer
		- Comment démarrer
		- Lancement de l'éditeur
		- Personnalisation du Exodus SDK
		- Fenêtre de visualisation 3D
		- Configuration de personnage du joueur
		- Placement des objets
	+ Modes d'Édition
		- Navigation
		- **Scène**
			* Barre d'outils (Éditeur)
				+ Principal
					- Outil Scène
						* Properties (Éditeur de niveau)
							+ Object
						* Level Errors
						* Selection Info
						* As Stats Info
						* Objects List
						* Entity List
							+ cover
							+ Decal
							+ dummy
							+ Edit Geom
							+ Effect
							+ Entity Objet
							+ env
								- env zone
								- env game
							+ Groups
							+ Helper
								- text
							+ HUD Object
							+ Lamp
							+ NPC Objet
								- NPC / Enemy
								- NPC / Friend
							+ patrol point
							+ Prefabs
							+ Proxy
							+ Restrictor
							+ static
								- lightmap
								- portal
								- sector
								- Static Baked
							+ Static Movable
							+ Static Prop
							+ Terrain
								- Decal (Terrain)
								- Rabbit Hole (Terrain)
								- Terrain Objet
							+ Visual Script Objet
							+ Wallmark Objet
							+ Weather Zone
							+ AI Objects
								- Obstacle Shape
								- Obstacle Area
						* Entity Filtrer
						* Exposed Properties
						* Vegetation Tool
						* Layers
						* Log
					- Outil
				+ Debug
				+ Utilitaires
					- Summary Info
				+ Entités (Barre d'outils)
				+ Optimiser
			* Utilitaires RMB
		- Modèle
			* Préréglage des matériaux
			* Fenêtres Modèles
				+ Properties Modèle
				+ Level Errors Modèle
				+ Selection Info Modèle
				+ AS Entity Stats
				+ Models List
				+ IK Chains
				+ Bone Parts
					- Ajouter des parties d'os aux PNJ
				+ Bone List
				+ Motions Modèle
				+ Materials Modèle
				+ Motion Bone Curve
				+ Model Explorer
			* Outils de Physique
			* Calcul AO Statique
			* Préréglage de Texture
			* Vertex Paint
		- Particules
			* Particle Tool
		- Flares
		- Éditeur de menu (IU en jeu)
	+ Outils de l'éditeur
		- Outil Terrain
		- Texture Editor
			* Select Texture
		- Material Editor
		- Color Animator
		- Sound Editor
			* Sounds
			* Schemes
			* Speech
			* Types
			* Effects
			* Music
			* Attenuations
		- Localization Manager
		- Foliage Manager
			* Foliage Painter
		- Weather Editor
		- Super Static Tool
		- Track Editor
	+ Éditeur VS
		- Fenêtres de l'éditeur VS
			* Fenêtre principale
			* Object List
			* Scripts
			* Add List
			* Properties (VS Editor)
			* Exposed
			* Debugger
			* All Blocks
			* Nodes
		- Blocs de l'éditeur VS
			* Actions
				+ activate-deactivate
				+ Engine
					- apply tpreset
					- clone
					- clone attaches
					- signal
					- swap model
				+ Entity (actions)
					- play
						* motion
						* motion control
						* motion ex
						* play particles
						* play particles ex
						* play sound
						* play sound ex
					- attach
					- attach vs
					- destroy
					- detach
					- hit (action)
					- model track
					- move
					- override-material
					- set aux value
					- set name
					- xz rotation mode
				+ human
					- active item
					- combat behaviour
				+ npc
					- auto interest group
					- cancel vs
					- choose priority target
					- cover anchor
					- cover group
					- cover task params
					- dispersion\_props
					- goto target
					- play cover path
					- play patrol path
					- queue params
				+ physics (actions)
					- p-force
					- set physics props
				+ play (actions)
					- coloranim
				+ player (actions)
					- lock camera
					- play camera-effect
					- set\_ammo
				+ toggle
				+ Zone (Actions)
					- type
			* Checker
				+ Entity
					- compare distance
					- has refs
					- height
					- is between
					- state
					- visible
				+ game material
			* Covers
				+ invisible
			* debug (VS blocks)
				+ text splash
			* Entities (VS Blocks)
				+ name
				+ player (ref)
				+ ref
				+ self
				+ Filters
					- is alive filter
					- weapon types filter
				+ labeled
				+ active weapon
			* Logic
				+ delay
				+ random
					- random (logic)
					- random-chooser
					- randomex
				+ chooser
				+ lockers
					- easy (lockers)
					- heavy (locker)
				+ select
					- select (logic)
				+ hub
				+ counter
					- counter (logic)
					- ref (counter)
					- sel
				+ switch
					- switch (logic)
				+ BOOL OPS
					- and-2
			* subscript
			* Trade
				+ purge slot
				+ take item
			* Triggers
				+ Engine (Triggers)
					- signal (trigger)
				+ Entity (Triggers)
					- after cloned
					- die
					- hit
					- orientation
					- use (triggers)
				+ Event
					- anim
					- camera-track
				+ Game
					- loaded
					- start
				+ npc (triggers)
					- active state
					- body posture
					- mental state
					- pass cover
					- weapon active state
				+ Player
					- active item (player)
					- binoculars
					- input
					- object is close
				+ vehicles (triggers)
					- check player
				+ Zone
					- generic
					- object (zone)
					- zone/player
				+ Zone Spec
					- generic (zone spec)
	+ Éditeur AS
		- Mode d'emploi de l'Éditeur AS
		- AS Blocks
			* chooser (AS)
				+ random (AS)
			* empty
				+ delta
				+ not\_delta
			* process
				+ blender
				+ bone part
				+ double
				+ filter
				+ fixed blender
				+ gesture\_redirect
				+ IKs
				+ multi\_blender
				+ signal\_blender
			* source
				+ cover\_motion
				+ gesture\_motion
				+ motion (AS)
				+ NN\_motion
				+ one bone motion
				+ param\_motion
				+ pausable\_motion
				+ signal\_motion
				+ subst\_motion
			* state (AS)
				+ detached state
				+ dg\_transition
				+ lock movement
				+ locomotion state
				+ param time transition
				+ placeholder
				+ placeholder
				+ redir
				+ ref (AS)
				+ state (state)
				+ transition
		- Fenêtre AS
			* Main window (AS Editor)
			* Properties (AS Editor)
			* Blocks
			* States
			* Params
			* Requests
			* Preview
			* Motions
			* Bookmarks
		- Debug AS
	+ Animation
		- Plugins
			* Installer des Plugins
				+ Maya (Install)
				+ Motion Builder (Install)
			* Fenêtre d'exportation par lots
				+ Maya
				+ Motion Builder
			* Exporter du contenu dynamique
				+ Maya (Export)
				+ Motion Builder (Export)
	+ Physics
		- Essentiel
			* Options PhysX pour les objets de jeu
		- Collision Groups
		- Joints
		- Advanced
			* Force Fields
			* Friction et restitution
			* Véhicules
				+ Vehicle Tuning Guide
					- Vehicle Telemetry
* Editor Pipeline and Tutorials
	+ Artificial Intelligence
		- Bait Reaction Design
		- Combat Tune
		- Monsters Mental States
		- Movement
		- NPC Combat
		- NPC Mental States
		- Sound AI Types
	+ Importer/Exporter du Contenu
		- Exporter un Modèle
		- Exporter des Textures
		- Importer un Prop statique
		- Importer des Audios
		- Importer des Textures
	+ Configuration du niveau
	+ Guide des petites interactions entre joueurs
	+ Guide des joueurs qui prend l'arme
* CLUF

# Vue d'ensemble

L'outil Scene (= Scène) est le principal outil que vous utiliserez lorsque vous travaillerez sur un niveau. Il sert principalement à ajouter et à manipuler toutes sortes d'objets à l'intérieur d'un niveau, depuis les PNJ et les armes jusqu'aux points de patrouille, aux restricteurs et aux proxys.

# Boutons de la barre d'outils

## Édition

Ces fonctions permettent de naviguer dans la fenêtre de visualisation et de placer, déplacer, mettre à l'échelle et faire pivoter des objets.

### **Modes de curseur:**

* Sélectionner (raccourci : **S**)
* Ajouter (raccourci : **A**)
* Déplacer (raccourci : **T** ou **W**)
* Rotation (raccourci : **E** ou **Y**)
* Échelle (raccourci : **R** ou **H**).

ⓘ *Comme le mode **Select** ne permet pas de déplacer, de faire pivoter ou de mettre à l'échelle les objets sélectionnés, il est **HAUTEMENT*** recommandé de continuer à appuyer sur la touche "**S**" de temps en temps lorsque vous vous déplacez dans la scène pour vous assurer que vous restez dans le mode **Select** lorsque vous ne transformez pas activement des objets - cela permet d'éviter les transformations aléatoires dues à des mis-cliques.
### **Modes de caméra**

* Caméra de jeu. Contrôles : ***maintenez SHIFT*** ou ***MMB*** + *WASD* + mouvement de la souris. Appuyez sur **Caps Lock** pour faire tomber la caméra au sol.
* Style de caméra Arcball (commandes : ***maintenez ALT***+***MMB***).

Les styles de caméra sont très importants pour naviguer dans le **Active Viewport / Active Window**. Vous pouvez consulter cette section pour plus de détails :

### **Contrôles du zoom**

* Zoom All. Zoom sur l'ensemble. Permet de zoomer sur tous les objets de la scène.
* Zoom Selected. Zoom sélectionné. (Raccourci : ***Home***). Zoom sur l'objet sélectionné.

### **Snap**

* Move Snap (accrochage au mouvement). Accroche l'objet à la grille pendant le déplacement. "Les touches ***[*** et ***]*** changent la taille de la grille. (Raccourci : **Alt+T**).
* Rotate Snap. Permet de fixer l'angle de rotation par incréments de cinq degrés. (Raccourci : **Alt+Y**).
* Mode pivot.

### **Aligner**

* Random align - Placement d'objets avec rotation et mise à l'échelle aléatoires (**Ctrl+T**).
* Edge Align. Alignement sur les bords - Lorsque l'option **Alignement sur les bords** est activée (cherchez le bouton **EA** dans la barre d'outils de la scène), l'alignement se fera sur les bords du polygone.
* Alignement normal.

### **Axe**

* Lorsque vous ne faites pas glisser l'axe directement, vous pouvez sélectionner l*axe actif* à appliquer lors du déplacement, de la rotation ou de la mise à l'échelle d'un objet (Raccourci : chiffres **4, 5, 6, 7, 8, 9, 0** sur le clavier).
* Sélectionnez le système de coordonnées à appliquer lors du déplacement, de la rotation ou de la mise à l'échelle d'un objet - **World**, **Local** ou **Screen** (Raccourcis : chiffres **1, 2, 3** sur le clavier).
* Sélectionner le préréglage de la fenêtre de visualisation (par rapport à l'objet sélectionné) à activer.

### **Ctrl + Shift + Fin pour déposer**

Ajout d'un raccourci modifié pour l'opération "Drop".

Vous pouvez effectuer un "Drop" normal en appuyant sur Ctrl + End. Cela permet d'accrocher l'objet au terrain situé en dessous.

En appuyant sur Ctrl + Shift + Fin, vous pouvez accrocher l'objet à la boîte de délimitation (point le plus bas).

Ceci est principalement utile pour "déposer" des objets avec des pivots libres ou des restricteurs, et pour éditer des geoms.

### **Vertex Snap Tool**

Vertex Snap (maintenir V lors de l'utilisation de l'outil scale). Accroche la contrainte/direction en fonction de la face sélectionnée.

### **Fin**

Le bouton Fin arrondira les valeurs de position des objets sélectionnés en fonction de la taille de la grille actuelle. Des coordonnées telles que 342.4659, 2.041057, -431.6833 seront arrondies à 342.500, 2.000, -431.700.

Modifier la taille de la grille par **[** et **]**

✓ Vous pouvez déplacer et faire pivoter les objets en surbrillance à l'aide des boutons fléchés.
**Raccourcis** :

* **Boutons fléchés** - faire glisser (tourner) ;
* **Page haut / Page bas** - monter/descendre l'objet le long de l'axe Y ;
* **Ctrl + [ ]** - augmenter/diminuer l'angle de rotation ;
* **[ ]** - taille de la grille.

### Visualisation et rendu

Mode de rendu (raccourci : **Shift+1-7**)

ⓘ Notez que vous devez **appuyer plusieurs fois sur chaque touche numérique** tout en **maintenant la touche Maj** pour passer d'une variante à l'autre de chaque mode de rendu.
* Rendu final (Shift + 1)
* -=Vérification PBR=- (Shift + 1,1)

Vérifiez votre matériau PBR - **Shift + 1, 1**. En général, si vous voyez du Rouge, l'albédo est mauvais. Si vous voyez du Vert, la brillance est mauvaise. Si vous voyez du Bleu, la réflectivité est mauvaise. Si vous voyez une autre couleur, cela signifie qu'il y a un mélange de problèmes et que ce matériau a besoin d'être retravaillé en profondeur. Les petites zones colorées ne sont pas mauvaises pour autant. Il faut qu'au moins 75 % de l'écran soit en PBR pur.

Les couleurs sont classées par ordre d'importance, R-G-B : Rouge = Énorme problème, Vert = Gros problème, Bleu = Petit problème.

* Qualité du rendu
* Mode d'exposition
* Multiplicateur d'exposition (0 = exposition neutre, -2 = la plus sombre, 2 = la plus lumineuse)
* Ignorer les portails (fonction spéciale de débogage, principalement utilisée pour travailler plus facilement avec les intérieurs)
* Ignorer les fantômes
* Mode de fil de forme (Régulier / Sur le dessus / Solide)
* Facteur de résolution (utilisez 2x pour une image plus claire, surtout si vous êtes un artiste ; utilisez 1/2x pour de meilleures performances)
* Mode Résolution / Rapport d'aspect (Raccourci : **Ctrl + /** pour définir la résolution par défaut).

### Bibliothèque

Cette section vous permet d'accéder à des éditeurs auxiliaires internes à petite échelle qui sont intégrés dans le Exodus SDK.

* Éditeur de textures (T)
* Éditeur de matériaux (M)
* Animateur de couleurs (C)
* Éditeur de son (S)
* Localisation (L)
* Armement
* Gestionnaire de feuillage (F)
* Éditeur de météo (W)
* Outil super statique (S)
* Éditeur de pistes (T)

### Windows

Cette section regroupe les fenêtres spécifiques disponibles dans le mode d'édition actuel (scène, navigation, modèle, etc.).

**Windows** - Ouvre une boîte de dialogue contextuelle avec une liste de toutes les fenêtres de l'outil de scène.

**Log (*<numéro>*)** - Accès à la fenêtre du journal des messages. Le nombre entre parenthèses indique le nombre actuel d'erreurs importantes trouvées. Le journal est également l'endroit où vous pouvez entrer les commandes de la console.

ⓘ Toutes les erreurs ne doivent pas être traitées par chaque développeur personnellement ; certaines doivent être traitées par vous, surtout si vous savez comment les corriger immédiatement, tandis que d'autres peuvent nécessiter d'être signalées aux services appropriés. Gardez cela à l'esprit lorsque vous interagissez avec le Log.

**SCRIPT** - Ouvre l'Éditeur VS

## Locations

Vous pouvez ajouter des signets pour faciliter la navigation dans la scène à l'aide de ces boutons :

* **+ :** pour ajouter un signet de lieu
* **- :** pour supprimer le signet de lieu actuellement sélectionné
* **↓ :** pour accéder à des options de navigation supplémentaires
* **Go to Pos...** **:** vous permet de spécifier l'emplacement manuellement, avec les coordonnées de position et de rotation de la caméra.
* **Go to Player :**: **vous déplace à l'endroit où se trouve le joueur actuel**
* **Go to Tag...** **:** vous permet de spécifier une capture d'écran qui contient les coordonnées dans son nom, et de vous déplacer à cet endroit.

Une manière plus efficace d'utiliser les captures d'écran comme signets d'emplacement serait la suivante :

1) Naviguez jusqu'à l'emplacement de la caméra où vous souhaitez enregistrer la capture d'écran, puis appuyez sur **F12**. La capture d'écran de l'emplacement sera sauvegardée dans **\temp\screenshots**.

2) Glissez-déposez la capture d'écran, **à condition qu'elle ait toujours son nom d'origine (un nom compliqué)**, directement dans la fenêtre de visualisation. Exodus SDK naviguera alors jusqu'à cet emplacement.

ⓘ Le partage et/ou le téléchargement de captures d'écran, créées dans Exodus SDK à l'aide de la touche F12, est un moyen rapide et efficace de communiquer les positions des caméras entre les membres d'équipe, qu'il s'agisse de programmeurs enquêtant sur un bug ou d'artistes décorant votre bac à sable de jeu, soigneusement conçu.

## Simulation de Jeu

* **To Game** - Démarrer le jeu. (Raccourci : **F5**).
* **To Game** **Sync** - Démarre le jeu et fait apparaître le joueur à la position actuelle de la caméra. (Raccourci : **F6**).
* **SIMULATE** - Démarre le jeu mais ne prend pas le contrôle du joueur, gardant le contrôle d'Exodus SDK (même chose qu'en utilisant la commande console **goto\_editor 1** de **To Game**). (Raccourci : **Shift+F5**).

ⓘ Notez que toutes les modifications apportées à la scène pendant le mode simulation (lorsque **SIMULER** est actif) ne resteront pas dans la scène une fois la simulation terminée. Il existe des techniques avancées utiles qui reposent sur cette fonctionnalité, mais nous les aborderons plus tard.

**!!!** N'oubliez pas que vous pouvez utiliser le raccourci **Ctrl + Esc** pour quitter le mode simulation/jeu.

* **Disable VS** - Désactive les scripts visuels.
* **Debug VS** - Active le débogage des scripts visuels.
* **Build** - Construit le contenu d'une carte actuellement ouverte. Le contenu est sauvegardé dans le cache et peut être exécuté à tout moment, mais si vous voulez voir ces changements dans la construction, vous devrez reconstruire le contenu à chaque fois que vous modifiez quelque chose sur la carte.
* **Run** - Exécute le niveau en mode MIXTE. Vous devez d'abord construire le niveau. Vous n'avez besoin de construire le niveau qu'une seule fois pour le faire fonctionner. Ce mode est utile pour tester les bugs de sauvegarde/chargement. Il est également plus optimisé que l'exécution du jeu à partir d'Exodus SDK, ce qui se traduit souvent par un meilleur framerate.
* **Run Here** - Identique à **Run**, mais le joueur apparaît à la position actuelle de la caméra.

## Entités / Objets à ajouter

Cette fenêtre contient la liste de tous les objets du jeu qui peuvent être placés dans la scène. En sélectionnant une entité dans la liste, vous pouvez basculer l'outil de scène en mode *Ajouter*, ce qui vous permet de placer l'objet dans la scène. Cette fenêtre est similaire à la fenêtre **Liste des entités**, sauf que vous pouvez placer les objets immédiatement, comme on peut le voir ici :

En haut du menu déroulant, les derniers types d'objets sélectionnés sont affichés. Après avoir redémarré Exodus SDK (à condition que le niveau ait été sauvegardé), le menu **Entités** affichera le dernier type d'objet sélectionné.

Vous pouvez également placer un objet du dernier type sélectionné (affiché dans le menu **Entités'*) dans la scène simplement en appuyant sur le bouton*** *A **(raccourci pour sélectionner le mode curseur "*****Add**") et en cliquant dans la fenêtre de visualisation :

## Groups

C'est là que sont effectuées les opérations spécifiques au groupe et aux préfabriqués.

* **Group** - Crée un groupe à partir des objets sélectionnés.
* **Ungroup** - Supprime tous les objets du groupe sélectionné et détruit ensuite le groupe lui-même.
* **Refresh** - Rafraîchit le groupe selon sa référence qui mène au fichier **.LUA** respectif situé dans le répertoire **contentgroups**.
* **Open** - Ouvre le groupe sélectionné afin que vous puissiez accéder aux objets qui s'y trouvent (Raccourci : **G** si le groupe sélectionné est actuellement **Fermé**).
* **Close** - Ferme le groupe sélectionné afin que vous puissiez accéder au groupe en tant qu'entité unique, ce qui est nécessaire avant d'utiliser **Exporter** (Raccourci : **G**, si le groupe sélectionné est actuellement **Ouvert**).

ⓘ *La touche de raccourci **G** fait basculer le statut du groupe entre **Open** et **Close**.*
* **Close All** - Ferme de force tous les groupes du niveau, y compris les groupes à l'intérieur d'autres groupes (c'est une opération très pratique avant d'utiliser **Export**).
* **Export** - Exporte le groupe courant vers un fichier de référence **.LUA** indépendant du niveau dans le répertoire **contentgroups** (utile pour les solutions typiques de gameplay comme les portes, les interrupteurs, les objets de butin, etc...).
* **Select by** - Sélectionne tous les groupes du niveau en fonction de leur référence **.LUA** ; utile pour repérer plusieurs groupes typiques et ensuite faire une manipulation de masse sur eux, par exemple en faisant tourner toutes les portes du niveau à l'envers.
* **Group Each** - Crée des groupes individuels à partir des objets sélectionnés, chaque objet étant le seul membre de son propre groupe.
* **Export Prefab** - Exporte le groupe actuel vers un préfabriqué indépendant du niveau **.LUA** dans le répertoire **Content Prefabs** ; utile pour les solutions typiques de gameplay telles que les portes, les interrupteurs, les objets de butin, etc.

ⓘ Nous avons beaucoup de préfabriqués et de groupes dans le jeu. Lorsque le joueur a franchi une partie d'un niveau et ne peut plus l'atteindre, nous utilisons un proxy pour détruire cette zone.
Il n'est pas possible d'attacher les préfabriqués et les groupes à quoi que ce soit, mais vous pouvez attacher les objets qui se trouvent à l'intérieur.

Dans la fenêtre **Objects List**, sélectionnez tous les objets à l'intérieur du prefab, comme vous le feriez pour sélectionner les objets à l'intérieur d'un groupe. Mettez votre proxy en surbrillance → **Clique RMB** → **Highlighted** → **Attach selected to proxy**.

Ça marche du tonnerre !

## Autres

* **Squint** - Applique un effet spécifique de flou de débogage à la fenêtre de visualisation ; son but est d'aider à évaluer la "lisibilité" de la conception du niveau et/ou du codage des couleurs.
* **Enable FOV** - Applique le multiplicateur FOV spécifié à la fenêtre de visualisation ; son but est d'aider à composer une scène conçue pour un FOV spécial, par exemple une cutscene spéciale ou un effet de jeu scénarisé.
* **Draw Entity Spheres** - Rend des sphères transparentes spéciales aux positions de tous les objets pour évaluer la densité des objets - à des fins d'optimisation.
* **Draw Entity Crosses** - Rend des croix de débogage spéciales aux positions de tous les objets pour évaluer la densité des objets - à des fins d'optimisation.
* **Cull Dist** - Si activé, la propriété **Cull Distance** des objets sera prise en compte, et ne rendra aucune **Entity Spheres** ou **Entity Crosses** située en dehors de la distance de Cull spécifiée - à des fins d'optimisation.
* **Player Collidable** - Peint la géométrie entière avec un shader spécifique avec lequel le personnage joueur peut entrer en collision - à des fins de débogage.
* **Deferred Object List** - Si cette option est activée, la fenêtre **Liste d'objets** ne sera pas rafraîchie lors de la sélection d'objets dans la fenêtre de visualisation, jusqu'à la prochaine fois que vous vous concentrez sur la fenêtre **Liste d'objets** manuellement - ceci est utile pour la performance lorsque vous travaillez sur des niveaux très complexes avec des centaines de milliers d'objets.

## *Lié à la page*

* Barre d'outils (Éditeur)
	+ Principal
		- Outil Scène
		- Outil
	+ Debug
	+ Utilitaires
	+ Entités (barre d'outils)
	+ Optimize
* Utilitaire RMB

**Exodus SDK © 2005-2023, 4A Games Limited. Développé par 4A Games®.**
4A Games® est une marque déposée, et 4A Games Limited, Exodus SDK et leurs logos respectifs sont des marques déposées de 4A Games Limited.

Publié par Deep Silver. Deep Silver est une division de PLAION GmbH, Autriche. Deep Silver et Plaion sont des marques déposées de PLAION GmbH.

Metro Exodus est inspiré des romans METRO 2033 et METRO 2034 de Dmitry Glukhovsky, best-sellers internationaux.

Toutes les autres marques, logos et droits d'auteur appartiennent à leurs propriétaires respectifs. Tous les droits sont réservés.

En utilisant ce site, en téléchargeant ou en utilisant le SDK Exodus ou le contenu connexe, vous acceptez d'être lié par les termes de l'accord de licence de l'utilisateur final.

CLUF