Tanguy | / Windev, WDScript et Linux

WDScript v2.5.0 en préparation, nouveauté : Le mode FastCGI

Ce nouveau mode d'exécution est maintenant pris en charge dans les nouvelles versions de WDScript. (depuis v2.4.8)

UPDATE 21 Jan. : WDScript 2.4.9 WD15 : Le mode FastCGI est Compatible IIS 7.5 ! ainsi que Apache 2.2 et Lighttpd Windows et Linux
UPDATE 15 Jan. : Sources WDScript 2.4.8 WD15 avec Librairies Fast CGI dispo (1ere préversion 2.5.0)
Lien vers les téléchargements sur sf.net : http://sourceforge.net/projects/wdscript/files/

Le mode FastCGI est à mi-chemin entre le CGI (Process qui effectue un traitement unique) et un mode Client/Serveur où le serveur
serait l'application WDScript.

Je cherchais à obtenir ce mode Client/Serveur via un module PHP fait par mes soins (en Delphi) mais cela n'a jamais été parfait, car je cherchais
à faire du Multithread directement en Windev sur un projet migré depuis Windev 5.5...

Avantages

WDScript 15 v2.4.5 fonctionne normalement sous linux !

Je confirme, la compilation dynamique fonctionne enfin correctement sous linux avec Windev 15.

Plus besoin du mode précompilé pour faire fonctionner le projet wash sous linux...

Vous pouvez le tester ici sur Lighttpd (FastCGI) : http://tanguy.fr.to/wash/

EDIT: Maintenant disponible
Il reste toutefois une limitation de Windev 15 concernant la compilation dynamique, les procédures globales surchargées ne semblent pas prioritaires...
Il y a dans le projet une collection de procédure normmée"Linux" dans laquelle j'ai mis les principales fonctions WLangage non supportées ou non finalisées...

Exemple :

IniLit("","","",sFichierIni) //ne renvoie rien... Sous windows, cela renvoie les sections
Linux.IniLit("","","",sFichierIni) //Patch temporaire pour obtenir les sections d'un fichier INI

SQLiteManager 1.2.1 (Support PHP 5.3)

Je travaille actuellement sur une nouvelle version de EWS (Easy Web Server) et en mettant à jour ses composants,
je me suis rendu compte que PHP 5.3 apportait énormément de changements, car c'est une version plus proche de PHP 6.0 que de PHP 5.0

J'ai contribué il y a quelques années au projet SQLiteManager (Theme, amélioration du code) et j'ai donc passé quelques heures afin de le mettre à jour...

Voici donc en pièce jointe la préversion 1.2.1, qui ne contient pas de nouveautés, mais qui supporte aussi bien PHP 5.3 que les versions précédentes...

Windev Version 15, enfin une évolution sous linux !

Apres 5 ans et 5 versions de Windev (depuis windev 10), la fonction magique "Compile()" fonctionne enfin correctement sous linux, (du moins mieux qu'en Windev 14) !

package-versions-15_Copyright-PCSoft.png

Nous devons certainement cette évolution au support Android de Windows Mobile (qui fonctionne sur un noyau linux).
Les projets WLScript et WDScript vont donc pouvoir reprendre :)

Merci à Pcsoft et à Google :)

sRes est chaine
 
sDate est une chaine = DateVersChaine(DateSys())
sRes += "Nous sommes le "+sDate + RC
 
sRes += "fRepExe() = "+fRepExe()
 
RENVOYER sRes

dedib:/usr/share/wlscript# wlscript -s ./test.wl
Nous sommes le 23/12/2009
fRepExe() = /usr/share/wlscript

RAPPEL : WLScript est un tout petit projet pour executer des scripts wlangage en ligne de commande

A suivre...

Android - InitRD et RootFS HTC Kaiser (TyTn 2)

android_diagonale.jpg

Voici ma première création de branche Git sur GitHub (Collaboration du style SVN)

  • Mise à jour de busybox (1.15.2) dans le rootfs compatible HTC d'android (pour modeles Kaiser, Vogue, Polaris, Nike, etc)
  • Busybox est un ensemble de commandes shell linux, il est tres important de le conserver à jour pour avoir acces aux nouvelles fonctions.
    Il est utilisé dans les routeurs modernes et sur les téléphones/PDA Android

  • Simplification du script init
  • Les scripts spécifiques aux appareils sont maintenant dans /init.cfg
  • Renommage du /init1 en /init.android
  • Mise à jour du initrd.gz pour le support SquashFS de l'image rootfs (fichier rootfs.sqsh)
  • Ajout de kexec et d'un script reboot pour permettre de charger facilement un nouveau noyau
  • Classe cLibUSB

    MAJ 20 Oct 2009 : Version 1.2

    - Mise à jour du driver libusb
    - Correction de la liste des interfaces pour certains appareils
    - Ajout d'un exemple de transmission Bulk (TTY au Bootloader Windows Mobile)

    La classe cLibUSB pour Windev 12 permet d'interfacer des périphériques de tout type via le protocole USB.

    J'ai créé cette classe afin de m'aider à créer un driver linux. En effet, libusb est compatible windows (32 et 64bit) mais provient du monde linux, c'est une librairie qui permet d'accéder aux périphériques sans son driver d'origine; ce que l'on nomme sous linux l'user-space.

    small_clibusb_alpha.png usb.png

    Dessiner l'icone associée à une extension de fichier

    Francis Morel propose sur son nouveau site un exemple de fenêtre qui permet d'extraire une icone d'un exécutable (ou bibliothèque) http://softprotect.canalblog.com/archives/2008/11/02/11228525.html#11228525

    Je vous propose une procédure complémentaire pour Windev qui vous permet de récupérer l'icone utilisée dans l'explorateur windows pour un type de fichier donné...

    Classe cLGTV

    Cette classe permet d'envoyer des commandes à une ou plusieurs TV LCD possédant une interface RS232. Elle permet de remplacer la télécommande et de transformer votre télévision en réveil matin, par exemple. Ou encore simplement d'activer la Sortie RGB afin d'afficher un film sans
    chercher votre télécommande...

    cLGTV.png

    Elle a été conçue pour une Télévision LG 42LE2R, et devrait être compatible avec la plupart des TV de cette marque, certaines constantes seront peut-être incorrectes sur d'autres modèles ne possédant pas les mêmes caractéristiques (nombre d'entrées etc) mais sont très simples à déterminer.

    Classe cHTTPCookies

    EDIT : 15 Mai 2010
    Windev 15061f contient de nouvelles fonctions pour la gestion des cookies, elles ne sont pas encore documentées à l'heure où j'écris ces lignes
    mais en voici la liste :

    HTTPCookieEcrit(<Domaine>,<Nom>,<Valeur>)
    HTTPCookieGère([<Domaine>,]<bActive>)
    <Résultat> = HTTPCookieLit(<Domaine>,<Nom>)
    HTTPCookieRAZ([<Domaine>])
    <Résultat> = HTTPCookieRécupère(<Domaine>)
    HTTPCookieRemplace(<Domaine>,<TabCookie>) 

    Mise à jour du serveur

    Vous avez certainement du constater des problèmes d'accès à ce site ces derniers temps.
    Le problème devrait maintenant être réglé, je l'ai migré sur une dedibox v2 (avec deux fois plus de Ram)

    Le probleme venait du forum wdscript "floodé" par les bots google et et co.... J'ai donc du passer sur un autre serveur web (donc un autre port)

    J'en ai profité pour abandonner apache 2 pour ce site au profit de lighttpd, dont la notoriété est grandissante.
    En cas de probleme d'accès, ce site est aussi accessible via http://tanguy.ath.cx:443

    Syndiquer le contenu