Informations essentielles sur les scripts Python à l'intention des utilisateurs

Obtenir des scripts

Les utilisateurs finaux doivent veiller à se procurer des scripts auprès de sources fiables.

  • Quelques scripts d'une importance fondamentale sont fournis avec le package principal de Siril et se trouvent dans le répertoire de données du système. Ils ont fait l'objet des mêmes tests que le reste de Siril, et l'équipe de développement traitera les rapports de bogues concernant ces scripts exactement de la même manière que ceux concernant n'importe quelle autre partie de Siril.

  • La version 1.4.0 introduit le dépôt de scripts. Nous essayons de maintenir une liste des scripts avec une brève description ici. Chacun peut soumettre des scripts à ce dépôt en créant un compte sur gitlab et en soumettant une demande de fusion. L'équipe de Siril fournira un contrôle basique afin que les scripts ne tentent rien de malveillant, mais nous n'acceptons aucune responsabilité quant au bon fonctionnement des scripts écrits par d'autres personnes et ne fournirons pas de support pour ceux-ci - l'auteur doit être contacté directement.

  • Les auteurs de scripts peuvent choisir de distribuer leurs scripts de manière indépendante, comme cela a été fait par le passé. C'est tout à fait acceptable : les scripts peuvent être téléchargés et ajoutés à un répertoire de scripts ou exécutés via l'éditeur de script depuis n'importe où sur le système de fichiers. Dans ce cas, l'équipe Siril n'a absolument rien à voir avec les scripts et ne peut même pas vous assurer qu'ils ne causeront aucun tort, alors assurez-vous de faire confiance à l'auteur.

  • Siril ne prend pas en charge la vérification automatique des scripts signés. En effet, la signature de script peut donner un faux sentiment de sécurité (« le script est signé, donc il ne peut rien faire de mal »). C'est faux : une signature de script indique seulement que le script a été signé par une personne particulière et n'a pas été modifié depuis. En d'autres termes, elle vérifie l'origine d'un script, mais ne dit rien sur son bon fonctionnement ou sa sécurité. Un script signé et vérifié pourrait quand même détruire vos données si c'est ce pour quoi il a été écrit ! Dans l'implémentation actuelle du scripting Python, la majorité des scripts sont distribués via le dépôt centralisé de scripts, auquel cas l'origine est connue et les scripts ont été soumis à un niveau de base de contrôle par l'équipe de développement avant d'être fusionnés. Certains scripts peuvent être distribués via d'autres canaux et téléchargés manuellement, et rien n'empêche un auteur de fournir une somme sha256 ou une signature .gpg pour les scripts distribués de cette manière - vous devrez simplement les vérifier manuellement après le téléchargement.

Résolution des problèmes courants

Le système de script python de Siril est assez complexe : beaucoup de choses se passent en coulisses, et tout cela est coordonné par une utilisation astucieuse d'un venv Python (« environnement virtuel »), qui garantit que le python utilisé par Siril est séparé de l'installation Python du système et potentiellement d'autres venvs pouvant être utilisés par d'autres logiciels. Cependant, il y a quelques points à connaître :

  • les venvs sont liés à une version spécifique de python. Cela signifie que si votre système passe (par exemple) de Python-3.12 à Python-3.13, le venv ne pointera plus vers le bon programme Python ou les bonnes bibliothèques de bytecode pour les modules compilés. Lorsque vous passez à une nouvelle version de Python, vous devez réinitialiser le venv de Siril.

  • les dépendances des scripts sont contrôlées à l'aide de pip et de l'archive pypi. C'est très efficace mais pas infaillible à 100 %, et dans de rares cas, vous pourriez constater qu'un problème de dépendance est survenu, causant un problème quelconque. Si vous rencontrez un problème inexpliqué avec un script que d'autres ne rencontrent pas, réinitialiser le venv peut le résoudre. (Et si vous trouvez une combinaison de scripts pouvant reproduire de manière répétée un problème de dépendance de ce type, veuillez le signaler comme un ticket sur le site gitlab de siril-scripts, car cela nous aidera à améliorer les conseils donnés aux auteurs de scripts.)

Resetting the venv is easy: go to Scripts ‣ Get Scripts and scroll down to the bottom. Here you will find a Reset venv button: clicking it will reset the venv and create a new one. After doing this, the next time you run a script it will need to reinstall its dependencies so the first startup will be a bit slower than usual (depending on network speed and whether any of the required modules are locally cached).