LightREST

Composant Serveur API REST pour WinDev®
Léger.
Rapide.
Gratuit.
Sans licence Serveur.

Guide de Démarrage rapide

Prêt à développer votre premier serveur LightREST ?
C’est parti !

  • Téléchargement du composant LightREST ICI et dézip du fichier
  • Création un nouveau projet WinDev (versions 25 et supérieures)
  • Dans l’Explorateur du projet, clic-droit sur “Composants Externes” et sélection de “Importer un composant externe à partir d’un fichier”
Importation d'un composant externe dans une application WinDev
  • Sélection du fichier LightREST.wdi (là où il a été dézippé)
  • Validation des divers écrans de confirmation
  • Déplier l’élément “Composant LightREST” dans l’Explorateur du projet, le contenu devrait apparaître :
  • Dans le code d’ouverture du projet, copier/coller ce code qui :
    • Crée une route REST avec l’URL /ping et la méthode GET
    • Démarre le serveur REST sur le port 9000
    • Implémente une fonction pi_Ping() qui va générer la réponse (nb : on utilise ici une procédure interne par souci pratique; dans un vrai projet, on privilégiera une collection de procédures contenant les fonctions REST) :
      • Le contenu de la réponse est “Pong” + heure système
      • Le type du contenu est TEXTE (type MIME text/plain)
      • Le statut de retour est OK (Statut HTTP 200)
bStartOK est booléen
cErrMess est chaîne
oServer	 est lrServer

//Création de la route /ping avec la méthode REST GET
oServer:AddRoute("/ping", lrServer::MethodGET, pi_Ping)

//Détermination de l'interface et du port d'écoute
oServer:IPAndPort = "0.0.0.0:9000"

//Activation du monitoring : renseignera les temps d'exécution dans les HEADERS de l'objet lrResponse
oServer:Monitoring = Vrai

ToastAffiche("Démarrage du serveur LightREST")

//C'est parti mon Kiki
(bStartOK, cErrMess) = oServer:Start()
SI PAS bStartOK ALORS
    Erreur(cErrMess)
    RETOUR
FIN

Info("Serveur LightREST démarré.", "Clic sur OK fermera le serveur.")



// Procedure REST pour la route /ping
PROCÉDURE INTERNE pi_Ping(stRequest est lrRequest <utile>) : lrResponse
	
    oResponse est lrResponse

    oResponse:Body        = "Pong "+HeureSys()
    oResponse:ContentType = lrResponse::ContentTXT
    oResponse:Status      = lrResponse::StatusOK

    RENVOYER oResponse	
	
FIN
  • Démarrer le projet WinDev (au premier lancement il est possible que Windows demande de confirmer l’ouverture du port par l’application)
  • Sur un navigateur internet, accéder à l’URL :
http://127.0.0.1:9000/ping
  • Le serveur LightREST devrait répondre “Pong” + l’heure système :
Pong 03075396

Voilà !
Votre premier serveur LightREST fonctionne !

Pour aller plus loin, consulter la documentation et étudier le projet WinDev® LightREST Tuto


L’AGL WinDev offre une approche simplifiée du développement logiciel, permettant aux développeurs de créer des applications robustes et diversifiées avec une facilité remarquable. En associant les fonctionnalités de WinDev aux Web Services REST, voici quelques-uns des avantages majeurs :

Avantages de l’utilisation de l’AGL WinDev :

  1. Productivité accrue : WinDev propose une interface intuitive, des fonctionnalités de glisser-déposer et une bibliothèque de composants prêts à l’emploi, ce qui accélère le processus de développement et améliore la productivité des développeurs.
  2. Multiplateforme : Cette AGL permet le développement d’applications pour divers systèmes d’exploitation, offrant ainsi une portée étendue pour toucher un large public.
  3. Gestion de base de données intégrée : WinDev intègre des outils pour la gestion des bases de données, simplifiant ainsi la manipulation des données au sein des applications sans avoir recours à des outils externes.
  4. Connectivité avancée : Les capacités de connectivité de WinDev permettent une intégration aisée avec diverses sources de données externes.

Avantages des Web Services REST :

  1. Interopérabilité : Les Web Services REST utilisent des protocoles standard tels que HTTP, JSON et XML, favorisant ainsi leur compatibilité avec de multiples plateformes et langages.
  2. Simplicité et flexibilité : Leur architecture simple basée sur des requêtes HTTP courantes (GET, POST, PUT, DELETE) les rend faciles à comprendre, à utiliser et à mettre en œuvre. De plus, ils offrent une flexibilité dans la manipulation des données.
  3. Scalabilité : Les Web Services REST sont conçus pour être évolutifs, ce qui signifie qu’ils peuvent facilement s’adapter à des charges de travail plus importantes sans compromettre les performances.