Cas d'usage Delphi : une tâche, une page

Une page produit t'explique ce que fait un composant. Une page de référence te dit comment s'appelle chaque propriété. Ni l'une ni l'autre ne te dit comment terminer la tâche pour laquelle tu t'es assis. Ces pages-là le font. Chacune prend une seule tâche et la mène d'une fiche vide à du code qui tourne, nomme l'unité et le composant à chaque étape, et annonce d'emblée quel produit, quelle édition et quelles plateformes elle exige, pour que tu connaisses le coût avant d'écrire la première ligne.

Une tâche par page, du début à la fin
Du Pascal tiré des sources livrées
Édition et plateforme annoncées d'emblée
De Delphi 7 à RAD Studio 13

Ce que t'apporte une page de cas d'usage

Chaque page de cette liste suit la même forme, parce que les questions sont toujours les mêmes trois, posées dans le même ordre.

Une tâche, pas un composant

La page s'organise autour du résultat que tu veux, si bien que les composants apparaissent au moment où la tâche les rencontre. Quand une tâche traverse plusieurs composants, ils sont tous là, dans l'ordre où tu les croiserais vraiment. Quand deux voies existent, les deux sont montrées et le compromis entre elles est explicité.

Du code que tu peux coller

Le Pascal vient des sources livrées et des projets de démonstration fournis, pas d'un pseudo-code. Les noms d'unité figurent dans chaque clause uses, les gestionnaires d'événement portent leur vraie signature, et les cas d'échec qui coûtent un après-midi sont signalés là où ils surviennent plutôt qu'en note de bas de page.

Ce que ça coûte avant de commencer

Chaque page annonce en tête le produit, l'édition, les versions du compilateur et les plateformes que la tâche exige. La moitié de ces fonctionnalités est conditionnée par un {$IFDEF} dans sgcVer.inc, si bien qu'une méthode qui ne se résout pas est une réponse de licence, pas de syntaxe, et il vaut mieux le savoir dès la première page.

Choisis la tâche que tu es en train de faire

Chaque résumé ci-dessous est assez long pour répondre tout seul à la question, ce qui te permet de décider si la page complète vaut tes vingt prochaines minutes avant de l'ouvrir.

Appeler un LLM depuis Delphi

Envoie un prompt depuis une application VCL, FMX ou console et reçois une réponse, d'un modèle hébergé comme OpenAI ou Anthropic Claude, ou d'un modèle qui tourne sur ta propre machine via Ollama. Il y a deux voies. TsgcAIChat place chaque fournisseur derrière une seule API, si bien que changer de fournisseur tient à une unique affectation à Provider, et les clients dédiés TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic et TsgcHTTP_API_Ollama exposent intégralement l'API de chaque fournisseur quand tu as besoin d'entrées vision, de lots, d'embeddings ou de transcription.

La page traite ensuite les trois choses que tout projet rencontre juste après. Le streaming, pour que le texte apparaisse dans le mémo pendant que le modèle écrit encore, au niveau du delta décodé comme au niveau de l'événement brut. L'appel d'outils, où tu décris une fonction Pascal en JSON Schema et où le modèle te demande de l'exécuter. Et le choix entre un modèle hébergé et un modèle local, qui, pour tout ce que couvre un accord de traitement des données, relève de la conformité plutôt que de la performance.

Il faut : sgcWebSockets Enterprise ou le pack autonome sgcAI. Les clients REST compilent sous Windows, macOS, Linux, iOS et Android ; TsgcAIChat est réservé à Windows, la page montre donc les deux voies.

Lire le guide →

Authentifier un utilisateur avec OAuth2 et PKCE

Le flux Authorization Code avec PKCE, celui que tous les fournisseurs attendent désormais d'une application de bureau native, piloté par un seul composant non visuel. Pas de navigateur embarqué, pas de serveur web à toi, pas de framework REST. TsgcHTTP_OAuth2_Client génère le verifier, en dérive le challenge, ouvre le navigateur système, écoute sur une redirection en loopback, échange le code et déclenche OnAfterAccessToken avec le jeton.

Sur le bureau, l'endroit où le flux déraille est la redirection, la page y consacre donc du temps réel : pourquoi la redirection est une adresse de loopback et non une URL publique, ce qu'il faut déclarer chez le fournisseur, et ce que redirect_uri_mismatch est en train de te dire. Elle couvre ensuite les jetons de rafraîchissement, pour que le navigateur ne s'ouvre jamais une deuxième fois, le stockage d'un identifiant sans le laisser traîner, les composants Google et Microsoft prêts à l'emploi, et le passage XOAUTH2 que Gmail et Microsoft 365 exigent désormais sur SMTP et IMAP.

Il faut : sgcWebSockets Standard et au-dessus, ou le pack autonome sgcAuth. Windows, macOS, Linux, iOS et Android. Seule la moitié serveur d'autorisation est une fonctionnalité Enterprise.

Lire le guide →

Connecter deux applications en pair à pair avec WebRTC

Deux applications sur deux réseaux différents, qui échangent un canal de discussion, un flux micro et un flux caméra directement entre elles, sans serveur média au milieu et sans navigateur embarqué dans le processus. La page découpe WebRTC en les quatre problèmes qu'il est réellement : décrire la session sous forme d'offre et de réponse SDP, porter cette description jusqu'à l'autre côté, trouver un chemin à travers les NAT, et faire circuler les octets.

La signalisation est la part que tu écris toi-même, elle est donc ici en entier, sous la forme d'un relais rudimentaire au-dessus de TsgcWebSocketServer avec trois types de message. Viennent ensuite la connexion entre pairs et ses événements, les candidats ICE et ce que te coûtent respectivement les candidats host, server reflexive et relay, l'interrupteur TURN que tout le monde oublie, les canaux de données SCTP avec une fiabilité par canal, et les pistes audio et vidéo, qui sont un transport différent, avec des modes de défaillance différents de ceux d'un canal de données. Elle se termine sur les défaillances qui ne produisent aucune erreur, ce qui rend justement le pair à pair difficile à déboguer.

Il faut : la connexion entre pairs et les clients ICE et TURN arrivent avec sgcWebSockets Enterprise. Les méthodes d'offre et de réponse, les canaux de données et les pistes média réclament le pack sgcWebRTC par-dessus Enterprise, également inclus dans All-Access. Un client STUN arrive avec Standard.

Lire le guide →

D'autres tâches sont en cours de rédaction. Si celle que tu fais n'est pas encore là, le blog couvre une bonne part du même terrain article par article, et le support t'orientera entre-temps vers le bon projet de démonstration.

Produit, édition et plateforme en un coup d'œil

Les mêmes informations que chaque page annonce dans sa section d'ouverture, rassemblées pour que tu compares le coût de trois tâches sans ouvrir trois onglets.

Guide Composants principaux Produit et édition Plateformes
Appeler un LLM depuis Delphi TsgcAIChat, TsgcHTTP_API_OpenAI, TsgcHTTP_API_Anthropic, TsgcHTTP_API_Ollama sgcWebSockets Enterprise, ou le pack autonome sgcAI Clients REST sous Windows, macOS, Linux, iOS et Android. TsgcAIChat sous Windows.
Connexion OAuth2 avec PKCE TsgcHTTP_OAuth2_Client, plus les enveloppes Google et Microsoft sgcWebSockets Standard et au-dessus, ou le pack autonome sgcAuth Windows, macOS, Linux, iOS et Android
WebRTC entre deux applications TsgcRTCPeerConnection, TsgcICEClient, TsgcTURNClient, TsgcWebSocketServer sgcWebSockets Enterprise pour la connexion entre pairs, plus le pack sgcWebRTC pour l'offre et la réponse, les canaux de données et le média. Les deux sont dans All-Access. Windows pour la capture et le rendu. Le transport lui-même est multiplateforme.

Chaque indication d'édition ci-dessus est celle qu'applique le sgcVer.inc livré. Le détail complet se trouve dans la matrice des fonctionnalités Delphi, et la page quelle édition parcourt la même décision depuis l'autre bout.

Si ce n'est pas un guide de tâche que tu cherchais

Ces pages répondent aux questions voisines : ce que fait un composant, comment il s'appelle, ce qu'il vaut face aux autres, et ce qu'il coûte.

sgcWebSockets La bibliothèque derrière chaque guide de cette page, du WebSocket et HTTP/2 jusqu'à MQTT, AMQP, WebRTC et aux clients IA.
Comparatif des bibliothèques Tu choisis encore une bibliothèque plutôt que d'écrire du code ? Le hub de comparaison place sgcWebSockets à côté d'Indy, ICS, TMS, mORMot 2, IPWorks et Chilkat.
Référence des composants Chaque composant de la bibliothèque, avec les propriétés, méthodes et événements qu'il publie, et un document technique derrière.
Glossaire Les termes de protocole, de cryptographie et d'authentification qu'emploient ces guides, chacun relié à la RFC qui le définit.
Blog Plusieurs centaines d'articles détaillés, y compris les billets de version dont chacun de ces guides s'inspire.
Éditions et tarifs Ce que contiennent Standard, Professional, Enterprise et All-Access, et où se placent les packs autonomes.

Chaque guide part du même téléchargement

L'essai, c'est la bibliothèque entière avec tous les composants activés, et les projets de démonstration auxquels chaque guide renvoie sont dedans.