Concepts et principes fondamentaux

Comprendre les concepts fondamentaux

L’API C2C s’appuie sur plusieurs technologies essentielles que vous devez comprendre avant de vous lancer dans un projet d’intégration. Consultez les titres de cet article : si certains termes ne vous sont pas familiers, ce guide vous aidera à combler vos lacunes. Si vous rencontrez des difficultés avec des concepts spécifiques, notre équipe est disponible pour fournir des ressources et une assistance supplémentaires.

Ce que vous devez savoir

Pour intégrer avec succès l’API C2C, vous devez comprendre les bases des domaines suivants :

Mise en réseau

Protocoles TLS/SSL et TCP/IP, principes fondamentaux de la mise en réseau

HTTPS

Implémentation de requêtes HTTPS sécurisées

Authentification et autorisation

Méthodologies d’authentification et d’autorisation

Principes de base de la mise en réseau et glossaire

À la base, l’API Frame.io permet la communication entre les serveurs de Frame.io et votre appareil ou application, ce qui nécessite des interactions réseau pour chaque opération.

Une communication claire est essentielle dans toute relation, y compris entre les serveurs et les clients. De la même façon que des malentendus peuvent survenir dans les conversations quotidiennes, des difficultés similaires se présentent lorsque les ordinateurs échangent des informations.

Au-delà de la résolution des problèmes de communication courants, nous devons garantir la sécurité de la transmission des données sensibles. Frame.io impose le chiffrement de toutes les communications avec le serveur, renforçant ainsi la sécurité du processus.

Lors de l’implémentation de l’API C2C, vous utiliserez probablement des bibliothèques tierces pour gérer les détails de mise en réseau. Cependant, étant donné que les composants de mise en réseau génèrent souvent des erreurs réelles, comprendre les processus sous-jacents lors de l’interaction avec les serveurs de Frame.io est précieux. Voici un glossaire concis de la terminologie essentielle :

TCP/IP

Transmission Control Protocol / Internet Protocol : composants et couches normalisés qui permettent le transfert de données à l’échelle mondiale. Pour plus d’informations, nous recommandons cette ressource de haut niveau accessible.

TLS/SSL

Transport Layer Security / Secure Socket Layer : bien qu’ils soient techniquement différents, ces protocoles sont aujourd’hui couramment utilisés de manière interchangeable. Le protocole TLS représente l’évolution de SSL, bien que l’acronyme original reste largement utilisé. Pour plus d’informations sur TLS, consultez cette présentation.

Clés publiques et privées

Une clé publique fonctionne comme un verrou, tandis qu’une clé privée sert de clé correspondante.

Imaginez le scénario suivant : vous voulez envoyer un message confidentiel à un collègue tout en garantissant la confidentialité jusqu’à la livraison.

Commencez par demander à votre collègue de vous envoyer un verrou dont il est le seul à avoir la clé.

Une fois ce verrou reçu, utilisez-le pour sécuriser votre message confidentiel dans un conteneur. Bien que toute personne manipulant le conteneur puisse voir le verrou, seul votre collègue possède la clé pour accéder au contenu. Le verrou n’est d’aucun intérêt pour les personnes non autorisées qui tentent de voir le message. Même vous ne pouvez pas le déverrouiller sans la clé.

Lorsque votre collègue reçoit le conteneur sécurisé, il utilise simplement sa clé pour accéder au contenu.

Les clés publiques et privées fonctionnent de la même manière. Vous pouvez partager une clé publique largement. Les destinataires chiffrent les messages avec cette clé, mais seul le détenteur de la clé privée peut déchiffrer ces communications. Tant que la clé privée reste confidentielle, la clé publique ne peut pas être utilisée pour décoder les messages chiffrés qu’elle crée.

Ce mécanisme de clé publique/privée constitue le fondement de la fonctionnalité TLS, permettant aux parties de communiquer ouvertement tout en établissant des canaux sécurisés et privés.

Certificats

Les certificats contiennent des clés publiques et privées, authentifiées par des autorités de certification de confiance.

Lorsqu’une autorité de certification valide une clé, cela signifie qu’elle se porte garante de l’authenticité de la clé. Les destinataires d’une clé publique, comme une clé Google, peuvent vérifier cette approbation auprès des autorités de certification reconnues. Les clés non approuvées sont considérées comme potentiellement frauduleuses et déclenchent des alertes de sécurité.

Les certificats de Frame.io sont validés par l’autorité de certification Amazon Root CA 1. Ces certificats sont disponibles via diverses ressources, notamment la bibliothèque Certifi (utilisée par Mozilla et la bibliothèque Python Requests).

Pour l’implémentation, nous recommandons le référentiel GitHub Certifi et le lot de certificats au format PEM pour valider les requêtes HTTPS vers api.frame.io.

Serveur

Un ordinateur qui fournit ou stocke des informations pour d’autres ordinateurs. Lorsque vous accédez à Frame.io via un navigateur web, ce dernier demande du contenu au serveur de Frame.io, qui répond en conséquence. Chaque action dans Frame.io déclenche une communication entre votre navigateur et notre serveur, qui traite la demande et renvoie les résultats appropriés. Lors du chargement de médias vers Frame.io, ils sont envoyés vers nos serveurs.

Client

Une application cliente demande des informations à un serveur ou lui envoie des données. Lors de l’implémentation de l’API C2C, vous développerez un client C2C.

HTTP/S

Hypertext Transfer Protocol / Secure : fonctionne au sein de la couche applicative du modèle TCP/IP. La différence entre HTTP et HTTPS réside dans la sécurité : HTTPS incorpore la vérification TLS/SSL dans les communications réseau. Le protocole HTTP a évolué à travers diverses versions, établissant de nouvelles normes au fil du temps. La version 1.1 reste la norme mondiale et doit être utilisée pour les communications de l’API Frame.io.

API RESTful

REST (Representational State Transfer) est une méthodologie de conception permettant de développer des API basées sur les modèles requête-réponse HTTP. REST sert souvent de raccourci pour l’approche générale de l’utilisation du protocole HTTP pour l’interaction entre programmes, par opposition à la communication entre un navigateur et une page web, même lorsque l’API ne respecte pas strictement les principes REST.

JSON

JavaScript Object Notation : format d’échange de données standardisé. Bien qu’initialement développé pour les objets JavaScript, JSON est devenu une norme universelle pour les communications en réseau. L’API C2C fournit les réponses sous forme de données JSON.

AWS S3

Le Simple Storage Service d’Amazon fournit des solutions de stockage de données basées sur le cloud. S3 stocke les médias audio et vidéo de Frame.io et sert de destination pour les chargements d’intégration.

Requêtes HTTP/S

Le protocole HTTP est omniprésent dans la navigation web : il apparaît au début de presque toutes les adresses de sites web. HTTP (HyperText Transfer Protocol) établit des protocoles de communication standardisés d’ordinateur à ordinateur.

Vous pouvez considérer HTTP comme un système de formulaires standardisé pour les interactions entre le client et le serveur, semblable aux formulaires gouvernementaux requis pour les demandes d’informations ou des applications de programmes. Sans formulaires dûment remplis, les administrations publiques ne peuvent ni traiter les demandes ni y répondre.

Les requêtes HTTP simplifient toutes les interactions d’application Frame.io. Dans le cadre de l’API C2C, les types de requêtes HTTP représentent les capacités fonctionnelles disponibles.

Pour un aperçu complet du protocole HTTP, consultez cet article d’informations. Comprendre ces principes fondamentaux est essentiel pour pouvoir continuer. Si vous débutez avec les requêtes HTTP, n’hésitez pas à consulter des supports d’introduction. Pour une préparation optimale, familiarisez-vous avec les concepts HTTP suivants :

Composants d’URL
  • Protocole

  • Hôte

  • Port

  • Ressource

Éléments HTTP
  • En-têtes

  • Type de contenu/Type MIME

  • Payloads de requête et de réponse

  • Applications de verbes HTTP : GET, POST, PUT, DELETE, etc.

  • Données de formulaire

Bien que les bibliothèques de mise en réseau gèrent généralement la construction de requêtes, le protocole RFC HTTP/1.1 fournit une ressource de référence si nécessaire.

Authentification et autorisation

Nous explorerons ces concepts plus en détail par la suite, mais il est important de comprendre ces principes fondamentaux :

Authentification

L’authentification vérifie que les demandes proviennent de sources revendiquées. Lorsque vous vous connectez à des sites web avec des informations d’identification nom d’utilisateur/mot de passe, vous vous authentifiez en démontrant la connaissance du mot de passe. L’authentification à plusieurs facteurs, par exemple à l’aide de codes de vérification par SMS, constitue des mécanismes d’authentification supplémentaires.

Autorisation

Une autorisation confirme le droit d’effectuer certaines actions. Lorsque vous ajoutez des utilisateurs collaborateurs aux projets Frame.io ou aux documents Google, vous autorisez leur accès. Frame.io ou Google ont préalablement authentifié les identités de ces utilisateurs, ce qui vous permet d’autoriser leur participation en toute confiance.

OAuth

OAuth (de l’anglais Open Authorization, soit autorisation ouverte) offre un cadre normalisé pour la gestion des autorisations grâce à son intégration avec des services d’authentification tiers.

Portées

Les portées définissent les actions autorisées disponibles pour les utilisateurs. Lors de la connexion d’appareils à Frame.io, vous demandez et recevez des portées spécifiques qui autorisent des opérations particulières. Par exemple, la portée asset_create permet la création et le chargement de ressources. Conceptuellement, les portées fonctionnent comme des ensembles d’autorisations.

Étapes suivantes

Nous vous encourageons à contacter notre équipe pour toute question, puis à poursuivre avec la section suivante du guide. Nous nous réjouissons de vous aider dans vos efforts d’intégration.

Pour un aperçu technique, consultez le guide d’architecture d’intégration. Si vous ne l’avez pas encore fait, veuillez consulter le guide Implémentation C2C : configuration avant de continuer. Vous aurez besoin de l’élément access_token obtenu au cours du processus d’authentification et d’autorisation.