{"id":2205,"date":"2026-02-16T15:44:51","date_gmt":"2026-02-16T13:44:51","guid":{"rendered":"https:\/\/lightrest.codeline.fr\/?page_id=2205"},"modified":"2026-03-06T01:16:55","modified_gmt":"2026-03-05T23:16:55","slug":"les-nouveautes-de-lightrest-v3","status":"publish","type":"page","link":"https:\/\/lightrest.codeline.fr\/index.php\/les-nouveautes-de-lightrest-v3\/","title":{"rendered":"Les nouveaut\u00e9s de LightREST V3"},"content":{"rendered":"\n<p><br>LightREST V3 marque une \u00e9volution majeure :&nbsp;<strong>plus ouvert<\/strong>,&nbsp;<strong>plus flexible<\/strong>,&nbsp;<strong>plus s\u00e9curis\u00e9<\/strong>, et&nbsp;<strong>plus robuste en production<\/strong>.<br>Cette page r\u00e9capitule les nouveaut\u00e9s principales et surtout&nbsp;<strong>ce qu\u2019elles apportent concr\u00e8tement<\/strong>&nbsp;au quotidien.<br><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\">LightREST devient&nbsp;<strong>open source<\/strong><\/h2>\n\n\n\n<p>Le code int\u00e9gral du composant&nbsp;<strong><a href=\"https:\/\/pcsoft.fr\/windev\">WinDev<\/a><sup>\u00ae<\/sup><\/strong>&nbsp;est livr\u00e9, ainsi que celui du moteur REST d\u00e9velopp\u00e9 en&nbsp;<strong><a href=\"https:\/\/go.dev\/\">GO<\/a><\/strong>&nbsp;(choisi pour ses performances). Pour \u00eatre utile \u00e0 un maximum de WinDeveloppeurs, le projet LightREST est livr\u00e9 en&nbsp;<a href=\"https:\/\/pcsoft.fr\/windev\">WinDev<\/a><sup>\u00ae<\/sup>&nbsp;25, \u00e9videmment migrable dans les versions ult\u00e9rieures. Le projet&nbsp;<a href=\"https:\/\/go.dev\/\"><\/a><a href=\"https:\/\/go.dev\/\">GO<\/a>&nbsp;est compil\u00e9 en version 1.25.5.<\/p>\n\n\n\n<p>Le code source de LightREST est diffus\u00e9 sous licence&nbsp;<strong><a href=\"https:\/\/opensource.org\/license\/mit\">MIT<\/a><\/strong>, donc sans aucune restriction de modification ni aucune obligation de diffusion. Evidemment, toutes les suggestions de corrections, \u00e9volutions, am\u00e9liorations propos\u00e9es par la communaut\u00e9 des d\u00e9veloppeurs seront les bienvenues !<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Confiance &amp; p\u00e9rennit\u00e9<\/strong>&nbsp;: plus de \u201cbo\u00eete noire\u201d. Le d\u00e9veloppeur LightREST peut auditer, comprendre, et maintenir.<\/li>\n\n\n\n<li><strong>D\u00e9bogage acc\u00e9l\u00e9r\u00e9<\/strong>&nbsp;: en cas de cas limite, suivi du flux complet (Wlangage \u2192 moteur Go \u2192 r\u00e9ponse).<\/li>\n\n\n\n<li><strong>\u00c9volutivit\u00e9<\/strong>&nbsp;: Adaptation du composant aux contraintes sp\u00e9cifiques (infra, s\u00e9curit\u00e9, conventions internes).<\/li>\n\n\n\n<li><strong>Performances ma\u00eetris\u00e9es<\/strong>&nbsp;:&nbsp;<a href=\"https:\/\/go.dev\/\">Go<\/a>&nbsp;est particuli\u00e8rement efficace pour les serveurs r\u00e9seau (I\/O, concurrence, throughput).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Multi-instances<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Possibilit\u00e9 d&rsquo;instancier&nbsp;<strong>plusieurs serveurs<\/strong>&nbsp;LightREST dans un m\u00eame ex\u00e9cutable (sur des ports diff\u00e9rents) :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>S\u00e9paration des usages<\/strong>&nbsp;: un port \u201cpublic\u201d, un port \u201cadmin\u201d, un port \u201cinterne\u201d. <\/li>\n\n\n\n<li><strong>Politiques diff\u00e9rentes<\/strong>&nbsp;: timeouts, limites, s\u00e9curit\u00e9, logs\u2026 selon le serveur. <\/li>\n\n\n\n<li><strong>D\u00e9ploiement simplifi\u00e9<\/strong>&nbsp;: un seul binaire, plusieurs endpoints (par exemple public\/priv\u00e9\/admin), sans multiplier les services.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><a data-type=\"page\" data-id=\"2239\" href=\"https:\/\/lightrest.codeline.fr\/index.php\/lightrest-composant-rest-windev\/lightrest-documentation\/les-hooks\/\"><strong><u>Hooks<\/u><\/strong>&nbsp;<\/a>before \/ after <\/h2>\n\n\n\n<p>Les hooks sont de puissants m\u00e9canismes d&rsquo;interception d\u2019\u00e9v\u00e9nements cl\u00e9s : r\u00e9ception, authentification, avant ex\u00e9cution, apr\u00e8s ex\u00e9cution, avant envoi.<br>Un hook peut&nbsp;<strong>refuser<\/strong>&nbsp;une requ\u00eate, <strong>compl\u00e9ter ou remplacer<\/strong> une r\u00e9ponse (corps, ent\u00eates, &#8230;) et :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Centralise<\/strong>&nbsp;les traitements r\u00e9currents comme l\u2019auth, l\u2019audit, le rate-limit, les headers de s\u00e9curit\u00e9.<\/li>\n\n\n\n<li><strong>\u00c9vite la duplication<\/strong>&nbsp;: plus besoin de r\u00e9p\u00e9ter les m\u00eames contr\u00f4les dans chaque route.<\/li>\n\n\n\n<li><strong>Standardise les r\u00e9ponses<\/strong>&nbsp;: enveloppe JSON, format d\u2019erreur homog\u00e8ne, IDs de corr\u00e9lation, etc.<\/li>\n\n\n\n<li><strong>Facilite l\u2019observabilit\u00e9<\/strong>&nbsp;: logs, m\u00e9triques, traces, sans polluer les handlers m\u00e9tier.<\/li>\n<\/ul>\n\n\n\n<p>Plus de d\u00e9tails sur le fonctionnement des Hooks <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/lightrest-composant-rest-windev\/lightrest-documentation\/les-hooks\/\" data-type=\"page\" data-id=\"2239\"><u>ICI<\/u><\/a>:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Bon r\u00e9flexe : utiliser les hooks comme \u201cpipeline transverse\u201d, et garder les routes centr\u00e9es sur le m\u00e9tier.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>ID Ciphering<\/strong><\/h2>\n\n\n\n<p>Ajout d\u2019un m\u00e9canisme de&nbsp;<strong>chiffrement<\/strong>&nbsp;des IDs (ex: IDs BDD) pour \u00e9viter qu\u2019ils soient pr\u00e9visibles\/exploitables.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>R\u00e9duit le risque d\u2019\u00e9num\u00e9ration<\/strong>&nbsp;(ex: tester \/users\/1, \/users\/2, \/users\/3\u2026).<\/li>\n\n\n\n<li><strong>Prot\u00e8ge la valeur m\u00e9tier<\/strong>&nbsp;des identifiants internes (clients, devis, factures, etc.).<\/li>\n\n\n\n<li><strong>Bloque<\/strong>&nbsp;le \u201cdata scraping\u201d automatis\u00e9.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Important : l&rsquo;ID Ciphering est une&nbsp;<strong>d\u00e9fense en profondeur<\/strong>. Il ne remplace pas l\u2019auth\/ACL : il la compl\u00e8te.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Optimisations<\/strong><\/h2>\n\n\n\n<p>Am\u00e9liorations internes du moteur LightREST : variables atomiques (thread safety), maps concurrentes, mutex, channels synchronis\u00e9s, time-bounds. Traitements Interne du moteur jusqu&rsquo;\u00e0 50% plus rapides. <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Plus de d\u00e9bit<\/strong>&nbsp;pour le m\u00eame serveur (ou moins de ressources pour le m\u00eame d\u00e9bit).<\/li>\n\n\n\n<li>Gestion des r\u00e9ponses au <strong>format binaire<\/strong> jusqu&rsquo;\u00e0 50% plus rapide<\/li>\n\n\n\n<li><strong>Meilleure tenue en charge<\/strong>&nbsp;lors des pics.<\/li>\n\n\n\n<li><strong>Meilleure latence<\/strong>&nbsp;et UX c\u00f4t\u00e9 clients (mobile, web, int\u00e9grations).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>S\u00e9curisation<\/strong>&nbsp;renforc\u00e9e<\/h2>\n\n\n\n<p>Renforcement de l\u2019isolation entre traitements parall\u00e8les (compartimentation des ex\u00e9cutions).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>R\u00e9duit les effets de bord<\/strong>&nbsp;entre requ\u00eates concurrentes (donn\u00e9es partag\u00e9es, contamination de contexte).<\/li>\n\n\n\n<li><strong>Diminue les risques de race conditions<\/strong>&nbsp;et bugs \u201cfant\u00f4mes\u201d difficiles \u00e0 reproduire.<\/li>\n\n\n\n<li><strong>Am\u00e9liore la stabilit\u00e9<\/strong>&nbsp;sous charge, l\u00e0 o\u00f9 la concurrence r\u00e9v\u00e8le les faiblesses.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Windows 32 bits<\/strong><\/h2>\n\n\n\n<p>Le composant fonctionne d\u00e9sormais en&nbsp;<strong>Windows 32 bits<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Compatibilit\u00e9<\/strong>&nbsp;avec des environnements legacy ou des contraintes d\u2019ex\u00e9cution sp\u00e9cifiques.<\/li>\n\n\n\n<li>Possibilit\u00e9 d\u2019embarquer LightREST dans des binaires 32 bits existants sans refonte majeure.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Multi OS<\/strong><\/h2>\n\n\n\n<p>Version disponibles :  <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Compl\u00e8te<\/strong>&nbsp;(multi OS)<\/li>\n\n\n\n<li><strong>Windows <\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>32 bits<\/strong><\/li>\n\n\n\n<li><strong>64<\/strong>&nbsp;<strong> bits<\/strong><\/li>\n\n\n\n<li><strong>32 bits + 64&nbsp;bits<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Linux&nbsp;64<\/strong> <strong>bits<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Pourquoi utiliser la version du composant correspondant \u00e0 l&rsquo;OS cible ?<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Optimisation footprint<\/strong>&nbsp;: binaire plus petit, moins de m\u00e9moire occup\u00e9e.<\/li>\n\n\n\n<li><strong>Packaging plus propre<\/strong>&nbsp;selon les cibles (prod Linux, dev Windows\u2026).<\/li>\n\n\n\n<li><strong>D\u00e9ploiement plus rapide<\/strong>&nbsp;(transferts, CI\/CD, containers).<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>MaxRequests<\/strong>&nbsp;<\/h2>\n\n\n\n<p>D\u00e9finition d\u2019un maximum de requ\u00eates simultan\u00e9es en ex\u00e9cution pour \u00e9viter l\u2019overflow.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Protection directe contre la&nbsp;<strong>surcharge<\/strong>&nbsp;(pics, bots, erreurs clients).<\/li>\n\n\n\n<li>\u00c9vite l\u2019\u00e9puisement des ressources (threads\/m\u00e9moire) et l\u2019effet domino.<\/li>\n\n\n\n<li>Permet un comportement contr\u00f4l\u00e9 (ex: refus propre, r\u00e9ponse coh\u00e9rente).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>CustomData<\/strong>&nbsp;serveur &amp; route<\/h2>\n\n\n\n<p>Des donn\u00e9es propres au serveur et\/ou \u00e0 la route sont transmises automatiquement \u00e0 la requ\u00eate (lrRequest). CustomData est impl\u00e9ment\u00e9 dans lrServer et lrRoute et transmis automatiquement aux handlers REST avec chaque requ\u00eate. Evite par exemple de recharger \u00e0 chaque requ\u00eate des \u00e9l\u00e9ments globaux, des param\u00e8tres, &#8230;, et ainsi d&rsquo;optimiser le temps d&rsquo;ex\u00e9cution.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u00c9viter de relire<\/strong>&nbsp;en boucle des infos globales (config, r\u00e9f\u00e9rences, caches, services).<\/li>\n\n\n\n<li><strong>Injecter du contexte<\/strong>&nbsp;propre \u00e0 une route : permissions requises, tags, options, strat\u00e9gie de r\u00e9ponse\u2026<\/li>\n\n\n\n<li><strong>Architecture plus propre<\/strong>&nbsp;: le runtime porte le contexte, les handlers restent \u201cm\u00e9tier\u201d.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Bon r\u00e9flexe : y stocker des \u00e9l\u00e9ments susceptibles de causer des collisions entre des requ\u00eates concurrentes (pas besoin de s\u00e9maphores ou sections critiques)<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>WinDevErrorDetails<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Contr\u00f4le du&nbsp;<strong>niveau d\u2019information<\/strong>&nbsp;renvoy\u00e9 au client en cas d\u2019erreur.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En production, pas de&nbsp;<strong>leak<\/strong>&nbsp;des d\u00e9tails techniques (stack, SQL, chemins, lignes de code, variables, infos internes).<\/li>\n\n\n\n<li>Erreurs&nbsp;<strong>propres c\u00f4t\u00e9 client<\/strong>&nbsp;(messages ma\u00eetris\u00e9s, codes coh\u00e9rents).<\/li>\n\n\n\n<li>Ajustement du niveau de d\u00e9tail selon l\u2019environnement :&nbsp;<strong>dev<\/strong>&nbsp;(complet) vs&nbsp;<strong>prod<\/strong>&nbsp;(minimal).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\">Request&nbsp;<strong>timeout<\/strong>&nbsp;(global ou par route)<\/h2>\n\n\n\n<p>D\u00e9finition un timeout : &#8211; pour tout le serveur, &#8211; et\/ou sp\u00e9cifique \u00e0 une route (traitement long).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9vite les traitements qui tournent&nbsp;<strong>ind\u00e9finiment<\/strong>&nbsp;(protection prod).<\/li>\n\n\n\n<li><strong>Pr\u00e9serve les ressources<\/strong>&nbsp;serveur (threads, I\/O, m\u00e9moire).<\/li>\n\n\n\n<li>Permet d\u2019adapter : routes rapides (timeout court), exports lourds (timeout long).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Taille du composant<\/strong><\/h2>\n\n\n\n<p>Le composant V3 est plus compact qu\u2019en V2, d&rsquo;environ 40% :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9ploiements plus rapides (CI\/CD, transferts, instanciations).<\/li>\n\n\n\n<li>Moins d\u2019empreinte sur les environnements contraints.<\/li>\n\n\n\n<li>Meilleure \u201cdensit\u00e9\u201d si on multiplie les instances \/ services.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Read \/ Write timeout<\/strong>&nbsp;<\/h2>\n\n\n\n<p>D\u00e9tection de la fermeture de connexion HTTP c\u00f4t\u00e9 client lors de la lecture\/\u00e9criture. Si le client est parti, le traitement est&nbsp;<strong>annul\u00e9 automatiquement<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9vite une&nbsp;<strong>charge inutile<\/strong>&nbsp;(on ne g\u00e9n\u00e8re pas une r\u00e9ponse que personne ne recevra).<\/li>\n\n\n\n<li>Prot\u00e8ge contre les clients instables \/ r\u00e9seaux mobiles.<\/li>\n\n\n\n<li>Am\u00e9liore la r\u00e9silience face \u00e0 certains comportements \u201clents\u201d (idle, connexions rompues).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\"><strong>Idle State<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Permet de garder la connexion HTTP ouverte entre le client et le serveur LightREST apr\u00e8s ex\u00e9cution d&rsquo;une requ\u00eate<\/li>\n\n\n\n<li>La connexion suivante \u00e9vite la r\u00e9ouverture de la connexion (et la ren\u00e9gociation SSL en mode HTTPS)<\/li>\n\n\n\n<li>La connexion est referm\u00e9e automatiquement lorsque le IDLE Timeout est atteint (60s par d\u00e9faut)<\/li>\n\n\n\n<li>R\u00e9sultat : Gain de performance lors de requ\u00eates successives<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\">Objet&nbsp;<strong>lrRoute<\/strong>&nbsp;<\/h2>\n\n\n\n<p>Le nouvel objet lrRoute permet de d\u00e9crire les routes de fa\u00e7on plus riche.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Centralise les m\u00e9tadonn\u00e9es d\u2019une route (options, custom data, politiques\u2026).<\/li>\n\n\n\n<li>Facilite la g\u00e9n\u00e9ration de documentation, tests, et outillage (ex: introspection).<\/li>\n\n\n\n<li>Permet d&rsquo;attacher des hooks sp\u00e9cifiques \u00e0 la route<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-montserrat-font-family has-large-font-size\" id=\"1-multi-instances-plusieurs-serveurs-lightrest-dans-un-m%C3%AAme-ex%C3%A9cutable\">Conclusion<\/h2>\n\n\n\n<p>Avec la V3, LightREST devient :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>plus transparent<\/strong>&nbsp;(open-source),<\/li>\n\n\n\n<li><strong>plus industrialisable<\/strong>&nbsp;(hooks, multi-instances, policies),<\/li>\n\n\n\n<li><strong>plus s\u00fbr<\/strong>&nbsp;(cipher ID, erreurs ma\u00eetris\u00e9es, compartimentation),<\/li>\n\n\n\n<li><strong>plus robuste<\/strong>&nbsp;en prod (timeouts, maxrequests, d\u00e9connexions),<\/li>\n\n\n\n<li>et&nbsp;<strong>plus l\u00e9ger<\/strong>&nbsp;(taille r\u00e9duite, variantes OS).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>LightREST V3 marque une \u00e9volution majeure :&nbsp;plus ouvert,&nbsp;plus flexible,&nbsp;plus s\u00e9curis\u00e9, et&nbsp;plus robuste en production.Cette page r\u00e9capitule les nouveaut\u00e9s principales et surtout&nbsp;ce qu\u2019elles apportent concr\u00e8tement&nbsp;au quotidien. LightREST devient&nbsp;open source Le code int\u00e9gral du composant&nbsp;WinDev\u00ae&nbsp;est livr\u00e9, ainsi que celui du moteur REST d\u00e9velopp\u00e9 en&nbsp;GO&nbsp;(choisi pour ses performances). Pour \u00eatre utile \u00e0 un maximum de WinDeveloppeurs, le projet [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2205","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/2205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/comments?post=2205"}],"version-history":[{"count":58,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/2205\/revisions"}],"predecessor-version":[{"id":2622,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/2205\/revisions\/2622"}],"wp:attachment":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/media?parent=2205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}