> Tech > JavaScript pour codeurs RPG

JavaScript pour codeurs RPG

Tech - Par Don Denoncourt - Publié le 24 juin 2010
email

HTML est peut-être la nouvelle interface utilisateur, mais JavaScript lie les applications Web. Si vous en doutez, visitez quelques uns de vos sites Web favoris, faites un clic droit n’importe où sur l’écran, sélectionnez View Source dans le menu surgissant et recherchez le mot script. Le code qui suit le tag script HTML est JavaScript. Bien que JavaScript soit régulièrement utilisé pour améliorer l’allure des pages Web et pour valider l’entrée des utilisateurs, on peut aussi lui confier du traitement XML complexe et de la construction HTML dynamique.Ainsi, les routines JavaScript simulent un écran passif dans les produits HATS (Host Access Transformation Server) et WebFacing d’IBM. L’utilisation la plus sophistiquée de JavaScript que j’ai vue est FckEditor (fckeditor. net), un éditeur de texte de type navigateur avec des fonctions comparables à Microsoft Word.

Si vous envisagez d’étendre votre activité sur le Web, préparez-vous à apprendre JavaScript. Même si la première étape consistera à utiliser HATS et WebFacing pour obtenir une présence Web avec une formation de développement Web minimale, en apprenant JavaScript vous passerez au niveau supérieur.

Je vous propose deux exemples de routines JavaScript que j’ai écrites récemment pour une application WebFacing. Dans la première, les fichiers écran d’un client étaient émaillés de mots-clés MAPPFLD pour remplacer des dates 0001-01-01 par des blancs. Malheureusement, WebFacing ne reconnaît pas MAPPFLD. J’ai donc écrit un fragment de JavaScript qui s’exécute pendant le chargement de page et qui fournit les fonctionnalités nécessaires. Dans le second exemple, un autre client demandait que les profils Q ne soient pas autorisés à se connecter à leurs applications WebFaced. Une demi-douzaine de lignes de JavaScript suffit pour que la page logon ignore les frappes Q dans la première position du champ utilisateur. On peut faire beaucoup de choses avec quelques rudiments de JavaScript, contrairement à la plupart des autres langages. Cet article présente les meilleures pratiques JavaScript et une stratégie de développement permettant de démarrer (pour une brève liste des meilleures pratiques, voir l’encadré « Meilleures pratiques en JavaScript »).

JavaScript est un langage simple dont la syntaxe ressemble à celle de Java tout en étant moins puissante et, heureusement, moins complexe. Alors que l’apprentissage de Java est ardu, vous pourrez écrire du JavaScript utile avec très peu de formation. Il existe de nombreux livres et sites Web sur ce sujet. Malheureusement JavaScript ne bénéficie pas d’un environnement de développement sophistiqué. Ainsi, l’éditeur JavaScript qui accompagne WDSc n’a pas de validation, pas de débogage et juste un embryon de réalisation de code. Mais n’ayez crainte, cet article vous aidera à surmonter ces lacunes.

Comme premier contact avec JavaScript, je vous présente une fonction qui servira à déboguer votre JavaScript. WDSc ne fournit pas de débogueur JavaScript. Comme je n’utilise un débogueur pour aucun de mes langages de développement, cela ne me dérange pas. J’utilise Log4i pour RPG (voir « Log4i – Logging des applications HLL iSeries », octobre 2005 ou www.itpro. fr Club Abonnés), Log4J pour Java (logging.apache.org/log4i), et le fragment de code suivant pour JavaScript :

var logWin = window.open();
window.focus();
function log(message)
{

if (logWin == null) return;
logWin.document.write(message+"<br/>");

}

Dans la figure 1, ce fragment de JavaScript est inclus dans le HTML, dans un ensemble de tags HTML script. La figure 1 contient aussi une autre fonction appelée add qui sert à tester notre fonction log. Ces deux exemples sont simples mais, quand vous aurez compris leur fonctionnement, vous serez tout près d’écrire votre propre JavaScript. La première ligne de JavaScript définit une variable appelée logWin. Au passage, permettez-moi d’expliquer quelque chose : JavaScript a une syntaxe très permissive. Le mot réservé var n’est pas obligatoire, mais vous devriez l’utiliser la première fois qu’une variable est utilisée. Le pointvirgule à la fin de l’instruction n’est pas non plus obligatoire, mais il vaut toujours mieux terminer vos instructions par ce caractère.

Vous avez peut-être deviné ce qu’accomplit window. open(). Mais voyons cela plus en détail. JavaScript est un langage orienté objet. Le type de données d’une variable peut avoir des attributs et des méthodes. W3Schools (peut-être votre meilleure ressource JavaScript, www.w3schools.com) déclare que l’objet window a deux douzaines d’attributs et de méthodes possibles, y compris ceux de la figure 2. La variable window est à la disposition de toutes les pages Web et l’objet window est une référence à la page. Comme logWin n’est pas dans une fonction mais est une variable globale, il référence la nouvelle fenêtre navigateur. L’ouverture d’une nouvelle fenêtre pour contenir l’information de logging crée une difficulté parce que la fenêtre log devient la fenêtre active. La seconde instruction ramène la focalisation vers la fenêtre originale en invoquant la méthode focus de l’objet fenêtre.

Le navigateur analyse JavaScript pendant qu’une page HTML se charge. La syntaxe des fonctions est vérifiée au moment du chargement et elles ne s’exécutent que lorsqu’elles sont explicitement invoquées ; mais les instructions qui ne se trouvent pas dans une fonction s’exécutent au moment du chargement de la page. Quand vous ouvrez la page construite à partir de HTML dans la figure 1, la fenêtre log s’ouvre et le formulaire d’entrée HTML est affiché.

Téléchargez cette ressource

Les mégatendances cybersécurité et cyber protection 2024

Les mégatendances cybersécurité et cyber protection 2024

L'évolution du paysage des menaces et les conséquences sur votre infrastructure, vos outils de contrôles de sécurité IT existants. EPP, XDR, EDR, IA, découvrez la synthèse des conseils et recommandations à appliquer dans votre organisation.

Tech - Par Don Denoncourt - Publié le 24 juin 2010