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.
1.4.0 introduces the Scripts repository. We try to keep a list of the scripts with a short description here. Anyone may submit scripts to this repository by making an account on gitlab and submitting a merge request. The Siril team will provide a basic level of scrutiny that the scripts are not attempting to do anything malicious, but we do not accept any responsibility for the correct functionality of scripts written by other people and will not provide support for them - the author should be contacted directly.
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.)
Réinitialiser le venv est facile : cliquez sur l'élément de menu Obtenir des scripts dans le menu Scripts et faites défiler jusqu'en bas. Vous y trouverez un bouton « Réinitialiser le venv » : cliquer dessus réinitialisera le venv et en créera un nouveau. Après cela, la prochaine fois que vous exécuterez un script, il devra réinstaller ses dépendances, donc le premier démarrage sera un peu plus lent que d'habitude (selon la vitesse du réseau et si l'un des modules requis est déjà mis en cache localement).