{"id":192,"date":"2023-08-30T15:32:45","date_gmt":"2023-08-30T13:32:45","guid":{"rendered":"http:\/\/127.0.0.1\/wordpress\/?page_id=192"},"modified":"2026-03-16T19:20:23","modified_gmt":"2026-03-16T17:20:23","slug":"lightrest-demarrage-rapide","status":"publish","type":"page","link":"https:\/\/lightrest.codeline.fr\/index.php\/lightrest-composant-rest-windev\/lightrest-documentation\/lightrest-demarrage-rapide\/","title":{"rendered":"LightREST : Guide de D\u00e9marrage rapide"},"content":{"rendered":"\n<div class=\"wp-block-group is-vertical is-content-justification-stretch is-layout-flex wp-container-core-group-is-layout-353c4f5a wp-block-group-is-layout-flex\">\n<h4 class=\"wp-block-heading\">Guide de <strong>D\u00e9marrage rapide<\/strong><\/h4>\n\n\n\n<p>Pr\u00eat \u00e0 d\u00e9velopper votre premier serveur <mark style=\"background-color:rgba(0, 0, 0, 0);color:#004073\" class=\"has-inline-color\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#02639c\" class=\"has-inline-color\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\">LightREST<\/mark><\/strong><\/mark><\/mark><\/mark> ?<br>C&rsquo;est parti !<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>T\u00e9l\u00e9chargement du composant <mark style=\"background-color:rgba(0, 0, 0, 0);color:#02639c\" class=\"has-inline-color\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\">LightREST<\/mark><\/strong><\/mark><\/mark> <strong><a data-type=\"page\" data-id=\"1004\" href=\"https:\/\/lightrest.codeline.fr\/index.php\/lightrest-telechargement\/\"><u>ICI<\/u><\/a> <\/strong>et d\u00e9zip du fichier <\/li>\n\n\n\n<li>Cr\u00e9ation un nouveau projet WinDev (versions 25 et sup\u00e9rieures)<\/li>\n\n\n\n<li>Dans l&rsquo;Explorateur du projet, clic-droit sur \u00ab\u00a0<em>Composants Externes<\/em>\u00a0\u00bb et s\u00e9lection de \u00ab\u00a0<em>Importer un composant externe \u00e0 partir d&rsquo;un fichier\u00a0\u00bb<\/em><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"357\" height=\"51\" src=\"https:\/\/lightrest.codeline.fr\/wp-content\/uploads\/2023\/08\/import_composant_lightrest.png\" alt=\"Importation d'un composant externe dans une application WinDev\" class=\"wp-image-195\" style=\"width:405px;height:58px\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>S\u00e9lection du fichier <em>LightREST3.wdi<\/em>, pr\u00e9sent dans le sous-r\u00e9pertoire \u00ab\u00a0Binaires\/LightREST3\u00a0\u00bb <font size=\"2\">(ou une autre version en fonction de la ou les plateforme(s) cible(s))<\/font><\/li>\n\n\n\n<li>Validation des divers \u00e9crans de confirmation<\/li>\n\n\n\n<li>D\u00e9plier l&rsquo;\u00e9l\u00e9ment \u00ab\u00a0Composant LightREST\u00a0\u00bb dans l&rsquo;Explorateur du projet, le contenu devrait appara\u00eetre :<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"120\" src=\"https:\/\/lightrest.codeline.fr\/wp-content\/uploads\/2023\/08\/compo.png\" alt=\"\" class=\"wp-image-913\" style=\"width:405px;height:undefinedpx\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dans le code d&rsquo;ouverture du projet,  copier\/coller ce code qui :<br>\n<ul class=\"wp-block-list\">\n<li>Cr\u00e9e une route REST avec l&rsquo;URL \/ping et la m\u00e9thode GET<\/li>\n\n\n\n<li>D\u00e9marre le serveur REST sur le port 9876<\/li>\n\n\n\n<li>Impl\u00e9mente une fonction REST piPing() qui va g\u00e9n\u00e9rer la r\u00e9ponse (nb : on utilise ici une proc\u00e9dure interne par souci pratique; dans un vrai projet, on privil\u00e9giera une collection de proc\u00e9dures contenant les handlers REST) :\n<ul class=\"wp-block-list\">\n<li>Le contenu de la r\u00e9ponse est \u00ab\u00a0Pong\u00a0\u00bb + IP client + heure syst\u00e8me<\/li>\n\n\n\n<li>Le type du contenu est TEXTE (type MIME <em>text\/plain<\/em>)<\/li>\n\n\n\n<li>Le statut de retour est OK (Statut HTTP 200)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-white-color has-text-color has-background\" style=\"background:linear-gradient(135deg,rgb(38,38,38) 0%,rgb(118,118,118) 100%);font-size:17px\"><code>oServer est objet lrServer\noRoute  est objet lrRoute\nbOK     est bool\u00e9en\nsErr    est cha\u00eene\n\noServer:IPAndPort = \"127.0.0.1:9876\"\n\noRoute.Method  = lrRoute::MethodGET\noRoute.Route   = \"\/ping\"\noRoute.Handler = piPing\n\n(bOK, sErr) = oServer:AddRoute(oRoute)\nSI PAS bOK ALORS\n    Erreur(\"Erreur lors de la cr\u00e9ation de la route : \", sErr)\n    RETOUR\nFIN\n\n(bOK, sErr) = oServer:Start()\nSI PAS bOK ALORS\n    Erreur(\"Erreur lors du d\u00e9marrage : \", sErr)\n    RETOUR\nFIN\n\nInfo(\"Call http:\/\/&#91;%oServer:IPAndPort%]&#91;%oRoute:Route%]\", CRLF+\"Click on OK to close LightREST server\")\n\noServer:Terminate()\n\n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n\nPROCEDURE INTERNE piPing(poRequest objet lrRequest, poResponse objet lrResponse)\n\n    poResponse .Body        = \"Sending pong to host \" + poRequest.Host + \" at \" + DateVersCha\u00eene(DateHeureSys())\n    poResponse .ContentType = lrResponse::ContentTXT\n    poResponse :Status      = lrResponse::StatusOK\nFIN<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>D\u00e9marrer le projet WinDev (au premier lancement il est possible que Windows demande de confirmer l&rsquo;ouverture du port par l&rsquo;application)<\/li>\n\n\n\n<li>Sur un navigateur internet, acc\u00e9der \u00e0 l&rsquo;URL :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-white-color has-text-color has-background\" style=\"background:linear-gradient(135deg,rgb(38,38,38) 0%,rgb(118,118,118) 100%);font-size:17px\"><code>http:&#47;&#47;127.0.0.1:9876\/ping<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le serveur <mark style=\"background-color:rgba(0, 0, 0, 0);color:#02639c\" class=\"has-inline-color\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#02639c\" class=\"has-inline-color\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\">LightREST<\/mark><\/strong><\/mark><\/mark><\/mark> devrait r\u00e9pondre \u00ab\u00a0Pong\u00a0\u00bb + IP client + heure syst\u00e8me :<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code has-white-color has-text-color has-background\" style=\"background:linear-gradient(135deg,rgb(38,38,38) 0%,rgb(118,118,118) 100%);font-size:17px\"><code>Sending pong to host 127.0.0.1:9876 at 07\/12\/2025 03:50:26:4<\/code><\/pre>\n\n\n\n<p>Voil\u00e0 !<br>Votre premier serveur <mark style=\"background-color:rgba(0, 0, 0, 0);color:#02639c\" class=\"has-inline-color\"><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#004080\" class=\"has-inline-color\">LightREST<\/mark><\/strong><\/mark><\/mark> fonctionne !<\/p>\n\n\n\n<p>Pour aller plus loin, consulter la <a href=\"https:\/\/lightrest.codeline.fr\/index.php\/lightrest-composant-rest-windev\/lightrest-documentation\/\" title=\"Documentation LightREST\">documentation<\/a> et \u00e9tudier le projet WinDev<sup>\u00ae<\/sup> LightRESTDemo.<br>Et avant de se lancer dans le d\u00e9veloppement d&rsquo;une API REST en production, consulter les <a href=\"\/index.php\/bonnes-pratiques\/\" title=\"Bonnes Pratiques\"><u>Bonnes Pratiques<\/u><\/a>.<\/p>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Guide de D\u00e9marrage rapide Pr\u00eat \u00e0 d\u00e9velopper votre premier serveur LightREST ?C&rsquo;est parti ! Voil\u00e0 !Votre premier serveur LightREST fonctionne ! Pour aller plus loin, consulter la documentation et \u00e9tudier le projet WinDev\u00ae LightRESTDemo.Et avant de se lancer dans le d\u00e9veloppement d&rsquo;une API REST en production, consulter les Bonnes Pratiques.<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":161,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-192","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/192","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=192"}],"version-history":[{"count":101,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/192\/revisions"}],"predecessor-version":[{"id":2700,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/192\/revisions\/2700"}],"up":[{"embeddable":true,"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/pages\/161"}],"wp:attachment":[{"href":"https:\/\/lightrest.codeline.fr\/index.php\/wp-json\/wp\/v2\/media?parent=192"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}