Sur cette page

Réseau et connectivité

Qt fournit des modules pour la communication réseau, l'intégration Web et la connectivité des périphériques. Vous pouvez déployer des applications en réseau sur plusieurs plateformes et périphériques.

Communiquer sur un réseau avec Qt Network

Le Qt Network module fournit les principales API réseau de Qt Network. Son API C++ permet aux applications d’utiliser les capacités réseau natives du système d’exploitation de manière sûre et efficace. Vous pouvez utiliser Qt dans divers scénarios, tels que l'envoi et la réception de données via des sockets TCP ou UDP, l'exécution de requêtes HTTP/HTTPS pour des API REST ou des services Web, le téléchargement et le chargement de fichiers, la gestion des proxys et de l'authentification, ainsi que l'établissement de connexions sécurisées à l'aide de SSL/TLS.

Pour plus d’informations, consultez la présentation « Programmation réseau avec Qt Network ».

Accès aux ressources depuis QML

Les types QML peuvent charger des ressources à partir d’URL. Ces ressources peuvent être des images, des fichiers texte, des fichiers source ou d’autres types de fichiers. Cela permet de simplifier la connexion à différentes sources de données. Pour plus d’informations, consultez la présentation « Chargement des ressources et transparence réseau ».

Vous pouvez également utiliser XMLHttpRequest dans le JavaScript de QML pour exécuter des fonctionnalités client HTTP, telles que l’envoi de données de formulaire ou le chargement asynchrone de données depuis un serveur.

Communication via WebSockets

Qt WebSockets fournit des fonctionnalités WebSocket aux applications Qt. Le protocole WebSocket est destiné à la communication client-serveur nécessitant des connexions en temps réel, persistantes et entièrement asynchrones. Par rapport au protocole HTTP, WebSocket offre une latence réduite et un débit plus élevé. WebSocket utilise une requête GET HTTP 1.1 pour la procédure d’établissement de connexion initiale, mais le format des paquets est différent.

Parmi les applications tirant parti des WebSockets, on peut citer les flux de données des marchés financiers et les services de messagerie. Pour des exemples, consultez la page d’exemples «Qt WebSockets ».

Exécution de services Web

Le Qt HTTP Server module fournit des classes permettant de développer des services web sur un réseau. Qt HTTP Server prend en charge les protocoles HTTP/1.1 et HTTP/2 et offre des fonctionnalités de routage pour la création d’API RESTful.

Le module Qt OpenAPI génère du code client HTTP Qt à partir de fichiers de spécification OpenAPI. Il utilise les API RESTful d’ Qt Network, telles que QRestAccessManager, pour créer des clients C++ à sécurité de types pour les services REST.

Remarque : Qt OpenAPI est en phase de préversion technologique.

Intégration de contenu Web dans les applications Qt

Qt WebEngine offre un rendu de contenu Web basé sur Chromium avec intégration à d’autres modules Qt. Vous pouvez utiliser Qt WebEngine pour intégrer le moteur de rendu de Chromium et traiter du contenu Web dans votre application Qt. Qt WebEngine prend en charge HTML5, WebGL et d’autres fonctionnalités de Chromium. Pour obtenir la liste des fonctionnalités d’ Qt WebEngine, consultez la page Fonctionnalités d’Qt WebEngine .

Qt WebChannel permet d’intégrer du contenu JavaScript dans votre application Qt. Utilisez QWebChannel pour exposer des objets C++ dans votre application et utilisez une bibliothèque JavaScript pour accéder à ces objets depuis votre client Web. Les objets, propriétés et signaux Qt sont alors accessibles depuis un objet QWebChannel en JavaScript. Qt WebChannel utilise les WebSockets et fonctionne au sein de Qt WebEngine.

Qt WebView est une vue Web légère qui affiche du contenu Web dans votre application. Elle repose sur la vue Web native de la plateforme.

Connexion sans fil via Bluetooth et NFC

Bluetooth est une norme technologique sans fil permettant l’échange de données sur de courtes distances. Le Bluetooth est courant dans les appareils grand public et les versions plus récentes incluent des appareils Bluetooth Low Energy (BLE) dotés de mesures de sécurité renforcées. Grâce au Qt Bluetooth module, vous pouvez rechercher des appareils Bluetooth, vous y connecter et échanger des données. Qt Bluetooth prend en charge à la fois les appareils Classic et BLE. Pour plus d’informations, consultez la présentation d’Qt Bluetooth .

La communication en champ proche (NFC) est une technologie sans fil à courte portée caractérisée par un faible débit de données et une faible consommation d’énergie. La NFC est idéale pour transférer de petits paquets de données lorsque deux appareils sont proches l’un de l’autre. Utilisez le Qt NFC module et son API pour établir une connexion entre des appareils compatibles NFC.

Communication via des bus et des ports série

Qt propose deux modules pour communiquer via des bus et des ports série. Qt Serial Bus fournit une interface vers divers bus et protocoles série industriels, tels que le bus CAN et ModBus. Qt Serial Port fournit une interface pour les brochages RS-232, notamment la configuration, les opérations d’E/S, ainsi que les opérations de lecture et d’écriture des signaux de contrôle.

Communication via des protocoles et services de haut niveau

Plusieurs modules Qt sont destinés à la communication réseau de haut niveau et à la communication interprocessus (IPC). La prise en charge des protocoles industriels Machine-to-Machine (M2M) et des petits systèmes IoT est également assurée. Il existe par exemple des modules Qt pour D-Bus, gRPC, MQTT et CoAP.

Pour plus d’informations, consultez la page Communication interprocessus dans Qt.

Sécurisation des applications en réseau

Pour les appareils en réseau et connectés, tenez compte des considérations de sécurité. Mettez en œuvre des mesures de sécurité robustes et concevez vos applications de manière à protéger vos utilisateurs, leurs données et vos systèmes en réseau.

Voici quelques mesures de sécurité que vous pouvez mettre en œuvre :

  • Utilisez le chiffrement lors de l’envoi ou de la réception de données. Consultez la section Classes Secure Sockets Layer (SSL).
  • Utilisez des mécanismes d’authentification et d’autorisation forts. Voir Qt Network Authorization.
  • Validez et traitez les données non fiables. Voir Gestion des données non fiables.
  • Définissez des limites de débit et surveillez le trafic pour prévenir toute utilisation abusive.
  • Intégrez des techniques de « salting » ou de « nonce » pour vous protéger contre les attaques par surveillance et par relecture.
  • Mettez à jour votre environnement pour corriger les failles de sécurité.

Pour plus d’informations sur les politiques et mesures de sécurité de Qt, consultez la section Sécurité dans Qt.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.