Juil 12

Lancer une application windev mobile d’une clef USB…

… Sans windev, ni dongle !

L’objectif est de pouvoir déployer une application windev (mobile), sur un PC standard, sans l’IDE de PCSoft, ni sa clef HASP: en utilisant le simulateur de PCSoft utilisé pendant le debug, pour une démonstration commerciale d’une application, par exemple.

... bon pour l'haleine du commercial

… bon pour l’haleine du commercial

Lire la suite

Déc 29

Analyste-programmeur WebDev Bordeaux

Infogones est un studio de développement expert sur les outils de PC Soft Windev/ Webdev/ Windev Mobile. La qualité de nos prestations nous a permis de nous forger une solide réputation auprès d’entreprises Françaises (TPE/PME et grands comptes) mais aussi auprès de clients étrangers (USA, UK, Allemagne, Belgique, Afrique du Sud, Gabon, Moldavie).

Dans le cadre d’un renforcement de notre équipe bordelaise, nous recherchons un :

Analyste-programmeur WEBDEV confirmé H/F

Lire la suite

Mar 25

Comment envoyer depuis PHP une notification push à une application WinDev Mobile Android

Android PHP Notification push Google Cloud Messaging GCM WinDev MobileWinDev Mobile peut recevoir des notifications utilisant la plateforme GCM (Google Cloud Messaging) et les fonctions NotifPushActive et NotifPushProcedure.

Quelle déception/frustration de constater que seule une application WinDev peut envoyer une telle notification (fonction NotifPushEnvoie) ! Dans un monde où la communication entre systèmes hétérogènes devient incontournable, comment accepter une telle limitation qui restreint les échanges dans le microcosme WxxDev ?

Dans le cadre d’un de nos projets, nous avons besoin d’envoyer des notifications à une application WinDev Mobile Android depuis PHP. Après des essais infructueux, nous avons constaté l’incompatibilité des fonctions proposées par WinDev Mobile avec le standard proposé par les APIs Google.

Lire la suite

Déc 19

Tutoriel : les tableaux de bord de WinDev 19

Tutoriel WinDev 19Peter Halsted est un développeur WinDev installé au Mississippi. Il a rédigé un intéressant tutoriel expliquant la mise en place du système de tableau de bord proposé depuis la version 19 de WinDev.

Nous vous invitons à suivre ses explications ici :
Uncle Pete’s Corner – WinDev Dashboards

Fév 25

Head Hunting : Profils WinDev / WebDev /WinDev Mobile en Île-de-France

Head hunter

Pour répondre à de nombreuses et fortes sollicitations pour la réalisation de projets WinDev/WebDev sur Paris et Île-de-France, InfoGones (http://www.infogones.com) crée actuellement son agence Parisienne. Nous recrutons donc dans ce cadre des développeurs et chefs de projets géographiquement proches de ce secteur.

Vous bénéficiez d’une expérience pertinente de WinDev et/ou WebDev et avez envie de la partager et d’améliorer votre connaissance de cet AGL ? Vous avez déjà développé avec un des SGBD :Oracle, PostGreSQL, MySQL, Sql Server, … ?

Venez rejoindre notre équipe de 27 collaborateurs !

Lire la suite

Oct 29

Le déploiement d’un site WebDev – Définitions (1/3)

A force de pratiquer le déploiement des sites WebDev, et de se heurter aux diverses épines du rosier, voici un ensemble de posts techniques qui aideront (je l’espère!) d’autres aventuriers à déployer leurs sites ou webservice.

Ce premier post servira d’introduction: il tentera de définir divers mécanismes d’inteprétation des sites WebDev. Il devrait être suivi par deux autres textes plus orienté sur les configuration des serveurs Apache et IIS.

LE client-serveur qu'on aime...

Le client-serveur à la lyonnaise… (Gestan)

Le serveur d’application WebDev est presque un module CGI

Un serveur Web est au minimum un passe-plat de fichiers, au mieux une grosse moulinette qui produit des fichiers (html mais pas uniquement) via du code écrit avec potentiellement n’importe quel langage (script PHP ou WebDev).

Le serveur web est configuré pour démarrer ces sous-programmes via des règles de comparaison sur les urls accédés, et saura déterminer le code à invoquer pour produire ce fichier html.

A chaque fois qu’un fichier correspondant au masque sera demandé par le navigateur, notre serveur exécutera une commande du type ‘interpreteur.exe monscript.awp’, qui générera du html sur la sortie standard (c’est ce flux qui sera ‘attrapé’ et renvoyé au navigateur). Noter que le script interprété aura accès à certaines variables positionnées par le serveur Web appelant (comme l’URL initiale qui a servi a invoquer l’interpréteur, le type de requête HTTP, etc).

Bref, résumé en quelques lignes c’est la définition d’un module CGI (cf Wikipedia). Le moteur d’application de webdev est un module CGI, et presque de la même façon que PHP.

Le presqu’interpréteur WebDev est un exécutable localisé dans REPERTOIRE-DU-SERVEUR-D’APPLICATION-WEB/AWP/wd1X0awp.exe . On notera que toutes les versions historiques des interpréteurs sont installées dans ce répertoire, (de même que le module de paybox)..

Similaire à PHP, mais pas entièrement…

Les exécutables CGI sont invoqués par le serveur web de la même manière qu’un utilisateur tapant la ligne de commande sur l’invite de commande: (chargement de l’exe en mémoire->allocation contexte d’exécution->[exécution de l’interpréteur et récupération du flux généré]->libération du contexte->libération de la mémoire). Le problème est que ce processus est très lourd pour un serveur web censé pouvoir générer des pages à des centaines d’utilisateurs en simultané.

Les développements ultérieurs de CGI ont consisté à minimiser cette charge en gardant l’interpréteur en mémoire plutôt que que de laisser à l’OS le soin d’allouer/libérer des contextes d’exécution. C’est le module fastcgi de PHP qui est positionné en mémoire une fois pour toute, qui économise 2 des 5 étapes.

WebDev a choisi une autre approche : lorsque le wd1X0awp.exe est invoqué pour générer une page, le module se met en relation avec le service d’application WebDev (un service s’appelant wd1X0admin.exe sous windows, un demon sous linux) qui gère plusieurs aspects de l’exécution de l’interpréteur: récupération des paramètres du projet webdev, création de session persistantes pour les pages/scripts AWL, et invocation de l’interpréteur du script WLangage.

De fait, c’est ce serveur d’application, résident en mémoire, qui invoquera au final l’interpreteur WLangage (plutot que wd1x0awp.exe).

Les contextes d’exécution persistant / non persistant d’une application Web(Dev)

Il y a deux grandes façons d’aborder le développement Web: une approche client-serveur ‘sans-état’ où chaque page visitée est indépendante de tout contexte de navigation (hormis quelques variables stockable dans les cookies ou des paramètres d’url). Ou une voie proche des clients lourds, où chaque fenêtre s’appuie sur un set important d’informations persistantes valide durant toute la session de travail de l’utilisateur.

Pour éviter la gymnastique intellectuelle d’une navigation ‘sans contexte’, WebDev propose les deux modes au développeur.

Lorsqu’un utilisateur accède à une portion de site ‘en persistant’, un processus wd1X0session.exe dédié est démarré et vivra tant que l’utilisateur naviguera sur le site. La session est identifiée par un token spécifique, et chaque action utilisateur sera accompagnée de ce token, et sera routé par wd1x0admin.exe sur la bonne session côté serveur.

Fin de la torture

Voilà, ce gros préambule digéré, nous pouvons passer à la suite des réjouissances: la configuration d’un site WebDev sous Apache et IIS.

Une autre (bonne) définition du mot ‘Torture’

 

 

HTML5 : une révolution qui tient (toutes) ses promesses !

Citation

« Nouveau langage de programmation standard pour les applications sur le web, HTML5 a sur le papier tous les atouts pour avoir un impact majeur sur l’évolution de l’industrie Internet dans les années à venir. D’abord par son statut de standard universel, rendant enfin possible une véritable convergence entre tous les systèmes et toutes les plates-formes connectées à Internet : ordinateurs, mobiles, TV, mais aussi par sa capacité à modifier les modèles économiques existants.

(…)

De fait, avec les applications mobiles traditionnelles, les boutiques telles que l’Appstore s’octroient typiquement 30% des revenus pour chaque téléchargement, et accordent les 70% restants aux développeurs, mettant les opérateurs totalement hors-jeu, les paiements étant effectués par carte bancaire.

Les applications web HTML5 en revanche, évitent tout contrôle et commission des boutiques, car elles sont disponibles sur le web, et leur achat, pour 90% d’entre elles, peut être directement imputé sur la facture de l’opérateur mobile, ce qui représente pour ce dernier une nouvelle source de revenus. »

La suite ici : http://www.latribune.fr/opinions/tribunes/20120910trib000718731/html5-une-revolution-qui-tient-toutes-ses-promesses-.html

Août 22

Revue de source : La méthode du canard en plastique

Rubber duck assisting with debugging.jpgLa méthode du canard en plastique consiste à expliquer méticuleusement le code source que l’on a écrit à un collègue, à un simple passant, ou même à un objet inanimé comme un canard en plastique. Le simple fait d’exprimer ses pensées à voix haute est censé aider à trouver les erreurs de programmation. Comme les réactions de l’interlocuteur ou son niveau de compréhension du problème n’ont aucune importance dans ce processus, on peut le remplacer par un canard en plastique.
Lire la suite