Dernières actualités
Utiliser les blocs dans Rhino 8 : guide pas à pas pour les modèles architecturauxGuide MoGraph Cinema 4D : créer une scène avec Cloner, Fields et TracerCréer un prompt vidéo d’architecture avec Gemini Omni Flash : guide pas à pasGérer les scripts Python en toute sécurité dans Blender : paramètres et APIAivres présente les systèmes Vera Rubin NVL72 et HGX Rubin NVL8Rhino 8 : guide pratique de DupEdge et History pour extraire des arêtesComposants SketchUp : gérer efficacement les éléments répétésCréer des visuels d’architecture avec Nano Banana 2.1 : API et promptsCréation de contenu procédural avec Unreal Engine PCG : guide de démarrageAnalyser des vidéos d’architecture avec l’API Gemini : guide pas à pas
TutorielsBlender

Gérer les scripts Python en toute sécurité dans Blender : paramètres et API

Les scripts Python intégrés aux fichiers Blender peuvent servir au rigging et à l’automatisation, mais présentent aussi des risques de sécurité. Ce guide explique les paramètres d’exécution automatique et les bases de l’API des collections.

Espace de travail de visualisation architecturale organisé, avec un modèle d’intérieur regroupéImage IA
Image d’illustration générée par IA.Image : 3dsınıfı / FCA AI

En bref

  1. Par défaut, l’exécution automatique des scripts contenus dans les fichiers .blend est désactivée dans Blender.
  2. L’option Trusted Source du navigateur de fichiers permet de gérer l’autorisation d’exécution automatique fichier par fichier.
  3. Dans la ligne de commande, -y ou --enable-autoexec active l’exécution, tandis que -Y ou --disable-autoexec la désactive.
  4. Collection.objects.link() ajoute un objet à une collection ; unlink() l’en retire.

Ce que vous allez apprendre dans ce guide

Ajouter des scripts Python aux fichiers Blender peut s’avérer utile pour des tâches avancées comme le rigging et l’automatisation. Le rigging consiste à mettre en place les systèmes de contrôle et de mouvement d’un personnage ou d’un objet. Mais les scripts Python ne sont pas limités dans ce qu’ils peuvent faire au sein d’un fichier : exécuter un script provenant d’une source inconnue peut donc présenter un risque de sécurité.

Dans ce tutoriel, vous apprendrez à évaluer l’avertissement qui s’affiche à l’ouverture d’un fichier .blend, à gérer l’exécution automatique dans les paramètres généraux et au niveau du fichier, ainsi qu’à comprendre le rôle des options de ligne de commande. La dernière partie porte sur les relations entre collections et objets dans l’API Python de Blender. Ces étapes ne garantissent pas qu’un script est sûr : il faut évaluer avec soin sa provenance et l’autorisation de l’exécuter.

Prérequis et préparation

Ce guide s’appuie sur la documentation de Blender relative à la sécurité des scripts et sur la documentation de l’API Python de Blender. L’une des pages de l’API est intitulée Blender 5.2 Python API Documentation. Les sources ne précisent aucune exigence matérielle ni aucun prérequis lié à un compte utilisateur. Si vous utilisez une autre version de Blender, comparez l’utilisation de l’API avec la documentation de la version correspondante.

Avant de commencer, vérifiez la provenance du fichier et déterminez si l’exécution de ses scripts est nécessaire. La documentation de sécurité de Blender recommande de n’exécuter que les scripts dont la source est connue et fiable. Garder l’exécution automatique désactivée ne signifie pas que le fichier ne contient aucun code, ni qu’aucun code ne peut être exécuté à la suite d’une interaction de l’utilisateur.

Étape par étape : gérer les autorisations d’exécution des scripts

  1. Examinez l’avertissement affiché à l’ouverture du fichier. Blender peut afficher une boîte de dialogue lorsqu’un fichier contient un script dont l’exécution n’est pas autorisée. L’avertissement propose les options Allow Execution, qui autorise l’exécution des scripts, et Ignore, qui les ignore. Si la source du fichier n’est pas fiable, n’autorisez pas son exécution.

  2. Utilisez l’option Trusted Source pour chaque fichier. Dans le navigateur de fichiers de Blender, l’option Trusted Source permet de décider, fichier par fichier, si l’exécution automatique est autorisée. Vous pouvez ainsi évaluer chaque fichier séparément. Pour les fichiers ouverts sans passer par le navigateur de fichiers, il est important de vérifier le choix par défaut des paramètres généraux.

  3. Vérifiez le paramètre général d’exécution automatique. Lorsque l’option Auto Run Python Scripts des Preferences est activée, Trusted Source est cochée par défaut dans le navigateur de fichiers. Ce paramètre peut aussi autoriser l’exécution des scripts lorsque les fichiers sont chargés sans passer par le navigateur de fichiers. Il est possible d’exclure certains répertoires. La documentation donne en exemple une configuration où les chemins autres que le répertoire de téléchargement sont considérés comme fiables ; ne la prenez pas pour une règle générale adaptée à tous les environnements de travail.

  4. Tenez compte des différentes façons dont les scripts peuvent s’exécuter. Parmi les mécanismes d’exécution automatique mentionnés dans la documentation de Blender figurent les blocs de données Text dont l’option Register est activée, ainsi que les pilotes d’animation qui gèrent les valeurs au moyen d’expressions Python. D’autres mécanismes nécessitent une interaction de l’utilisateur, même si l’exécution automatique est désactivée : lancer manuellement un script dans le Text Editor et effectuer un rendu avec Freestyle, qui contrôle les styles de ligne à l’aide de scripts. Le seul paramètre d’exécution automatique ne suffit donc pas à comprendre tous les comportements du code présent dans un fichier.

  5. Distinguez les relations entre objets dans l’API des collections. Dans l’API Python de Blender, Collection.objects désigne les objets directement présents dans la collection concernée. La méthode link de cette interface ajoute un objet à la collection ; unlink l’en retire. Collection.all_objects inclut aussi les objets des collections enfants et est indiquée comme étant en lecture seule. Lorsque vous examinez ce que modifient les scripts, ne confondez pas ces deux périmètres.

  6. Choisissez délibérément l’option d’exécution en arrière-plan. Les options de la ligne de commande peuvent remplacer les paramètres de Blender Preferences. La documentation officielle donne l’exemple suivant pour autoriser l’exécution des pilotes et d’autres scripts lors du rendu d’une animation en arrière-plan :

bash
blender --background --enable-autoexec my_movie.blend --render-anim

L’option -y peut remplacer --enable-autoexec. Pour désactiver l’exécution automatique, utilisez --disable-autoexec ou -Y. Ces options ne dispensent pas d’évaluer la fiabilité du fichier à exécuter. En particulier, dans les flux de traitement automatisés, vérifiez quel fichier est ouvert et avec quelles autorisations.

Erreurs fréquentes

La première erreur consiste à croire que si l’exécution automatique est désactivée, aucun code ne peut s’exécuter dans le fichier. La documentation de Blender décrit aussi des mécanismes nécessitant une interaction de l’utilisateur, comme l’exécution manuelle d’un script dans le Text Editor ou un rendu avec Freestyle. La deuxième erreur est de considérer tous les répertoires comme fiables et d’activer Auto Run Python Scripts sans réfléchir. Fondez votre décision de confiance sur la provenance du fichier.

Ne confondez pas non plus les options d’activation et de désactivation dans la ligne de commande : -y et --enable-autoexec autorisent l’exécution automatique ; -Y et --disable-autoexec la désactivent. Autoriser l’exécution d’un fichier ne signifie pas que son code est fiable.

Lorsque vous travaillez avec des collections, distinguez également les objets qui leur sont directement liés de la liste qui comprend ceux des collections enfants. Collection.objects et Collection.all_objects ne désignent pas le même périmètre. Pour comprendre quels objets seront concernés, vérifiez cette différence dans la documentation de l’API lorsque vous examinez l’effet d’un script.

Conséquences pour les flux de travail en architecture, design d’intérieur et visualisation

La documentation de Blender ne rattache pas la sécurité des scripts à un usage particulier en architecture ou en design d’intérieur. Ce sujet mérite néanmoins d’être pris en compte dans les flux de visualisation où les fichiers Blender sont partagés entre équipes : vérifier la provenance d’un fichier, accorder l’autorisation d’exécution automatique en connaissance de cause et comprendre la portée des scripts qui modifient une scène sont autant de précautions utiles lorsqu’on travaille avec ces fichiers.

L’API des collections permet notamment de distinguer les objets lorsqu’on examine des scripts d’automatisation qui les organisent par groupes. Cependant, les sources ne détaillent aucun modèle de projet particulier, aucune compatibilité avec des extensions, aucune performance matérielle ni aucune condition de licence. Avant d’intégrer des scripts à un flux de travail, vérifiez donc la documentation de l’API correspondant à la version de Blender utilisée et n’exécutez du code que si sa source est fiable.

Étapes suivantes

Commencez par vérifier les paramètres par défaut d’Auto Run Python Scripts et la décision Trusted Source pour chaque fichier en fonction de votre organisation actuelle. Vérifiez ensuite si un avertissement d’exécution automatique apparaît pour le fichier sur lequel vous travaillez et par quels mécanismes les scripts peuvent être exécutés. Faites de la vérification de la provenance du fichier une étape du processus, au lieu de chercher simplement à contourner l’avertissement.

Lorsque vous examinez un script qui utilise des collections, distinguez les objets directement liés de ceux des collections enfants et confirmez l’opération requise dans la référence de l’API. La documentation de l’API Python de Blender comprend les sections Quickstart, API Overview et Best Practice. Elle peut être téléchargée pour une utilisation hors ligne. Ne choisissez une option d’exécution automatique dans la ligne de commande qu’après avoir évalué la fiabilité du fichier.

Sources et licence

Ce tutoriel a été traduit et adapté en turc à partir du document officiel de Blender Scripting & Security, des références CollectionObjects et Collection API, ainsi que de la documentation de l’API Python de Blender. Les sources sont sous licence CC BY-SA 4.0.

Sources

3 sources
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/manual/en/latest/advanced/scripting/security.html
Résumé
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.CollectionObjects.html
Résumé
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Collection.html
Résumé

Les textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.

L’avis de 3dsınıfı
3dL’analyse de la rédaction

Pour les agences d’architecture et les équipes de visualisation en Turquie, l’apport le plus concret de ce guide est de considérer la sécurité des fichiers en même temps que les décisions d’automatisation. Dans les fichiers Blender partagés au sein d’une équipe, vérifier la provenance et évaluer l’autorisation d’exécution automatique pour chaque fichier constituent des précautions faciles à intégrer au flux de travail.

Les sources ne mentionnent ni prix, ni exigences matérielles, ni gain de performances ; il n’est donc pas possible d’en déduire une réduction des coûts ou un gain de vitesse. Les étudiants et les équipes qui utilisent des scripts peuvent s’appuyer sur ce guide pour comprendre les bases de l’API des collections ; avant d’utiliser un script dans un projet, ils doivent toutefois vérifier séparément sa fiabilité et sa compatibilité avec la version utilisée.

Questions fréquentes

Les scripts Python s’exécutent-ils automatiquement par défaut dans Blender ?

Non. Selon la documentation de Blender, l’exécution automatique est désactivée par défaut. Il existe toutefois des mécanismes nécessitant une interaction de l’utilisateur, comme l’exécution manuelle d’un script ou un rendu avec Freestyle.

Comment gérer les autorisations des scripts dans les fichiers .blend avec Blender ?

À l’ouverture du fichier, l’avertissement permet d’autoriser l’exécution ou d’ignorer les scripts. L’option Trusted Source du navigateur de fichiers et le paramètre Auto Run Python Scripts des Preferences permettent également de gérer l’exécution automatique.

Comment ajouter un objet à une collection dans l’API Python de Blender ?

Collection.objects.link() ajoute un objet à la collection ; unlink() l’en retire. Collection.all_objects inclut aussi les objets des collections enfants et est en lecture seule.

Les commentaires et le forum sont en turc.Rejoindre la discussion
+

À lire aussi