sgcWebSockets 2026.10 est disponible. Deux fils conducteurs traversent cette version : sgcHTML s'est enrichi des parties dont a besoin une application web métier et que vous n'aurez plus à écrire à la main, et la cryptographie est devenue post-quantique sans ajouter la moindre bibliothèque externe.
Applications web : la partie fastidieuse, réglée
Sessions, connexion et CSRF. Le nouveau composant TsgcHTMLAuth et ses magasins de sessions gèrent le cookie, répondent aux requêtes de connexion et de déconnexion, ferment les sessions inactives et limitent les tentatives de connexion échouées. Le jeton CSRF voyage dans une balise meta, htmx l'ajoute de lui-même à chaque requête, et le serveur rejette un post qui ne le porte pas.
FAuth := TsgcHTMLAuth.Create(Self);
FAuth.SessionStore := TsgcHTMLSessionStore_Memory.Create(Self);
FAuth.CookieName := 'app_session';
FEngine.Auth := FAuth;
Des routes qui se lisent comme des routes. Des paramètres de chemin, un filtre de méthodes, et l'accès aux en-têtes, aux cookies et au corps de la requête :
with FRouter.Routes.Add do
begin
Path := '/customers/{id}/edit';
Methods := [hrmGet, hrmPost];
RequireLogin := True;
RequireRoles := 'admin,sales';
end;
Des pages que vous pouvez tester. DispatchDirect répond à une requête sans qu'il y ait de socket derrière, et une nouvelle unité lit le HTML généré, trouve les éléments par id, classe, balise ou attribut, et compare une page à une copie sauvegardée, de sorte qu'un changement involontaire dans le balisage soit repéré par un test plutôt que par un client.
Une navigation qui donne l'impression d'une application. Les pages changent sans rechargement complet et conservent la position de défilement et ce que l'utilisateur était en train de saisir, avec une barre de chargement, une boîte de dialogue quand la connexion se coupe et un message quand une requête échoue. Tout cela désactivé par défaut.
Les quatre fonctionnalités phares
Chacune d'elles a son propre article, lié à la fin, alors voici seulement ce qu'elle est :
- MCP Apps. Un outil MCP qui répond avec une page plutôt qu'un paragraphe, rendue dans ChatGPT, Claude ou VS Code, construite avec les mêmes composants que n'importe quelle autre page sgcHTML.
- Le générateur de pages par IA. Décrivez une page, ou remettez au designer une capture d'écran, et il la construit à partir de vos composants enregistrés comme un candidat que vous acceptez ou rejetez.
- Le composant CRUD. Liste, recherche, pagination, formulaire, suppression et le chemin d'écriture d'un dataset, sur un TDataSet ou sur votre propre SQL, avec un assistant dans l'IDE et un générateur en ligne de commande.
- L'AI Data Pack. Posez une question en langage naturel à un grid, une data table ou un tableau croisé, avec un analyseur basé sur des règles qui répond même en l'absence totale de clé d'API.
Le push, de deux façons
Les server sent events peuvent désormais transporter les mises à jour à la place d'un WebSocket, avec rejeu de ce qui a été manqué pendant la déconnexion, et cela fonctionne avec le serveur HTTP classique. Web Push atteint un navigateur qui est fermé. Une boîte de réception de notifications et une table de préférences les accompagnent, et le composant de notification décide quel canal reçoit un utilisateur donné.
IA : des réponses exploitables
TsgcAIChat peut demander un JSON qui suit un schéma que vous fournissez, chez OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok et Mistral, via la nouvelle méthode ChatJSON, qui analyse la réponse et redemande une fois de plus, en joignant l'erreur d'analyse, lorsqu'elle ne peut pas être lue. Le composant de chat envoie et reçoit désormais aussi des images, et BaseUrl est maintenant respecté par chaque fournisseur et non plus seulement par Ollama, si bien que n'importe lequel d'entre eux peut être pointé vers un proxy ou une passerelle locale.
Cryptographie : post-quantique, en Object Pascal
ML-KEM (FIPS 203), ML-DSA (FIPS 204) et SLH-DSA (FIPS 205), encapsulation de clé hybride X-Wing, certificats X.509 post-quantiques et autorités de certification, et JWT signés avec ML-DSA. Le tout écrit en Object Pascal dans le pack sgcCrypto, sans aucune bibliothèque externe, validé face aux vecteurs de réponses connues du NIST.
Par-dessus repose un moteur TLS 1.3 natif, lui aussi en Pascal pur : un client ou un serveur parle TLS sans OpenSSL et sans SChannel, en négociant les groupes hybrides post-quantiques de la RFC 10024, avec ALPN, S N I, les certificats client et l'utilisation optionnelle du magasin de confiance du système d'exploitation.
Le côté classique a été renforcé dans la même passe : RSA en temps constant avec blinding, multiplication scalaire de courbe elliptique en temps constant et Ed25519, AES et GHASH sans tables, clés privées importées vérifiées face à leur moitié publique, et signatures DER non minimales rejetées.
Des corrections qui méritent d'être citées
- La signature et la validation JWT avec des clés RSA et ECDSA, et une corruption mémoire dans les applications 32 bits, lorsque OpenSSL est lié statiquement.
- Le gestionnaire SChannel qui laissait une copie de la clé privée dans le magasin de clés Windows à chaque connexion utilisant un fichier PFX, et qui n'envoyait pas le certificat client sur les versions récentes de Windows.
- Les connexions SChannel concurrentes utilisant un certificat du magasin Windows qui échouaient la négociation.
- Le serveur OAuth2 qui rejetait les preuves DPoP signées avec des clés RSA.
- Les URL signées CloudFront dont la signature n'était pas encodée de façon sûre pour une URL.
.NET
La bibliothèque .NET suit le rythme : authentification et sessions avec un pont ClaimsPrincipal pour ASP.NET Core, le routeur, les outils de test, la navigation SPA, le transport SSE avec un point de terminaison natif, la sortie structurée, l'AI Data Pack, Web Push, MCP Apps et le composant CRUD avec ses adaptateurs, le tout avec les mêmes noms d'API qu'en Delphi.
Mise à niveau
Tout ce qui est nouveau est additif et désactivé par défaut. Ajoutez les nouvelles unités, recompilez vos packages, et une application existante se comportera exactement comme avant.
Les versions complètes
- Faites tourner votre application Delphi dans ChatGPT et Claude
- Transformez une capture d'écran en page web Delphi
- Delphi TLS 1.3 sans DLL OpenSSL
- Une page web CRUD Delphi en cinq minutes
- Posez une question à votre grille Delphi en anglais simple
- Atteindre un navigateur fermé, depuis Delphi
Voir la vidéo
Il existe une courte vidéo à ce sujet sur la chaîne eSeGeCe.
Des questions, un retour ou besoin d'aide pour la migration ? Contactez-nous — vous recevrez une réponse des personnes qui ont écrit le code.
