L'importance de l'initialisation et de l'autorisation

Étiquettes:

Présentation générale

Le programme pour développeurs Intel AppUp(SM) comprend un mécanisme d'autorisation qui garantit qu'une application a été achetée ou obtenue de manière légale via le centre Intel AppUp(SM). Il s'agit d'un processus dynamique de runtime qui autorise une application, lorsqu'elle démarre, à déterminer si l'utilisateur, ainsi que l'appareil en cours d'utilisation, sont bien autorisés à l'exécuter. Il existe également une phase d'initialisation qui doit être effectuée avant l'autorisation et qui configure la communication entre l'application et les composants Intel.

Agent client et infrastructure dorsale

Pour permettre à l'autorisation et aux autres fonctions d'infrastructure de s'effectuer, un agent client headless Intel existe sur l'appareil utilisé. Lorsque l'application tente d'initialiser les composants Intel et d'autoriser l'utilisateur, l'agent client intervient et, soit dessert lui-même la demande, soit convoie les demandes et les réponses entre l'infrastructure dorsale Intel et l'application. L'infrastructure dorsale est l'élément qui autorise ou refuse l'exécution de l'application. Cela se fait essentiellement par le suivi d'un ApplicationID et d'un UserID, identifiant l'appareil émetteur de la demande et déterminant ensuite si ces données correspondent. L'ApplicationID est un ID unique émis par Intel pour une application spécifique. L'ID est généré pendant la soumission de l'application. L'UserID et l'identification de la machine sont gérés en interne par l'infrastructure du programme pour développeurs Intel AppUp et ils ne sont pas exposés à l'application. Soit dit en passant, il existe, à des fins de débogage, un outil dans le SDK Intel AppUp™, Application Debug and Test Service (ADTS), qui émule l'agent client et se contente de retourner la réussite de l'initialisation et les appels de toute sorte du SDK.

Initialisation

La première chose à faire avant de tenter une autorisation ou d'utiliser n'importe quelle autre fonctionnalité du SDK Intel AppUp est d'initialiser l'agent du client Intel. Cela se fait de manières différentes selon le langage que vous avez choisi. Par exemple, dans C, un appel simple de méthode est effectué tandis que, dans le SDK C++/.NET*, l'initialisation se fait dans le constructeur. Lorsque la valeur retournée indique la réussite, l'exécution de l'application se poursuit. Cela dit, plusieurs états d'erreur peuvent exister, notamment l'absence de l'agent client Intel. Il est important de capturer un échec de tentative d'initialisation, de notifier l'utilisateur et de refaire une tentative ou de mettre fin à l'exécution de l'application. En fait, si vous ignorez, volontairement ou non, un échec d'initialisation, c'est vous qui échouerez, à l'épreuve de la validation par Intel. Pour plus de détails, reportez-vous au SDK Language Reference.

Autorisation

L'autorisation est la phase suivante du processus. Comme nous l'avons dit plus haut, l'autorisation est effectuée par l'application qui en appelle à l'agent client Intel, lequel, à son tour, contacte l'infrastructure dorsale Intel pour obtenir l'autorisation proprement dite. L'autorisation doit être effectuée chaque fois que l'application est exécutée. Une fois que l'autorisation a réussi, il n'est pas nécessaire de la retenter ou de la revérifier au cours de la même exécution, une seule fois est suffisante. La manière dont cela s'effectue en détail est propre au langage employé. Dans le cas d'une application C, un appel est effectué à la méthode ADP_IsAuthorized. Dans le SDK C++/.NET*, l'autorisation se produit automatiquement dans la construction de votre objet Application. Vous appelez ensuite GetAuthorizationStatus pour obtenir le résultat. Pour plus de détails concernant les deux cas, reportez-vous au SDK Language Reference. Au terme de la procédure d'autorisation, plusieurs états sont possibles : l'application est autorisée à s'exécuter ; l'application n'est pas autorisée à s'exécuter ; une ou plusieurs erreurs se sont produites. Si l'autorisation a été accordée à l'application, l'exécution de celle-ci peut se poursuivre, que ce soit en appelant d'autres méthodes du programme pour développeurs Intel AppUp ou par le flux normal du programme. Dans ce cas, il n'est pas nécessaire de notifier l'utilisateur. Si l'autorisation est refusée à l'application, l'utilisateur doit en être avisé et mettre fin à l'exécution de l'application. Si l'un des différents états d'erreur a été rencontré, vous devez notifier l'utilisateur, tenter de résoudre l'état et refaire une tentative. Si l'état d'erreur s'avère impossible à résoudre, l'exécution de l'application doit être interrompue. Il est important de capturer un état de non-autorisation ou d'erreur et d'agir de la manière appropriée. En fait, si vous tentez de poursuivre l'exécution de l'application sans résoudre l'un de ces états, l'application échouera à la validation par Intel.

Cas spéciaux

Composants

Nous avons un cas spécial d'autorisation avec ces composants. Dans le contexte du programme pour développeurs Intel AppUp, les composants sont des bibliothèques de code utile, mais ils ne constituent pas une application en eux-mêmes. Ils sont distribués dans le cadre du programme pour développeurs Intel AppUp aux autres développeurs qui peuvent les inclure dans leurs propres applications. Les composants constituant des entités indépendantes pouvant être achetées doivent eux aussi passer l'épreuve de l'autorisation. Vous pouvez vous représenter de la manière suivante la différence entre l'autorisation des applications et celles des composants : autoriser une application consiste à demander si l'utilisateur et son appareil sont autorisés à exécuter l'application, tandis qu'autoriser un composant consiste à demander si l'application est autorisée à utiliser ce composant. Cette différence mise à part, le processus d'autorisation des composants est identique à celui des applications. Il existe des différences dans les noms des méthodes et dans les valeurs retournées, qui sont détaillées dans le SDK Language Reference.

Applications code source libre

Le projet code source libre est un autre cas particulier. Dans la plupart des cas, aucune autorisation n'est requise. Cela est logique si l'on considère le fait que l'ApplicationID, sur lequel repose la sécurité, serait exposée au monde entier et de ce fait, totalement inefficace. Mais il existe un cas notable : celui d'une application code source libre qui utilise un composant propriétaire. À l'heure actuelle, ce cas n'est pas pris en charge en raison des problèmes affectant l'autorisation. En général, pour être validés, les projets code source libre ne sont pas tenus d'intégrer le SDK Intel AppUp et l'utilisation du SDK est facultative ; elle dépend des objectifs de chaque projet.

Conclusion

Dans le programme pour développeurs Intel AppUp, l'initialisation et l'autorisation sont des fonctionnalités importantes de « housekeeping » faciles à exécuter. Bien comprendre et correctement mettre en œuvre les concepts architecturaux exposés ci-dessus permettront à votre application de non seulement réussir la validation par Intel, mais également de protéger les contrats de licence et d'utilisation entre l'utilisateur, votre société et Intel. Pour des informations complémentaires et pour plus de détails, reportez-vous au site Web du programme pour développeurs Intel AppUp http://appdeveloper.intel.com/fr-fr/ et au site Web Intel AppUp http://www.appup.com/applications/index.

Reportez-vous à notre Notice d'optimisation pour plus d'informations sur les choix et l'optimisation des performances dans les produits logiciels Intel.