Crée des interfaces web modernes et complètes directement depuis Delphi, C++ Builder et .NET. sgcHTML est un framework de composants côté serveur avec 89 widgets prêts à l'emploi et orientés données — graphiques, grilles, formulaires, tableaux de bord, chat et bien plus — qui se lient directement à un TDataSet, génèrent du balisage Bootstrap 5 et restent interactifs grâce à htmx. Tu écris de l'Object Pascal ou du C#, sgcHTML écrit le HTML, le CSS et le JavaScript.
sgcHTML transforme ton back-end Delphi, C++ Builder ou .NET existant en serveur d'applications web. Chaque composant est une classe native qui émet du HTML Bootstrap 5 ; htmx garde la page interactive et vivante sans une seule ligne de JavaScript écrite à la main.
Chaque widget est une classe — TsgcHTMLComponent_Chart, TsgcHTMLComponent_Grid, TsgcHTMLComponent_Form et 86 autres. Définis ses propriétés, puis lis sa propriété HTML pour obtenir un balisage Bootstrap 5 propre, prêt à servir.
Pose un TsgcHTMLEngine_Server (ou relie le HTML à un TsgcWebSocketHTTPServer existant). Les requêtes arrivent dans ton gestionnaire OnCommandGet ; tu réponds avec une page construite à partir de composants. Aucune pile web externe.
sgcHTML n'est pas lié au serveur sgcWebSockets. Sers les mêmes pages construites à partir de composants depuis n'importe quelle application Embarcadero WebBroker via TsgcHTMX_Engine_Server_WebBroker, ou depuis un serveur DataSnap avec un push WebSocket en direct sur le même port que tes endpoints REST.
Ajoute un TsgcHTMX_Engine_Server et les clics, les envois de formulaires et les mises à jour en direct font l'aller-retour vers tes gestionnaires d'événements Pascal/C#. Le serveur remplace les fragments HTML sur place — la sensation d'une SPA, sans la chaîne de build JavaScript.
Comme htmx fonctionne sur le serveur sgcWebSockets, tu peux pousser du HTML en direct vers chaque navigateur connecté. Tableaux de bord, moniteurs et fenêtres de chat se mettent à jour à l'instant où tes données changent — piloté par le serveur, sans interrogation.
TsgcHTMLTemplate_Bootstrap enveloppe ton contenu dans un document responsive complet ; TsgcHTMLThemeController et TsgcHTMLThemeBuilder fournissent des thèmes clair/sombre et une feuille de style partagée. Bootstrap 5.3 et htmx sont embarqués — aucun CDN à l'exécution.
Grid, DataTable, Chart, Select, TreeView, Scheduler, Timeline et Form se lient directement à un TDataSet via LoadFromDataSet / DataSource. Pointe un composant vers une requête et il affiche les lignes.
sgcHTML fournit des textes d'interface intégrés (boutons, libellés, messages de validation) en 17 langues : anglais, espagnol, français, allemand, portugais, italien, néerlandais, suédois, norvégien, polonais, tchèque, turc, russe, chinois, japonais, coréen et arabe. Choisis-en une avec sgcHTMLSetLanguage et les composants s'affichent dans la langue du visiteur avec les écritures natives correctes, y compris le CJK, le cyrillique et l'arabe.
Chaque composant fait passer son texte dynamique, ses attributs, son JavaScript en ligne et ses URL par un encodage automatique HTML, d'attributs, JavaScript et d'URL ainsi qu'un assainissement des URL (sgcHTMLEncode, sgcHTMLAttrEncode, sgcJSEncode, sgcHTMLSanitizeURL), de sorte que les données utilisateur ne peuvent pas sortir de leur contexte pour injecter du script. La protection contre le XSS et les injections est active sans travail supplémentaire.
Du chrome de navigation aux grilles de données, graphiques, formulaires, surcouches et chat IA — tout le vocabulaire Bootstrap 5 sous forme de composants natifs. Chacun renvoie à sa propre page avec des exemples Delphi, C++ Builder et .NET.
NavBar, Sidebar, Breadcrumb, Tabs, Pagination, Toolbar, TreeView, Stepper, Dropdown, ButtonGroup, ListGroup, DashboardLayout, Splitter.
Voir les composants →Grid, DataTable, TreeGrid, PivotTable, Calendar, Scheduler, Timeline, ActivityFeed, KanbanBoard, Gantt — triables, filtrables, exportables, liés à un dataset.
Voir les composants →Chart (Chart.js), CandlestickChart, Gauge, Heatmap, Sparkline, TreeMap, Diagram (flux SVG), Map (Leaflet), QRCode, Barcode — des visuels pilotés par tes propres datasets.
Voir les composants →Form, Edit, Memo, CheckBox, RadioGroup, Select, MultiSelect, InputGroup, AutoComplete, DatePicker, TimePicker, ColorPicker, Slider, FileUpload, RichEditor, Rating, SignaturePad, Transfer.
Voir les composants →Panel, StatCard, Accordion, Carousel, Image, Avatar, Video, Badge, PDFViewer — cartes, médias et tuiles KPI pour tableaux de bord.
Voir les composants →Modal, Offcanvas, Popover, Toast, Snackbar, Notification, Spinner, Placeholder, ContextMenu, ProgressBar, JobProgress, LogViewer — boîtes de dialogue et surfaces d'état.
Voir les composants →ChatBox, Chat (style WhatsApp), AIChat avec sélecteur de fournisseur, streaming de tokens et citations de sources RAG, Presence pour le statut en ligne en direct.
Voir les composants →Login, SocialLogin (OAuth), OAuthCallback, WebAuthnLogin (passkeys), UserManagement, RolesPermissions — des flux de connexion prêts à l'emploi et des écrans d'administration.
Voir les composants →EngineServer, HTMXEngine, PageBuilder, TemplateBootstrap, ThemeController, ThemeBuilder, HTMXFragment, HTMXRouter — les pièces non visuelles qui servent les pages et les maintiennent vivantes.
Voir les composants →Démarre un serveur HTTP, attache le moteur htmx et réponds aux requêtes avec une page construite à partir de composants. La même API en Delphi, C++ Builder et .NET.
uses
sgcWebSocket_Server, sgcHTMX_Engine_Server,
sgcHTML_Template_Bootstrap, sgcHTML_Component_Chart;
// 1. Start a server and attach the htmx engine
FServer := TsgcWSHTTPServer.Create(nil);
FServer.Port := 8080;
FServer.OnCommandGet := HandleGet;
FHTMX := TsgcHTMX_Engine_Server.Create(nil);
FHTMX.Server := FServer; // realtime htmx over WebSocket
FServer.Active := True;
// 2. Build the page from components
function TForm1.BuildDashboard: string;
var
oChart: TsgcHTMLComponent_Chart;
oPage: TsgcHTMLTemplate_Bootstrap;
begin
oChart := TsgcHTMLComponent_Chart.Create(nil);
oPage := TsgcHTMLTemplate_Bootstrap.Create(nil);
try
oChart.ChartType := ctBar;
oChart.AddLabel('Q1'); oChart.AddLabel('Q2'); oChart.AddLabel('Q3');
oChart.AddDataset('Revenue', [1200, 1900, 1500],
'#7C3AED', 'rgba(124,58,237,.25)', True);
oPage.Title := 'Dashboard';
oPage.BodyContent := oChart.HTML; // component -> HTML
Result := oPage.GetHTML; // full Bootstrap document
finally
oPage.Free;
oChart.Free;
end;
end;
// includes: sgcWebSocket_Server.hpp, sgcHTMX_Engine_Server.hpp,
// sgcHTML_Template_Bootstrap.hpp, sgcHTML_Component_Chart.hpp
// 1. Start a server and attach the htmx engine
FServer = new TsgcWSHTTPServer(this);
FServer->Port = 8080;
FServer->OnCommandGet = HandleGet;
FHTMX = new TsgcHTMX_Engine_Server(this);
FHTMX->Server = FServer; // realtime htmx over WebSocket
FServer->Active = true;
// 2. Build the page from components
String __fastcall TForm1::BuildDashboard()
{
TsgcHTMLComponent_Chart *oChart = new TsgcHTMLComponent_Chart(NULL);
TsgcHTMLTemplate_Bootstrap *oPage = new TsgcHTMLTemplate_Bootstrap(NULL);
try
{
oChart->ChartType = ctBar;
oChart->AddLabel("Q1"); oChart->AddLabel("Q2"); oChart->AddLabel("Q3");
oChart->AddDataset("Revenue", OPENARRAY(double, (1200, 1900, 1500)),
"#7C3AED", "rgba(124,58,237,.25)", true);
oPage->Title = "Dashboard";
oPage->BodyContent = oChart->HTML; // component -> HTML
return oPage->GetHTML(); // full Bootstrap document
}
__finally
{
delete oPage;
delete oChart;
}
}
using esegece.sgcWebSockets;
// 1. Start a server and attach the htmx engine
var server = new TsgcWebSocketHTTPServer();
server.Port = 8080;
server.OnCommandGet += HandleGet;
var htmx = new TsgcHTMX_Engine_Server();
htmx.Server = server; // realtime htmx over WebSocket
server.Active = true;
// 2. Build the page from components
string BuildDashboard()
{
var chart = new TsgcHTMLComponent_Chart();
chart.ChartType = TsgcHTMLChartType.ctBar;
chart.AddLabel("Q1"); chart.AddLabel("Q2"); chart.AddLabel("Q3");
chart.AddDataset("Revenue", new double[] { 1200, 1900, 1500 },
"#7C3AED", "rgba(124,58,237,.25)", true);
var page = new TsgcHTMLTemplate_Bootstrap();
page.Title = "Dashboard";
page.BodyContent = chart.HTML; // component -> HTML
return page.GetHTML(); // full Bootstrap document
}
Choisis les composants prêts à l'emploi quand tu veux un widget en une ligne, ou descends à la couche de nœuds quand tu as besoin d'un contrôle total sur le balisage.
Les 89 widgets TsgcHTMLComponent_*. Configure les propriétés, lie éventuellement un dataset, lis HTML. Beaucoup exposent aussi une méthode statique Build(...) pour un usage inline en une ligne.
Des primitives comme TsgcHTMLContainer (avec un indicateur Void pour les balises auto-fermantes), TsgcHTMLCard, TsgcHTMLForm, TsgcHTMLField, TsgcHTMLButton et TsgcHTMLTable se composent en n'importe quelle mise en page, puis se rendent avec TsgcHTMLTemplate_Bootstrap. Le jeu de nœuds inclut aussi des blocs de construction Bootstrap tels que TsgcHTMLModal, TsgcHTMLOffcanvas, TsgcHTMLAccordion, TsgcHTMLCarousel, TsgcHTMLToast, TsgcHTMLProgress, TsgcHTMLSpinner, TsgcHTMLListGroupNode, TsgcHTMLInputGroup, TsgcHTMLButtonGroupNode, TsgcHTMLRadio, TsgcHTMLBreadcrumb, TsgcHTMLNavbarNode et TsgcHTMLImage.
TsgcHTMLPageBuilder et son éditeur en conception te permettent d'assembler des pages dans l'IDE, tandis que TsgcHTMLThemeController gère le thème clair/sombre dans toute l'application.
Avec sgcCustomization HTML, tu décris l'application dont tu as besoin et l'équipe eSeGeCe la construit pour toi avec les composants sgcHTML + sgcWebSockets. Trois forfaits en achat unique à partir de €149, et tu reçois un projet complet que tu peux compiler, étendre et adapter avec tes composants sous licence.
Tu as déjà une application web construite avec IntraWeb, uniGUI, TMS WEB Core, Elevate Web Builder ou D2Bridge ? Des guides pas à pas t'accompagnent pour la faire passer à sgcHTML, avec une correspondance des concepts pour chaque framework. Un formulaire d'assistance à la migration est aussi disponible si tu veux que notre équipe t'aide à planifier le passage, ou le réalise pour toi.
Associe sgcHTML à nos autres bibliothèques de composants Delphi, C++ Builder et .NET.
Composants WebSocket, HTTP/2, MQTT, AMQP, WebRTC et IA/LLM de niveau entreprise. sgcHTML est servi par les mêmes serveurs HTTP et WebSocket à hautes performances.
En savoir plus →Composants client et serveur QUIC et HTTP/3 pour Delphi, C++ Builder et .NET. Sers l'interface générée par sgcHTML via HTTP/3 pour des chargements de page à latence réduite sur les réseaux instables.
En savoir plus →Signatures numériques de niveau entreprise — XAdES, PAdES, CAdES et ASiC avec 10 fournisseurs de clés et 21 profils de pays de l'UE.
En savoir plus →Parser OpenAPI 3.0 et générateur de SDK. Transforme n'importe quelle spécification OpenAPI en client Delphi fortement typé en quelques secondes.
En savoir plus →Composants natifs Windows Hello, empreinte digitale et Windows Biometric Framework pour Delphi et C++ Builder.
En savoir plus →