{"id":1450,"date":"2023-09-06T17:20:40","date_gmt":"2023-09-06T15:20:40","guid":{"rendered":"https:\/\/lightrest.codeline.fr\/?page_id=1450"},"modified":"2023-09-06T18:08:48","modified_gmt":"2023-09-06T16:08:48","slug":"data-service","status":"publish","type":"page","link":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/","title":{"rendered":"DataService"},"content":{"rendered":"\n<p>Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 <strong><font color=\"#217070\">DataService<\/font><\/strong>.<\/p>\n\n\n\n<p>Il arrive fr\u00e9quemment qu&rsquo;on ait besoin de publier plusieurs tables d&rsquo;une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des proc\u00e9dures REST tr\u00e8s semblables \u00e0 la diff\u00e9rence pr\u00e8s qu&rsquo;elles ne distribuent pas les donn\u00e9es de la m\u00eame table de la base de donn\u00e9es.<\/p>\n\n\n\n<p><strong><font color=\"#217070\">DataService<\/font><\/strong> (qui est une \u00ab\u00a0surcouche\u00a0\u00bb de LightREST) permet d&rsquo;activer, sans aucun d\u00e9veloppement de proc\u00e9dure REST, des routes \u00ab\u00a0branch\u00e9es\u00a0\u00bb sur des tables ou des requ\u00eates et de les diffuser \u00e0 travers un Web Service REST, au format JSON. Bien \u00e9videmment <em>un contr\u00f4le complet sur le donn\u00e9es diffus\u00e9es<\/em>, les destinataires, les m\u00e9thodes REST autoris\u00e9es est inclus. <strong><font color=\"#217070\">DataService<\/font><\/strong> utilisant LightREST, toutes les caract\u00e9ristiques et avantages de celui-ci sont conserv\u00e9s.<\/p>\n\n\n\n<p>Comme indiqu\u00e9 dans la documentation LightREST, les bonnes pratiques de s\u00e9curit\u00e9 interdisent la diffusion en clair d&rsquo;identifiants de la base de donn\u00e9e \u00e0 des tiers ext\u00e9rieurs. <strong><font color=\"#217070\">DataService<\/font><\/strong> propose donc un<em> chiffrement\/d\u00e9chiffrement automatique des IDs automatiques<\/em> num\u00e9riques, ce qui permet de s\u00e9curiser les donn\u00e9es sans aucune intervention du d\u00e9veloppeur. Les IDs de type entier sont remplac\u00e9s par des UUIDs lorsqu&rsquo;on on envoie des donn\u00e9es par un Web Service. Si un UUID est re\u00e7u comme param\u00e8tre d&rsquo;une requ\u00eate, DataService le d\u00e9chiffre automatiquement et permet d&rsquo;acc\u00e9der \u00e0 l&rsquo;enregistrement concern\u00e9.<\/p>\n\n\n\n<p>Pour garder un contr\u00f4le complet sur l&rsquo;ex\u00e9cution des processus <strong><font color=\"#217070\">DataService<\/font><\/strong> , le d\u00e9veloppeur peut d\u00e9clarer des proc\u00e9dures qui s&rsquo;ex\u00e9cuteront automatiquement avant et apr\u00e8s chaque appel. Ces proc\u00e9dures pourront, par exemple :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Contr\u00f4ler le droit d&rsquo;acc\u00e8s \u00e0 une donn\u00e9e<\/li>\n\n\n\n<li>V\u00e9rifier la coh\u00e9rence d&rsquo;un enregistrement avant insertion ou modification d&rsquo;un enregistrement<\/li>\n\n\n\n<li>Refuser la mise \u00e0 jour d&rsquo;une donn\u00e9e<\/li>\n\n\n\n<li>Forcer des valeurs par d\u00e9faut <\/li>\n\n\n\n<li>Compl\u00e9ter, effacer, modifier des donn\u00e9es avant envoi du r\u00e9sultat<\/li>\n\n\n\n<li>&#8230;<\/li>\n<\/ul>\n\n\n\n<p>Avec <strong><font color=\"#217070\">DataService<\/font><\/strong>, le d\u00e9veloppeur peut publier sans effort des donn\u00e9es provenant de diff\u00e9rentes sources :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Table de base de donn\u00e9es (ou fichier sous HyperfileSQL)<\/li>\n\n\n\n<li>Requ\u00eate WinDev (.wdr)<\/li>\n\n\n\n<li>Requ\u00eate SQL format texte<\/li>\n<\/ul>\n\n\n\n<p><strong><font color=\"#217070\">DataService<\/font><\/strong> g\u00e8re optionnellement la <em>pagination <\/em>dans distribution des donn\u00e9es, afin que l&rsquo;appelant puisse, par exemple, affiche des donn\u00e9es volumineuses de fa\u00e7on optimis\u00e9e.<\/p>\n\n\n\n<p><strong><font color=\"#217070\">DataService<\/font><\/strong> sait \u00e9galement distribuer automatiquement en REST des <em>m\u00e9mos images<\/em> stock\u00e9s dans une base HyperfileSQL, avec redimensionnement possible \u00e0 la vol\u00e9e.<br><br>Pour chaque type de source de donn\u00e9es, on dispose d&rsquo;un objet sp\u00e9cifique :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>dsTable <\/strong>: table de la base de donn\u00e9es<\/li>\n\n\n\n<li><strong>dsRequeteWD <\/strong>: requ\u00eate WinDev (.wdr)<\/li>\n\n\n\n<li><strong>dsRequeteTXT <\/strong>: requ\u00eate Texte<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu&rsquo;on ait besoin de publier plusieurs tables d&rsquo;une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des [&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-1450","page","type-page","status-publish","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu&#039;on ait besoin de publier plusieurs tables d&#039;une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"LightREST - Composant WinDev\u00ae serveur REST Open source - L\u00e9ger. Rapide. Sans licence Serveur ni SAAS\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"DataService - LightREST - Composant WinDev\u00ae serveur REST Open source\" \/>\n\t\t<meta property=\"og:description\" content=\"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu&#039;on ait besoin de publier plusieurs tables d&#039;une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2023-09-06T15:20:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-09-06T16:08:48+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"DataService - LightREST - Composant WinDev\u00ae serveur REST Open source\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu&#039;on ait besoin de publier plusieurs tables d&#039;une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/lightrest.codeline.fr\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#listItem\",\"name\":\"DataService\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#listItem\",\"position\":2,\"name\":\"DataService\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr#listItem\",\"name\":\"Home\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/#organization\",\"name\":\"CODE LINE\",\"description\":\"L\\u00e9ger. Rapide. Sans licence Serveur ni SAAS\",\"url\":\"https:\\\/\\\/lightrest.codeline.fr\\\/\",\"email\":\"contact@codeline.fr\",\"telephone\":\"+33601593012\",\"foundingDate\":\"2017-01-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"value\":50},\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/lightrest.codeline.fr\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/logo-LightREST-e1770458446221.png\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#organizationLogo\",\"width\":300,\"height\":196},\"image\":{\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#organizationLogo\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/codeline-fr\"]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#webpage\",\"url\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/\",\"name\":\"DataService - LightREST - Composant WinDev\\u00ae serveur REST Open source\",\"description\":\"Le composant LightREST propose, en plus de la possibilit\\u00e9 de d\\u00e9ployer des Web Services en REST, un syst\\u00e8me de plus haut niveau appel\\u00e9 DataService. Il arrive fr\\u00e9quemment qu'on ait besoin de publier plusieurs tables d'une base de donn\\u00e9es sur des routes diff\\u00e9rentes. Il peut alors devenir p\\u00e9nible de d\\u00e9clarer chaque route et de d\\u00e9velopper des\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/index.php\\\/data-service\\\/#breadcrumblist\"},\"datePublished\":\"2023-09-06T17:20:40+02:00\",\"dateModified\":\"2023-09-06T18:08:48+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/#website\",\"url\":\"https:\\\/\\\/lightrest.codeline.fr\\\/\",\"name\":\"LightREST - Composant WinDev\\u00ae Web Service REST Open source\",\"description\":\"L\\u00e9ger. Rapide. Sans licence Serveur ni SAAS\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/lightrest.codeline.fr\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"DataService - LightREST - Composant WinDev\u00ae serveur REST Open source","description":"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu'on ait besoin de publier plusieurs tables d'une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des","canonical_url":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BreadcrumbList","@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/lightrest.codeline.fr#listItem","position":1,"name":"Home","item":"https:\/\/lightrest.codeline.fr","nextItem":{"@type":"ListItem","@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#listItem","name":"DataService"}},{"@type":"ListItem","@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#listItem","position":2,"name":"DataService","previousItem":{"@type":"ListItem","@id":"https:\/\/lightrest.codeline.fr#listItem","name":"Home"}}]},{"@type":"Organization","@id":"https:\/\/lightrest.codeline.fr\/#organization","name":"CODE LINE","description":"L\u00e9ger. Rapide. Sans licence Serveur ni SAAS","url":"https:\/\/lightrest.codeline.fr\/","email":"contact@codeline.fr","telephone":"+33601593012","foundingDate":"2017-01-01","numberOfEmployees":{"@type":"QuantitativeValue","value":50},"logo":{"@type":"ImageObject","url":"https:\/\/lightrest.codeline.fr\/wp-content\/uploads\/2026\/02\/logo-LightREST-e1770458446221.png","@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#organizationLogo","width":300,"height":196},"image":{"@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#organizationLogo"},"sameAs":["https:\/\/www.linkedin.com\/company\/codeline-fr"]},{"@type":"WebPage","@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#webpage","url":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/","name":"DataService - LightREST - Composant WinDev\u00ae serveur REST Open source","description":"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu'on ait besoin de publier plusieurs tables d'une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/lightrest.codeline.fr\/#website"},"breadcrumb":{"@id":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/#breadcrumblist"},"datePublished":"2023-09-06T17:20:40+02:00","dateModified":"2023-09-06T18:08:48+02:00"},{"@type":"WebSite","@id":"https:\/\/lightrest.codeline.fr\/#website","url":"https:\/\/lightrest.codeline.fr\/","name":"LightREST - Composant WinDev\u00ae Web Service REST Open source","description":"L\u00e9ger. Rapide. Sans licence Serveur ni SAAS","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/lightrest.codeline.fr\/#organization"}}]},"og:locale":"fr_FR","og:site_name":"LightREST - Composant WinDev\u00ae serveur REST Open source - L\u00e9ger. Rapide. Sans licence Serveur ni SAAS","og:type":"article","og:title":"DataService - LightREST - Composant WinDev\u00ae serveur REST Open source","og:description":"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu'on ait besoin de publier plusieurs tables d'une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des","og:url":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/","article:published_time":"2023-09-06T15:20:40+00:00","article:modified_time":"2023-09-06T16:08:48+00:00","twitter:card":"summary_large_image","twitter:title":"DataService - LightREST - Composant WinDev\u00ae serveur REST Open source","twitter:description":"Le composant LightREST propose, en plus de la possibilit\u00e9 de d\u00e9ployer des Web Services en REST, un syst\u00e8me de plus haut niveau appel\u00e9 DataService. Il arrive fr\u00e9quemment qu'on ait besoin de publier plusieurs tables d'une base de donn\u00e9es sur des routes diff\u00e9rentes. Il peut alors devenir p\u00e9nible de d\u00e9clarer chaque route et de d\u00e9velopper des"},"aioseo_meta_data":{"post_id":"1450","title":null,"description":null,"keywords":[],"keyphrases":{"focus":{"keyphrase":"","score":0,"analysis":{"keyphraseInTitle":{"score":0,"maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":[],"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"WebPage","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2023-09-06 15:12:53","updated":"2026-02-25 17:54:04","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/lightrest.codeline.fr\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tDataService\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/lightrest.codeline.fr"},{"label":"DataService","link":"https:\/\/lightrest.codeline.fr\/index.php\/data-service\/"}],"_links":{"self":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/1450","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=1450"}],"version-history":[{"count":18,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/1450\/revisions"}],"predecessor-version":[{"id":1494,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/1450\/revisions\/1494"}],"wp:attachment":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1450"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}