ERP
Clients, produits, fournisseurs et facturation, avec graphiques de tableau de bord, administration par rôles et connexion par passkey.
Ouvrir la démo en ligne →Crée des interfaces web complètes et modernes directement depuis Delphi, C++ Builder et .NET. sgcHTML est un framework de composants côté serveur avec 110 widgets prêts à l'emploi : graphiques, grilles, formulaires, tableaux de bord, chat et bien plus. Beaucoup 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.
Tu préfères ne pas la construire toi-même ? Nous la construisons pour toi →
Clients, produits, fournisseurs et facturation, avec graphiques de tableau de bord, administration par rôles et connexion par passkey. Un exécutable Delphi de 7,7 Mo, sans DLL à côté, qui sert un ERP web complet sur SQLite.
Un ERP complet dans un seul exe
De la navigation aux grilles de données, graphiques, formulaires, superpositions et chat IA : tout le vocabulaire de Bootstrap 5 sous forme de composants natifs. Chacun renvoie vers 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 d'indicateurs pour les 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 : parcours de connexion et écrans d'administration prêts à l'emploi.
Voir les composants →Gauge, LinearGauge, LED, LEDBar, SegmentDisplay, Odometer, AnalogClock, Compass, VUMeter, Knob, ToggleSwitch, PushButton, NumericStepper, StripChart, Oscilloscope, Annunciator, SCADAPanel. Des panneaux de salle de contrôle maintenus en direct par le serveur, avec liaison MQTT.
Voir les composants →EngineServer, HTMXEngine, PageBuilder, TemplateBootstrap, ThemeController, ThemeBuilder, HTMXFragment, HTMXRouter : les éléments non visuels qui servent les pages et les gardent vivantes.
Voir les composants →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 TsgcWebSocketHTTPServerexistant). 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 formulaire 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 s'exécute 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. Quand un proxy bloque les WebSockets, la même page peut recevoir ses mises à jour via les événements envoyés par le serveur (SSE).
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 : pas de 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. Les langues de droite à gauche comme l'arabe et l'hébreu inversent automatiquement toute la page : elle s'affiche avec dir="rtl", charge la feuille de style RTL de Bootstrap et met en miroir la barre latérale, la grille, les assistants, le chat et les autres composants, sans aucun changement de code.
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.
L'arabe et l'hébreu inversent automatiquement toute la page de droite à gauche : dir="rtl", la feuille de style RTL de Bootstrap et des composants en miroir, sans aucun changement de code.
Une page en anglais, arabe et hébreu. Avec l'arabe ou l'hébreu, toute la mise en page passe de droite à gauche, de la barre latérale à la grille. Aucun changement de code, seulement la langue.
Le texte d'interface intégré (boutons, libellés, messages de validation) existe en 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 un avec sgcHTMLSetLanguage.
Le planning Gantt, les séries Chart.js, les jauges, les sparklines, les treemaps et les cartes de chaleur sont tous produits depuis ton code Pascal ou C#. Tu fournis les données, sgcHTML génère le balisage et le câblage côté client.
Les utilisateurs choisissent dimensions, mesures et agrégation, et le tableau croisé est reconstruit à partir d'un TFDQuery. Aucune couche REST intermédiaire, la page lit la base de données directement dans le processus.
Chaque composant génère du balisage Bootstrap 5 responsive, donc la mise en page du terminal d'entrepôt est la même bibliothèque de composants à une largeur de téléphone, pas une base de code mobile séparée.
Chaque ajout est désactivé tant que tu ne l'utilises pas, de sorte qu'une page qui n'en utilise aucun s'affiche exactement comme avant. La liste complète se trouve dans la matrice des fonctionnalités.
Un outil MCP répond avec une page au lieu de texte, construite avec les mêmes composants que pour n'importe quelle page web et affichée par ChatGPT, Claude et VS Code. Nécessite l'édition Enterprise ou All-Access, ou le pack sgcAI. Voir MCPApp.
Décris une page ou donne une capture d'écran au concepteur, et il construit la page avec tes propres composants. Il répond à partir d'un schéma construit depuis ton registre, il ne peut donc pas nommer une classe que tu n'as pas proposée, et rien n'est appliqué tant que tu ne l'acceptes pas. Il nécessite les unités IA de l'édition Enterprise ou All-Access, ou le pack sgcAI. Lis le guide.
La liste, la recherche, la pagination, le formulaire, la suppression et le chemin d'écriture d'une table en un seul composant, sur un jeu de données ou sur ton propre SQL. Un assistant de l'IDE le crée. Voir CRUD.
Une question en langage courant devient des filtres, des tris, des regroupements et des mises en évidence, validés par rapport à tes propres colonnes avant que quoi que ce soit ne soit appliqué. Cela fonctionne sans clé d'API grâce à un analyseur intégré, et avec sept fournisseurs lorsque les unités IA font partie de ton édition. Voir AIAssistant.
Événements envoyés par le serveur pour les réseaux qui bloquent les WebSockets, Web Push pour un navigateur qui n'est pas en cours d'exécution, une boîte de réception de notifications et un tableau de préférences. Web Push nécessite l'édition Enterprise ou All-Access. Voir WebPush.
Sessions par cookie, jetons CSRF, limitation des connexions et protection des routes par rôle. Paramètres de chemin et filtres de méthode sur les routes, navigation en page unique depuis le modèle de page, et utilitaires pour tester le balisage que tu produis. Voir Auth.
Si tu construis des applications ASP.NET Core MVC ou Razor Pages à la manière de Telerik ou DevExpress, sgcHTML parle désormais le même langage. Des Tag Helpers comme <sgc-grid>, <sgc-form>, <sgc-dialog> et <sgc-chart>, et leurs équivalents fluides sous Html.Sgc(), génèrent côté serveur du HTML Bootstrap 5 et dialoguent avec tes contrôleurs via htmx. Aucun framework JavaScript à apprendre, aucune source de données JSON à écrire. La couche Razor est fournie dans le package NuGet esegece.sgcHTML.AspNetCore Paquet NuGet, édition Community incluse.
<sgc-grid> pagine, trie, filtre (texte et plage), recherche et exporte vers XLSX et PDF côté serveur. Le contrôleur répond avec this.SgcGrid(request, query), et EF Core transforme chaque clic en SQL paramétré. push-url conserve la page, le tri et les filtres dans la barre d'adresse, si bien que l'actualisation et le bouton Précédent fonctionnent.
<sgc-textbox>, <sgc-select>, <sgc-datepicker>, <sgc-checkbox> et <sgc-autocomplete> se lient à ton modèle avec asp-for et affichent les erreurs de ModelState sous chaque champ. <sgc-form hx="true"> envoie via htmx, et this.SgcRedirect(url) navigue après un enregistrement valide.
Tout élément portant sgc-dialog="name" charge son URL dans un <sgc-dialog>. Après un envoi valide, this.SgcCloseDialog("edit-order", refresh: "orders") ferme la boîte de dialogue et recharge la grille, le schéma d'édition en fenêtre sans script de ta part.
<sgc-chart> affiche des données statiques, interroge une action avec refresh-every="5s", ou passe en live="true": un service en arrière-plan appelle hub.BroadcastChartAsync(...) et chaque navigateur ouvert redessine le graphique via le WebSocket de sgcHTML. Les graphiques de Telerik et DevExpress exigent de la plomberie SignalR pour le push serveur, sgcHTML l'intègre.
@* Views/Orders/Index.cshtml, page 1 renders inline from the model *@
@model IQueryable<OrderRow>
<sgc-grid name="orders" key="Id" items="Model"
asp-action="Read" asp-export-action="Export" export="xlsx,pdf"
page-size="15" sortable="true" filterable="true"
searchable="true" push-url="true">
<sgc-column field="Reference" searchable="true" />
<sgc-column field="Customer" searchable="true" />
<sgc-column field="OrderDate" title="Date" format="{0:yyyy-MM-dd}" filter="range" />
<sgc-column field="Total" format="{0:N2}" align="right" filter="range" />
<sgc-column field="Paid" />
</sgc-grid>
// Program.cs
builder.Services.AddControllersWithViews();
builder.Services.AddSgcHtml(o => o.ServeRootPage = false); // the MVC app owns "/"
builder.Services.AddSgcHtmlRazor(); // SgcDataRequest binder, grid state, /sgcHTML.css
// ...
app.UseWebSockets(); // before UseSgcHtml, needed by live charts
app.UseSgcHtml();
app.MapDefaultControllerRoute();
// Controllers/OrdersController.cs
public class OrdersController : Controller
{
private readonly ShopDb FDb;
public OrdersController(ShopDb db) { FDb = db; }
// An IQueryable projection: EF Core turns paging, sort and filters into SQL.
private IQueryable<OrderRow> Rows() =>
FDb.Orders.AsNoTracking().Select(o => new OrderRow
{
Id = o.Id, Reference = o.Reference, Customer = o.Customer.Name,
OrderDate = o.OrderDate, Total = o.Total, Paid = o.Paid
});
public IActionResult Index() => View(Rows());
// Every page, sort, filter and search click of the grid lands here.
public IActionResult Read(SgcDataRequest request) => this.SgcGrid(request, Rows());
// The toolbar export links: the filtered and sorted rows as XLSX or PDF.
public IActionResult Export(SgcDataRequest request) =>
this.SgcGridExport(request, Rows(), "orders");
}
@* The same grid with the fluent builder, the twin of Html.Kendo().Grid<T>() *@
@(Html.Sgc().Grid<OrderRow>("orders")
.Key(o => o.Id)
.Columns(c =>
{
c.Bound(o => o.Reference).Searchable();
c.Bound(o => o.Customer).Searchable();
c.Bound(o => o.OrderDate).Title("Date").Format("{0:yyyy-MM-dd}").Filter(SgcGridFilterKind.Range);
c.Bound(o => o.Total).Format("{0:N2}").Align("right").Filter(SgcGridFilterKind.Range);
c.Bound(o => o.Paid);
})
.Items(Model)
.Read("Read")
.Export(SgcExportFormat.Xlsx, SgcExportFormat.Pdf)
.ExportAction("Export")
.Pageable(15)
.Sortable().Filterable().Searchable().PushUrl())
@* _Layout.cshtml: live="ws" opens the WebSocket that live charts listen to *@
<sgc-scripts live="ws" />
@* The view *@
<sgc-chart name="live-orders" type="line" height="260" live="true">
<sgc-series name="Orders / s" data="new double[] { 0 }" color="#dc3545" />
</sgc-chart>
// builder.Services.AddHostedService<LiveSalesFeed>();
public sealed class LiveSalesFeed : BackgroundService
{
private readonly ISgcHtmlHub FHub;
private readonly Queue<string> FLabels = new Queue<string>();
private readonly Queue<double> FValues = new Queue<double>();
public LiveSalesFeed(ISgcHtmlHub hub) { FHub = hub; }
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
var oRandom = new Random();
while (!stoppingToken.IsCancellationRequested)
{
await Task.Delay(1000, stoppingToken);
FLabels.Enqueue(DateTime.Now.ToString("HH:mm:ss"));
FValues.Enqueue(oRandom.Next(0, 20));
if (FValues.Count > 20) { FLabels.Dequeue(); FValues.Dequeue(); }
// One WebSocket message redraws the chart in every open browser.
await FHub.BroadcastChartAsync("live-orders", FLabels.ToArray(),
new SgcChartSeries("Orders / s", FValues.ToArray(), "#dc3545"));
}
}
}
Tu viens de Telerik UI for ASP.NET Core ou de DevExpress ? [DataSourceRequest] devient SgcDataRequest, ToDataSourceResult devient this.SgcGrid(request, query) (ou query.ToSgcDataResult(request) pour les données seules), et Html.Kendo().TextBoxFor(m => m.X) devient Html.Sgc().TextBoxFor(m => m.X). La démo MVC exécutable, 22.RazorMvc, est l'exemple de commandes de Telerik écrit avec sgcHTML sur EF Core.
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
}
Construis une interface web complète depuis Delphi avec des composants côté serveur, du balisage Bootstrap 5 et htmx, sans aucune étape de build JavaScript.
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 110 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.
| Cible | Détails |
|---|---|
| Delphi 7 à 13 | Delphi 7, 2007, 2009, 2010, XE à XE8, 10 Seattle à 10.4 Sydney, 11 Alexandria, 12 Athens et 13 Florence. Windows, macOS et Linux sont tous pris en charge. |
| C++ Builder | C++ Builder (versions correspondantes) |
| .NET | .NET 8, .NET 9, .NET 10, .NET Standard 2.0, sur des hôtes Windows, Linux et macOS, avec les Razor Tag Helpers d'ASP.NET Core. |
| Hébergement | Le serveur HTTP de sgcWebSockets, toute application WebBroker, un serveur DataSnap ou ASP.NET Core. |
| Navigateur | Ressources Bootstrap 5 et htmx embarquées. Aucun CDN requis à l'exécution. |
sgcHTML est une bibliothèque côté serveur : le téléphone reçoit du HTML via le réseau, donc Android et iOS ne sont pas des cibles de compilation.
Chaque écran ci-dessous est une application Delphi qui sert son propre HTML via sgcHTML. Aucune étape de build JavaScript, aucun projet front-end séparé. Connecte-toi avec les identifiants déjà renseignés sur chaque page de connexion.
Clients, produits, fournisseurs et facturation, avec graphiques de tableau de bord, administration par rôles et connexion par passkey.
Ouvrir la démo en ligne →
Tableaux de bord, catalogue de rapports, générateur de tableaux croisés ad hoc et vue d'exploration sur 27 000 lignes de commande, interrogées directement dans le processus.
Ouvrir la démo en ligne →
Une caisse tactile avec catégories, promotions, ventes en attente, gestion des sessions et affichage client en direct.
Ouvrir la démo en ligne →
Réceptions, expéditions, stock disponible, mouvements et inventaires tournants, plus une mise en page terminal portable pour les scanners.
Ouvrir la démo en ligne →
Un tableau de répartition, un planning Gantt et une carte des techniciens en direct pour organiser les équipes et les interventions.
Ouvrir la démo en ligne →
Recherche instantanée, ajout, modification et suppression en ligne, le tout injecté sous forme de fragments htmx sans recharger la page.
Ouvrir la démo en ligne →
Métriques serveur poussées via WebSocket dans des fragments htmx hors bande, qui mettent à jour les cartes KPI et les graphiques en temps réel.
Ouvrir la démo en ligne →
Une page en anglais, arabe et hébreu. Avec l'arabe ou l'hébreu, toute la mise en page passe de droite à gauche, de la barre latérale à la grille. Aucun changement de code, seulement la langue.
Ouvrir la démo en ligne →
Un espace en libre-service où les clients consultent leurs propres commandes, leur profil et leurs tickets de support derrière une connexion.
Ouvrir la démo en ligne →
Un site vitrine public, une page de tarifs et un parcours d'inscription devant un plan de contrôle isolé par tenant.
Ouvrir la démo en ligne →Une grille de données, un tableau croisé dynamique et un formulaire pilotés en langage courant : filtres, tris et regroupements sur 26 000 lignes de commande, un assistant IA de colonnes et un collage intelligent. Fonctionne sans clé d'API.
Ouvrir la démo en ligne →Une boutique en ligne construite entièrement avec des composants sgcHTML, avec un assistant de chat flottant dont les réponses s'appuient sur le catalogue de produits. La version en ligne ne nécessite aucune clé d'API LLM.
Ouvrir la démo en ligne →Une application Delphi affichée à l'intérieur de ChatGPT, Claude ou VS Code : les outils MCP renvoient des pages sgcHTML que l'hôte affiche, et leurs boutons continuent d'y fonctionner.
Ouvrir la démo en ligne →Une salle de contrôle pour une boucle de chaudière simulée : jauges, afficheurs, commandes opérateur, enregistreurs à bande et un oscilloscope maintenus en direct par le serveur, sans interrogation périodique.
Ouvrir la démo en ligne →Un synoptique d'une installation d'eau de refroidissement avec des cuves, des vannes, des pompes et un flux animé, plus des jauges, un enregistreur à bande et des alarmes, le tout piloté par MQTT. En ligne, elle fait fonctionner une installation simulée.
Ouvrir la démo en ligne →Chaque clip est un enregistrement d’écran de l’une de ces applications réellement en train de tourner, avec voix off et sous-titres. Rien ne se télécharge tant que tu n’appuies pas sur lecture.
Un tour des 110 composants, des grilles et des graphiques aux tableaux Kanban et aux pavés de signature.
Tri, filtrage, pagination, édition en ligne, sélection et liaison au dataset, le tout piloté depuis Pascal.
Comment l’échange d’un fragment remplace le rechargement d’une page, et à quoi ça ressemble dans ton code Delphi.
Des métriques serveur poussées dans des fragments out-of-band, qui mettent à jour cartes et graphiques au fil des changements.
La démo de point de vente lit la base de données dans le même processus, sans API JSON au milieu.
Des tableaux de bord, un générateur de tableaux croisés et une vue d’exploration sur 27 000 lignes de commande.
La démo d’entrepôt, qui recense écran par écran la bibliothèque de composants sur laquelle elle s’appuie.
La même application sur un tableau de bureau et sur un téléphone, toujours synchronisées.
Un seul binaire, une seule base de données, une séparation stricte par tenant, démontrée plutôt qu’affirmée.
Commandes en libre-service, profil et tickets de support derrière une page de connexion.
Recherche au fil de la frappe, ajout et édition en ligne, suppression, le tout injecté sous forme de fragments htmx.
Inscription, fils de discussion des tickets et changements de statut, le tout rendu côté serveur.
Un assistant de boutique qui répond à partir du catalogue produits au lieu d’inventer une réponse.
Navigation, barres latérales et composition des pages construites avec le composant Site.
Ajouter la sortie sgcHTML à une application Delphi WebBroker existante.
Servir une interface moderne depuis une couche de services que tu possèdes déjà.
Toutes les licences incluent le code source complet, 1 an de mises à jour et 70% de remise sur le renouvellement.
Inclut sgcWebSockets Core
1 an de mises à jour
.NET Framework, .NET Core et .NET 5+ (NuGet)
1 an de mises à jour
Nous construisons ton application web pour toi.
Trois forfaits uniques
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.
sgcHTML est un pack de composants autonome. Le prix ci-dessus inclut déjà le runtime sgcWebSockets Core sur lequel il repose, il n'y a donc rien d'autre à ajouter à ta commande.
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.
Ouvrir les guides de migration →Sers les mêmes pages construites avec des composants depuis n'importe quelle application Embarcadero WebBroker, ou depuis un serveur DataSnap avec push WebSocket en direct sur le même port que tes points de terminaison REST.
Hébergement WebBroker & DataSnap →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.
Découvrir sgcCustomization HTML →sgcHTML est inclus dans la version d'essai de sgcWebSockets All-Access. Un seul installeur, les deux produits.
La version d'essai fonctionne pendant une durée limitée sur un seul poste de travail. Inclut tous les composants sgcHTML.
Télécharger la version d'essai →Non. La bibliothèque émet du balisage Bootstrap 5 et des attributs htmx, et c'est htmx qui permet à un bouton de renvoyer des données et de remplacer une partie de la page sans rechargement. Tu décris l'interaction en Pascal et les attributs sont générés pour toi. Tu peux toujours ajouter ton propre script quand tu le souhaites, via CustomHead et BodyEndHTML.
Tu l'écris toi-même dans une réponse HTTP. HTML est une simple propriété string , donc n'importe quel serveur convient. La démo livrée utilise TsgcWSHTTPServer sur une version Professional et se rabat sur TIdHTTPServer sinon, définit ResponseNo := 200 et ContentType := 'text/html; charset=utf-8', et affecte la chaîne à ContentText.
TsgcHTMLComponent_Site, de l'unité sgcHTML_Component_Site.pas. Il rend une structure de page complète, tu obtiens donc navigation, barre latérale, thème et zone de contenu sans les assembler toi-même. Construis-le, appelle AddMenu et AddContent ou AddSection, puis lis la propriété HTML . La démo Site livrée fait exactement cela.
Quand tu construis la page avec des nœuds, oui, car le nœud écrit le texte et l'échappe. Le risque apparaît quand tu contournes les nœuds et concatènes toi-même du balisage, par exemple via AddContent avec une chaîne construite à partir d'une saisie utilisateur. Privilégie les unités de nœuds pour tout ce qui transporte des données utilisateur.
Non, et c'est voulu. SGC_HTML est défini à la ligne 885 dans {$IFNDEF ANDROID} à la ligne 883 et {$IFNDEF IOS} à la ligne 884, donc sur ces cibles chaque unité sgcHTML se compile en unité vide. C'est une bibliothèque côté serveur : le téléphone reçoit du HTML via le réseau, c'est pourquoi la cible mobile n'a pas besoin du moteur de rendu. Windows, macOS et Linux sont tous pris en charge.
Le téléchargement livre plus de quinze démos d'exécution sous Demos\60.HTML\01.RunTime, dont un tableau de bord ERP, un helpdesk, un point de vente, un entrepôt, une application de rapports et une application de service sur le terrain. La galerie propose une courte vidéo de chacune.
Démarre un serveur HTTP, attache le moteur htmx et réponds aux requêtes avec une page construite à partir de composants.
Démarrage rapide →Le guide Getting Started : concevoir une page sur un formulaire VCL, exécuter du code Delphi depuis les actions de la Surface et suivre les six démos QuickStart.
Guide Getting Started (PDF, en anglais) →110 composants, dix familles
Voir la matrice complète des fonctionnalités →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. Ajoute la messagerie temps réel et toute la pile réseau à ton application sgcHTML.
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 →Moteur média WebRTC complet pour Delphi et C++ Builder : appels audio et vidéo, canaux de données et partage d'écran. Un complément de sgcWebSockets Enterprise.
En savoir plus →Signatures numériques de niveau entreprise : XAdES, PAdES, CAdES et ASiC avec 10 fournisseurs de clés et 21 profils nationaux 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 →Composants Indy TCP/IP mis à jour avec TLS moderne, IPv6 et HTTP/2, de Delphi 7 à 13.
En savoir plus →15 composants IA, LLM et MCP pour Delphi et C++ Builder. Un seul composant de chat atteint OpenAI, Anthropic, Gemini, DeepSeek, Ollama, Grok et Mistral. Autonome, le runtime sgcWebSockets Core est inclus.
En savoir plus →Composants clients MQTT 3.1.1 et 5.0, AMQP 0.9.1, AMQP 1.0, Apache Kafka et STOMP pour Delphi et C++ Builder. Autonome, le runtime sgcWebSockets Core est inclus.
En savoir plus →Bibliothèque de cryptographie généraliste pour Delphi et C++ Builder : chiffrement symétrique et asymétrique, hachage et algorithmes post-quantiques. Livrée gratuitement à partir de sgcWebSockets Standard.
En savoir plus →Clients WhatsApp Business Cloud API et Telegram TDLib. Autonome, le runtime sgcWebSockets Core est inclus.
En savoir plus →