Abonnez-vous pour recevoir des notifications sur les nouveaux articles :

Rendez vos applications véritablement interactives grâce à Cloudflare Realtime et RealtimeKit

2025-04-09

Lecture: 7 min.
Cet article est également disponible en English, en 繁體中文, en Deutsch, en 日本語, en 한국어, en Español et en 简体中文.

Ces dernières années, nous avons vu des développeurs repousser les limites des possibilités qu'offre la communication en temps réel ; les outils dédiés au travail collaboratif, les grands groupes de visionnage en ligne et les cours de formation interactifs ont tous vu leur popularité exploser.

Nous utilisons de plus en plus l'IA au quotidien. Les interactions fondées sur du texte évoluent vers quelque chose de plus naturel : la voix et la vidéo. Lorsque les utilisateurs interagissent avec les applications et les outils créés par les développeurs à partir de l'IA, nos attentes sont élevées en matière de temps de réponse et de qualité de la connexion. Les applications complexes de l'IA reposent non seulement sur un outil unique, mais également sur une combinaison d'outils, souvent issus de fournisseurs différents, qui nécessite qu'un cloud bien connecté soit au milieu, afin d'assurer la coordination des différents outils basés sur l'IA.

Les développeurs se servent déjà de Workers, de Workers AI et de nos services WebRTC SFU et TURN pour créer des applications puissantes, sans devoir réfléchir à la coordination des services de traitement ou des services multimédias au plus près de leur utilisateur. Il est donc naturel qu'il existe une seule « région : Terre » pour les applications en temps réel.

Nous sommes heureux de vous présenter Cloudflare Realtime, une suite de produits qui contribueront à rendre vos applications véritablement interactives grâce à une expérience audio et vidéo en temps réel. Cloudflare Realtime réunit désormais nos services SFU, STUN et TURN, ainsi que le nouveau RealtimeKit.

Dites bonjour à RealtimeKit

RealtimeKit est un ensemble de SDK pour appareils mobiles (iOS, Android, React Native, Flutter), de SDK pour le web (React, Angular, Vanilla JS, WebComponents) et de services côté serveur (enregistrement, coordination, transcription) qui facilitent plus que jamais le développement des applications vocales, vidéo et IA en temps réel. RealtimeKit comprend également des composants d'interface utilisateur conçus pour créer rapidement des interfaces. 

L'incroyable équipe à l'origine de Dyte, une entreprise leader dans le domaine de l'écosystème en temps réel, a rejoint Cloudflare pour accélérer le développement de RealtimeKit. L'équipe de Dyte a passé des années à rendre les expériences en temps réel accessibles aux développeurs, quel que soit leur niveau de compétence ; elle disposait d'une compréhension approfondie du parcours des développeurs ; elle a construit des abstractions qui dissimulent la complexité de WebRTC, sans en altérer la puissance.

Déjà utilisateur des produits de Cloudflare, Dyte était un complément parfait à l'infrastructure en temps réel existante de Cloudflare, qui s'étend à plus de 300 villes dans le monde entier. L'entreprise a créé une couche d'expérience pour développeurs qui a rendu accessibles les fonctionnalités multimédias complexes. Nous sommes particulièrement enthousiastes à l'idée que leur équipe rejoigne Cloudflare, car nous aidons les développeurs à définir l'avenir de l'interaction avec l'utilisateur pour les applications en temps réel.

Les applications interactives ne devraient pas nécessiter une expertise WebRTC 

Pour de nombreux développeurs, ce qui commence par « ajoutons une vidéo de discussion » peut rapidement évoluer vers des semaines d’approfondissements techniques dans les protocoles WebSocket et WebRTC. Si nous sommes fortement convaincus du potentiel de WebRTC, nous sommes également conscients des difficultés qu'il implique lorsqu'il s'agit de développer pour la première fois. Le débogage des sessions WebRTC peut exiger des développeurs qu'ils apprennent de nouveaux concepts ésotériques, tels que la gestion des échecs des candidats ICE, les configurations de serveurs TURN et les problèmes de négociation SDP.

Les difficultés liées au tout premier développement d'une application WebRTC ne s'arrêtent pas là. La gestion des appareils ajoute une couche supplémentaire de complexité. L'incompatibilité entre les API des caméras et du microphone sur les navigateurs et les plateformes mobiles entraîne des comportements inattendus lors de la production. Chrome gère le changement de résolution d'une manière, Safari d'une et Android WebViews s'interrompt de manière particulièrement frustrante. Nous constatons régulièrement que des applications qui fonctionnent parfaitement dans les environnements de test subissent des défaillances mystérieuses lorsqu'elles sont déployées sur certains appareils ou navigateurs.

Les systèmes qui fonctionnent sans incident avec 5 utilisateurs de test s'effondrent sous la charge de 50 participants dans la réalité. L'adaptation de la bande passante s'essouffle, la gestion des connexions devient compliquée et le maintien d'une qualité constante dans diverses conditions de réseau s'avère pratiquement impossible sans une expertise spécialisée. 

Ce qui commence comme une simple fonctionnalité devient un projet de plusieurs mois nécessitant des ressources techniques subalternes pour résoudre des problèmes qui ne sont pas essentiels à votre activité.

Nous avons compris que nous devions étendre nos produits aux appareils client pour remédier à ces problèmes.

SDK RealtimeKit pour Kotlin, React Native, Swift, JavaScript et Flutter

RealtimeKit est notre boîte à outils permettant de développer des applications en temps réel, sans les complexités courantes liées au WebRTC. Le cœur de RealtimeKit est un ensemble de SDK multi-plateformes qui gèrent toutes les complexités mineures, de l'établissement de sessions et des autorisations multimédias à la traversée NAT et la gestion des connexions. Au lieu de passer des semaines à mettre en œuvre et à déboguer ces fondations, vous pouvez vous concentrer entièrement sur la création d'expériences uniques pour vos utilisateurs.

Les capacités d'enregistrement sont intégrées, ce qui élimine l'une des fonctionnalités les plus fréquemment demandées, mais difficiles à mettre en œuvre dans les applications en temps réel. Que vous ayez besoin de capturer des réunions pour assurer votre conformité, d'enregistrer des sessions de classe virtuelles pour les étudiants qui n'ont pas pu assister à l'événement ou de permettre aux créateurs de contenu d'archiver leurs flux, RealtimeKit gère l'ensemble du pipeline multimédia. Plus besoin de vous confronter aux API MediaRecorder ou de développer une infrastructure d'enregistrement personnalisée : cette solution fonctionne, tout simplement, et évolue aux côtés de votre base d'utilisateurs.

Nous avons également intégré des fonctionnalités d'IA vocale provenant de fournisseurs tels qu'Eleven-Labs directement dans la plateforme. L'ajout de participants IA aux conversations devient aussi simple que l'appel d'une fonction, et ouvre la voie à de tout nouveaux modèles d'interaction. Ces voix de l'IA opèrent avec la même faible latence que celle des participants humains (des dizaines de millisecondes sur l'ensemble de notre réseau mondial), créant des expériences véritablement synchrones, dans lesquelles l'IA et les humains conversent naturellement. Combinée à la capacité de RealtimeKit à évoluer pour atteindre des millions de participants simultanés, cette solution permet la création de catégories d'applications totalement nouvelles, qui n'étaient pas réalisables auparavant.

L'expérience des développeur

RealtimeKit se concentre sur ce que les développeurs veulent accomplir, plutôt que sur la manière dont fonctionnent les protocoles sous-jacents. Il suffit d'un appel d'API pour ajouter des participants ou activer l'enregistrement. Les SDK gèrent l'énumération des appareils, les demandes d'autorisation et le rendu de l'interface utilisateur sur l'ensemble des plateformes. En coulisses, nous résolvons les épineux problèmes de l’orchestration des médias et de la gestion des états, qui peuvent s’avérer difficiles à déboguer.

Nous travaillons silencieusement au lancement de Cloudflare RealtimeKit depuis des années. Dès le début, notre réseau mondial a été optimisé pour réduire au minimum la latence entre notre réseau et les utilisateurs finaux, et c'est là que la majorité des interruptions de réseau sont introduites.

Nous avons développé une unité de transmission sélective (Selective Forwarding Unit, SFU) qui achemine intelligemment les flux multimédias entre les participants, en ajustant la qualité de manière dynamique en fonction de l'état du réseau. Notre infrastructure TURN résout le problème complexe de la traversée NAT, permettant l'établissement de connexions fiables derrière des pare-feu. Avec Workers AI, nous avons intégré des capacités d'inférence à la périphérie du réseau, afin de réduire au minimum la latence lors des interactions soutenues par IA. Workers et Durable Objects ont fourni la couche de coordination de protocoles WebSocket nécessaire au maintien d'un état cohérent pour l'ensemble des participants.

Les services SFU et TURN sont désormais en disponibilité générale

Nous annonçons également la mise en disponibilité générale de nos services SFT et TURN pour les développeurs WebRTC qui ont besoin de davantage de contrôle et d'une intégration de bas niveau avec le réseau Cloudflare.

SFU prend désormais en charge la diffusion simultanée, une fonctionnalité très demandée. Siulcast permet aux développeurs de sélectionner des flux multimédias parmi plusieurs options, de manière similaire à la sélection du niveau de qualité d'une vidéo en ligne, mais pour WebRTC. Les utilisateurs dont les qualités de réseau sont différentes peuvent désormais bénéficier de différents niveaux de qualité, soit automatiquement définis par le SFU, soit sélectionnés manuellement.

Notre service TURN propose désormais des données analytiques avancées présentant des statistiques sur les indicateurs d'utilisation par région, par pays et par ville. Avec les identifiants personnalisés et les jetons révocables, le service TURN de Cloudflare offre une vision approfondie de l'utilisation et aide à éviter les abus.

Nos produits SFU et TURN continuent d'offrir l'un des moyens les plus abordables de développer des applications WebRTC à grande échelle, à 5 centimes par Go au-delà de 1 000 Go d'utilisation gratuite chaque mois.

Un partenariat avec Hugging Face pour garantir la fluidité des communications en temps réel basées sur l'IA

FastRTC est une bibliothèque Python légère de Hugging Face qui facilite la diffusion audio et vidéo en temps réel dans et depuis les modèles d'IA à l'aide de WebRTC. Les serveurs TURN constituent un élément essentiel de l'infrastructure WebRTC. Ils font en sorte que les flux de médias puissent se connecter de manière fiable à travers les pare-feu et les NAT. Pour les utilisateurs de FastRTC, la mise en place d'un serveur TURN distribué à l'échelle mondiale peut être complexe et coûteuse.  

Grâce à notre nouveau partenariat avec Hugging Face, les utilisateurs de FastRTC bénéficient désormais d'un accès gratuit au produit TURN Server de Cloudflare, qui leur assure une connectivité fiable dès la mise en service. Les développeurs disposent chaque mois de 10 Go de bande passante TURN avec un jeton d'accès Hugging Face : pas de configuration, pas de carte de paiement, pas de serveurs à gérer. À mesure que les projets se développent, ils peuvent facilement passer à un compte Cloudflare pour bénéficier d'une capacité supérieure et d'une offre gratuite plus importante.

Cette intégration permet aux développeurs de se concentrer sur la création d'interfaces vocales, de pipelines vidéo et d'applications multimodales, sans se préoccuper de la traversée NAT ou de la fiabilité du réseau. FastRTC simplifie le code et Cloudflare veille à ce qu'il fonctionne sur tous les fronts. Regardez ces démonstrations pour vous lancer.

Déployez des applications en temps réel basées sur l'IA en quelques jours seulement, plutôt qu'en quelques semaines

Avec RealtimeKit, les développeurs peuvent désormais mettre en œuvre des expériences complexes en temps réel, en quelques heures seulement. Les SDK font abstraction des aspects les plus chronophages du développement de WebRTC, tout en fournissant des API adaptées aux modèles de mise en œuvre courants. Voici quelques-unes de ces possibilités : 

  • Visioconférence : ajoutez des appels vidéo avec de multiples participants à votre application en quelques lignes de code seulement. RealtimeKit gère les connexions, l'adaptation de la bande passante et les autorisations des appareils, deux aspects qui consomment généralement des semaines de temps de développement.

  • Diffusion en direct: créez des émissions interactives permettant aux animateurs de diffuser en direct à des milliers de spectateurs, tout en faisant apparaître sélectivement les participants à l'écran. La SFU optimise automatiquement le routage des médias en fonction du rôle des participants et des conditions réseau.

  • Synchronisation en temps réel : mettez en place des sessions de visionnage en groupe ou des expériences de visionnage collaboratives au cours desquelles la lecture du contenu reste synchronisée pour tous les participants. L'API de synchronisation gère les calculs complexes de retards et les ajustements traditionnellement nécessaires.

  • Intégrations de la voix à l'IA : ajoutez des participants à la transcription et la voix IA sans avoir à mettre en place de pipelines médias personnalisés. Les API de traitement des médias de RealtimeKit s'intègrent à vos systèmes d'authentification et de stockage existants, sans nécessiter d'infrastructure distincte.

Lorsque nous avons vu nos premiers testeurs utiliser RealtimeKit, nous avons constaté que celui-ci ne se contente pas d'accélérer leurs projets existants, il modifie fondamentalement la sélection des projets qui deviennent viables. 

Bien démarrer avec RealtimeKit

À partir d'aujourd'hui, vous remarquerez une nouvelle section consacrée au temps réel dans votre tableau de bord Cloudflare. Cette section comporte nos produits TURN et SFU, ainsi que notre dernier produit, RealtimeKit. 

RealtimeKit est actuellement en version bêta fermée, prête pour une sélection de clients, qui pourront ainsi donner le coup d'envoi. Le test de la version bêta n'entraîne actuellement aucuns frais. Demandez un accès anticipé ici ou via le lien disponible dans votre tableau de bord Cloudflare. Nous sommes impatients de voir ce que vous allez développer.

Nous protégeons des réseaux d'entreprise entiers, aidons nos clients à développer efficacement des applications à l'échelle d'Internet, accélérons tous les sites web ou applications Internet, repoussons les attaques DDoS, tenons les pirates informatiques à distance et pouvons vous accompagner dans votre parcours d'adoption de l'architecture Zero Trust.

Accédez à 1.1.1.1 depuis n'importe quel appareil pour commencer à utiliser notre application gratuite, qui rend votre navigation Internet plus rapide et plus sûre.

Pour en apprendre davantage sur notre mission, à savoir contribuer à bâtir un Internet meilleur, cliquez ici. Si vous cherchez de nouvelles perspectives professionnelles, consultez nos postes vacants.
Developer WeekWebRTCCloudflare CallsTemps réelServeur TURN

Suivre sur X

Zaid Farooqui|@zaid
Will Allen|@williamallen
Cloudflare|@cloudflare

Publications associées