Un script pour modifier la structure d'un projet ################################################ Nous allons ici créer un script qui modifie la structure d'un projet. Le projet ********* Le projet est principalement mis en évidence par le logiciel de cette façon : .. image:: images/projet.png On peut donc se demander comment accéder programmatiquement à un équivalent. La documentation pour le scripting ********************************** Pour cela on va se rendre sur `la documentation `_ et y recherche la mention d'un objet projet. La documentation sur l'objet projet *********************************** Cela va nous amener sur `la page `_ lié à l'objet javascript qui va nous servir d'interface. Cette page nous indique différents éléments : * les attributs de l'objet (ses propriétés propres), par exemple l'élément sélectionné dans le projet. * les méthodes de l'objet (les fonctions, le code exécutable lié à l'objet) .. admonition:: astuce Vous pouvez accéder à la liste des attributs et méthodes dans la barre latérale. .. image:: images/deployer-attributs.png :width: 200 .. image:: images/deployer-methodes.png :width: 200 Ajouter un nouvel élément ************************* La propriété items ================== On pourrait s'attendre à ce que la liste des méthodes comprennent une méthode pour ajouter de nouveaux éléments. Ce n'est pas le cas. On peut par contre remarquer dans les attributs une propriété **`items `_**. La classe ItemCollection object =============================== La propriété **items** est de type **`ItemCollection object `_**. On peut cliquer sur ce type pour, à nouveau, en avoir les attributs (0) et méthodes (2). Les méthodes de app.project.items ================================= Les éléments de classe ItemCollection ont deux méthodes : * addComp() * addFolder() Regardez la documentation associée ! Exercice ******** 1. Créez un fichier de script base.jsx et placez-le à l'emplacement approprié (vu dans ce support de cours) 2. Créez un script vous permettant de créer des dossiers et des compositions avec les noms et propriétés que vous aurez choisies 3. essayez d'imbriquer des dossiers ou de mettre des compositions dans des dossiers 4. il est aussi possible de modifier la couleur de l'item, essayez de trouver comment faire