FAQ et dépannage
Les questions fréquentes et l'erreur que vous avez probablement sous les yeux en ce moment.
« Ça marchait sur mon ancien portable, maintenant protect/run échoue sur le nouveau »
Par défaut, un artefact chiffré est verrouillé sur la machine qui l'a créé — passer à une nouvelle machine ne déplace pas le verrou. Activez la nouvelle machine (cela se fait automatiquement à votre prochain protect/build) et rechiffrez depuis celle-ci. Si vous avez besoin qu'un même artefact tourne sur plusieurs machines que vous ne contrôlez pas à l'avance, utilisez plutôt un artefact portable — voir Chiffrer le code.
« VaultLockedError sur la machine même qui a créé l'artefact »
Cela signifie soit que l'identité de la machine a suffisamment changé pour ressembler à un autre appareil (réinstallation majeure de l'OS, certaines configurations de virtualisation/clonage), soit que le fichier de coffre local a été déplacé ou modifié. Voir Modèle de sécurité pour comprendre pourquoi MagicLock ne peut pas vous dire lequel des deux. Relancez magiclock activate pour re-provisionner la machine.
« Puis-je exécuter un .pya sans installer le SDK ? »
Vous avez besoin de magiclock installé pour l'exécuter (magiclock run app.pya) — mais rien de plus. Pas de compte, pas de connexion, pas de réseau. La personne qui exécute votre application livrée n'a besoin que du paquet installé, pas d'un compte chez vous.
« Un .pya produit sur Python 3.12 ne se charge pas sur 3.13 »
C'est attendu — voir la note de compatibilité dans la Référence de l'API. Relancez protect/build sur la nouvelle version de l'interpréteur plutôt que de transporter un même artefact à travers plusieurs versions de Python.
« Qu'arrive-t-il aux applications déjà livrées quand mon abonnement expire ? »
Le nouveau chiffrement cesse de fonctionner jusqu'au renouvellement — magiclock protect/build échouera avec une erreur d'abonnement. Les artefacts que vous avez déjà produits et livrés continuent de se déchiffrer et de s'exécuter exactement comme avant ; le déchiffrement ne vérifie jamais l'état de votre abonnement. Voir Compte et activation.
« Comment déprovisionner une machine perdue ou retirée du service ? »
magiclock deactivate # run on the machine itself, or via the account portalCela libère le siège et empêche cette machine de chiffrer quoi que ce soit de nouveau sous votre compte. Cela n'atteint pas les artefacts que cette machine a déjà produits — voir Compte et activation pour en comprendre la raison.
« La CI échoue avec NotLoggedInError / NotActivatedError »
La connexion interactive par navigateur ne fonctionne pas sur un runner sans interface. Générez un jeton depuis le portail de votre compte et passez-le de manière non interactive :
export MAGICLOCK_TOKEN=<token-from-your-account-portal>
magiclock protect app.pyVoir Compte et activation.
« protect/build échoue sans aucun réseau »
Vous disposez d'une fenêtre de grâce de 12 heures depuis votre dernière vérification réussie avant que le chiffrement ne soit bloqué — voir le tableau dans Compte et activation. Si aucune activation en ligne n'a jamais abouti, il n'y a aucune grâce sur laquelle vous appuyer ; connectez-vous une fois pour l'établir.
Toujours bloqué ?
Relancez la commande qui échoue avec --help pour connaître les options exactes disponibles (magiclock protect --help, etc.), ou contactez-nous via le canal de support du portail de votre compte.