Transactionnels Mode WEB

Documents pareils
Présentation Serveur Apache et pour RePeGlio

Sommaire Livre blanc CGIDEV2 pour RePeGlio

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

EXCEL TUTORIEL 2012/2013

KompoZer. Composition du site : _ une page d'accueil : index.html. _ une page pour la théorie : theorie.html. _ une page pour les photos : photos.

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais :

Prise en main rapide

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

EVOLUTION 7.1 Déroulement DREAM INFO 1 Dossier 23 Ciel Gestion Commerciale.

Zotero est une extension du navigateur Firefox. Il est possible de télécharger Firefox gratuitement sur le site:

Diffuser un contenu sur Internet : notions de base... 13

GUIDE D UTILISATION DU BACKOFFICE

2 LES BASES DU HTML 19 Qu est-ce que le HTML? 20 De quand date le HTML? 20 Écrire son propre code HTML 22

Guide de prise en main. Yourcegid SOLOS. Devis-Factures. 12/08/2013 Page 1 / 38

Bernard Lecomte. Débuter avec HTML

Groupe Eyrolles, 2003, ISBN : X

La Clé informatique. Formation Excel XP Aide-mémoire

Utilisation de l éditeur.

Introduction à Expression Web 2

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Comment insérer une image de fond?

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Édu-groupe - Version 4.3

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

Utilisation avancée de SugarCRM Version Professional 6.5

MANUEL DE PROCÉDURE POUR LA MISE À JOUR DU SITE DE FIDAFRIQUE. Documentation utilisateur Octobre 2005

Styler un document sous OpenOffice 4.0

OneDrive, le cloud de Microsoft

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Manuel de formation Spaceman 1 ère journée

VOCABULAIRE LIÉ AUX ORDINATEURS ET À INTERNET

GESTION DU LOGO. 1. Comment gérer votre logo? Format de l image Dimensions de l image Taille de l image 9

Créer un site Web : mode d emploi Sous SPIP, avec le squelette «établissement» de l académie de Versailles

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Logiciel SuiviProspect Version Utilisateur

Guide d usage pour Word 2007

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

GUIDE Excel (version débutante) Version 2013

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

Guide d utilisation. Version 1.1

Banque d images SVT. Créer et utiliser une banque d images avec Picasa 2. Version anglaise -Windows 98. Banque photo en SVT : page 1 /14

Utiliser un tableau de données

Organiser le disque dur Dossiers Fichiers

Les bases de données. Se familiariser avec Base. Figure 1.1A Ouvre le fichier dont tu as besoin. Lance OpenOffice Base.

4. Personnalisation du site web de la conférence

Gestion de références bibliographiques

INCORPORER EXCEL EN LIGNE DANS UN FICHIER CRÉÉ AVEC L ÉDITEUR DE TEXTE 15 avril 2015

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

CMS Modules Dynamiques - Manuel Utilisateur

Publier dans la Base Documentaire

Démarrer et quitter... 13

Guide d'utilisation. OpenOffice Calc. AUTEUR INITIAL : VINCENT MEUNIER Publié sous licence Creative Commons

BUREAUTIQUE. 1 Journée. Maîtriser les fonctions de base du logiciel

Bureautique Initiation Excel-Powerpoint

Nouveautés de la version moodle 2.7

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Optimiser pour les appareils mobiles

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Consignes générales :

Réaliser un PUBLIPOSTAGE

26 Centre de Sécurité et de

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

INTRODUCTION AU CMS MODX

Administration du site

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Chapitre 2 Créer son site et ses pages avec Google Site

Synoptique des icônes Interwrite Workspace

Manuel du logiciel PrestaTest.

THEME RESPONSIVE DESIGN

Excel 2007 Niveau 3 Page 1

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Numbers sur ipad. Atelier Formation Numbers sur ipad. [Notes extraitres de l'aide en ligne]

Modernisation et développement d applications IBM i Technologies, outils et nouveautés 2012/2013. Volubis.fr

Création d un formulaire de contact Procédure

Présentation du Framework BootstrapTwitter

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Guide de démarrage rapide. (pour la version 5.0.)

HYPERDRIVE iusbport Guide d utilisation

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

.. CSS. Damien Nouvel. Damien Nouvel (Inalco) CSS 1 / 15

TD3 - Facturation avec archivage automatisé

COMMENT PUBLIER SUR ARIANE?

Initiation à html et à la création d'un site web

Sage 100 CRM - Guide de la Fusion Avancée Version 8. Mise à jour : 2015 version 8

Tutoriel BLOGGER. Pour vous donner une idée, voici un exemple de blog :

Soyez accessible. Manuel d utilisation du CMS

Date M.P Libellé Catégorie S.Catégorie Crédit Débit Solde S.B

Création de maquette web

Table des matières ENVIRONNEMENT

Installation de CPA STUDIO :

Manuel d utilisation NETexcom

Comment utiliser WordPress»

Avertissement. La Gestion Electronique de Documents

Une ergonomie intuitive

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

CentreRH. Logiciel de gestion de centre de formation. Mise à jour version 15. AppliRH

Notes pour l utilisation d Expression Web

Transcription:

Page : 1 Transactionnels Mode WEB NIVEAU 1 I. Introduction... 3 1. Pré-requis... 3 2. Objectif de la brochure... 3 3. Objectifs des programmes WEB... 3 4. Principe de fonctionnement... 3 II. Génération automatique PGM Full Web... 4 1. Principe RePeGlio... 4 2. Génération => HQE : SL2+FCH+PR2... 4 Appel du programme Web via un navigateur... 5 3. Génération => HQM : SL2+FCH... 6 4. Le modèle HQM (avec HQU) liste seule... 7 III. Menus déroulants par profil... 9 1. Option 12) Liste_Autorisation Profils+Programmes... 9 2. Option 13) Menus déroulants sur trois niveaux... 11 3. Option 14) Génération html Menu déroulant... 13 IV. Paramétrage niveau Société :... 16 1. Changer le logo d entreprise... 16 2. Changer les constantes standards RePeGlio :... 17 V. Paramétrage niveau PGM WEB... 19 1. Changer la feuille de style... 19 2. Nombre de lignes Liste, Nombre maxima ComboBox, Word Excel... 20 3. Formulaire HQR : largeur colonne 1, colonne 2 et colonne 3... 21 4. Clés HQM à l appel du programme:... 21 Méthode Get :... 21 Modifs dans le programme RPG... 21 VI. Insérer des photos, catalogue en ligne... 23 1. Photos au niveau d une liste HQL ou HQM... 23 Comment placer des photos dans l IFS?... 23 Objectifs de l exercice «catalogue en ligne»:... 23 Quelques notions de base du langage HTM nécessaires pour insérer une photo... 24 L instruction UPDHTMLVAR (EVAL CGIDEV2)... 25 2. Les deux instructions CGIDEV2 à connaitre UPDHTMLVAR et WRTSECTION... 26 3. Debug d un programme RPG WEB... 26

Page : 2 4. Personnalisation dans les marges HQM ou HQL... 28 Ajouter une marge HQM ou HQL... 28 Repères dans la marge de personnalisation HQM ou HQL... 29 5. Personnalisation HQF... 29 Repère HQF dans le membre source HTML puis RPG... 30 VII. Fichiers logiques sur colonnes HQM HQL... 31 Objectif du tri sur colonnes :... 31 VIII. Mise en production des programmes WEB :... 34 1. Contexte :... 34 2. Mise en œuvre lorsque deux IBM i :... 34 a) Créer une bibliothèque de production PRD_LIB :... 34 b) Transfert des bibliothèques... 34 c) Menu PHTMMNUR... 34 d) Enregistrer l environnement de production... 34 e) Vérification de l environnement de production... 35 f) Menu APAWRK00 pour créer les directories d APACHE... 35 3. Passage d un programme en environnement de production... 35

Page : 3 I. Introduction 1. Pré-requis 1) Brochure Installation produit et 1 er programme : Vous devez avoir installé le produit RePeGlio avec succès et généré le premier programme sous-ficher de sélection modèle SL1. 2) Brochure Transactionnels mode Texte : Vous devez savoir générer le sous-fichier SL2 + Formulaire FCH + Critères de Sélection PR2 devant le sous-fichier SL2 3) Brochure Serveur Apache RePeGlio : Vous devez avoir créé une instance Apache avec le PGM APAWRK00, un profil de type *vldl avec une JOBD associée pour la *LIBL. Aucune connaissance RPG ou HTML n est requise au niveau génération de programme. 2. Objectif de la brochure Générer des programmes Full Web stateless (sans état persistant) et savoir modifier le code HTML pour insérer des images dans les cellules afin de faire un catalogue en ligne. Des connaissances HTML de base seront données à mesure des explications. 3. Objectifs des programmes WEB Les programmes Web générés sont en Full Web compatibles tous les navigateurs, y compris tablettes et SmartPhones. Des modifications manuelles au niveau de la partie HTML permettent de créer facilement des catalogues en ligne. 4. Principe de fonctionnement Lorsqu une page est 100% statique, le serveur Apache envoie la page directement à celui qui en a fait la demande. Lorsqu une page est dynamique, le serveur Apache appelle au préalable un programme RPG chargé de remplir cette page avec les données variables et d en faire une page statique. Lorsque le programme RPG a terminé son travail de remplacement, il passe la main au serveur Apache. Cette technologie est similaire au DSPF avec ses records et variables de remplacement.

Page : 4 II. Génération automatique PGM Full Web 1. Principe RePeGlio A partir de modèles SL2+FCH+PR2 (critères de sélection) OU SL2+FCH OU SL2 simple Vous réaliserez des programmes Web Full automatiquement en un temps record. Les programmes sont ensuite personnalisés avec des feuilles de style. Une gestion de menus déroulants permet d ajouter des programmes par groupe de profil *vldl 2. Génération => HQE : SL2+FCH+PR2 /SEU_WEB/ «WEB : HTML + RPG» CLIENTHQE sera le PGM de Critères de Sélection CLIENTHQL sera le PGM de Liste des clients CLIENTHQF sera la visu+contrôleur CLIENTHQR sera le formulaire F5=Raffraichir Les PGM web sont en bleu clair. 1 en regard HTML et 1 en regard RPG F9=Valider

Page : 5 Appel du programme Web via un navigateur Avant de lancer le programme dans le navigateur, contrôler les point suivant de la check liste : a) Une instance d Apache est créée (port 7500 en local) b) Un profil *vldl est créé pour l instance (case sensitive) c) Une JOBD avec les bibliothèques fichiers et la bibliothèque ARC_OBJ en *LIBL est associée au profil *vldl S il vous manque un de ces points, reprendre la brochure : «ServeurApacheRePeGlio». http://+ Adresse IP :port+ /serverp/+ nomhqe Note : /serverp/ indique qu un programme RPG va être appelé, ici clienthqe. Voir la brochure : «ServeurApacheRePeGlio» ScriptAliasMatch. Insérer au niveau 5250 un PGM SL1 sur le «code pays». Une liste de défilement est obtenue automatiquement. Des calendriers seront mis au niveau des dates qui doivent être numérique sur 8 avec le code Y au niveau 5250. Nous verrons plus loin comment : Ajouter les programmes dans des menus déroulants par groupe de profils utilisateurs Paramétrer la présentation via une feuille de style Paramétrer le logo Paramétrer le nombre de lignes par page Ajouter des photos pour créer un catalogue en ligne Paramétrer les libellés

Page : 6 Le mode modification permet de modifier les enregistrements via un formulaire qui reprend les contrôles. Voir permet des visualisations Excel et Word sont paramétrables par programme. multiples. (cliquer au niveau case à cocher ou sur la ligne) 3. Génération => HQM : SL2+FCH Créer un sous-fichier SL2 avec le fichier EXCLIENT totalité des clients. Réutiliser le formulaire FCH du programme précédent. /SEU_WEB/ «WEB HTML+RPG HQM est l appel de la liste directement avec une recherche par termes SCAN qui remplace à partir de et les critères de sélection.

Page : 7 Appeler le nomhqm via un navigateur. Le modèle HQM est pratique pour rechercher des termes : Ici, toutes les «BANQUE» à «PARIS» dans le fichier des clients. 4. Le modèle HQM (avec HQU) liste seule Ce modèle permet d afficher une simple liste comme la sélection Pays modèle SL1 (le modèle SL2 est également accepté). Prendre le fichier SL1 Pays HQM + HQU qui est le contrôleur de la liste Appel nomhqm table des pays

Page : 8 Menus déroulants par profils

Page : 9 III. Menus déroulants par profil Les menus déroulants sont générés dynamiquement par profil utilisateur. Chaque utilisateur profil *vldl peut avoir ses propres menus déroulants. Afin de faciliter la gestion d association et surtout la maintenance des couples programmes/profils nous avons créé des Listes d autorisation qui ont pour unique fonction de regrouper les profils et les programmes. /SEU_WEB/ puis «WEB Paramètres» Pour créer des menus déroulants par profil il faut suivre les étapes suivantes : 1) Option 11 : ajouter un profil 2) Option 12 : créer une Liste d autorisation et y placer les programmes et profils. 3) Option 13 : créer des menus déroulants sur trois niveaux avec les programmes. 4) Option 14 : générer automatiquement les menus déroulants par profil en fonction des listes d autorisation. Principe Option 14 : seuls les programmes «autorisés» pour un profil (qui figurent dans la liste autorisation) seront affichés dans le menu déroulant du profil. En cas de modification via l option 12 et 13, il faut générer le menu déroulant du profil pour qu il soit pris en compte. Note : la prise en compte est effective dès la génération du menu déroulant pour le profil. Il suffit de raffraichir le navigateur. Voici le détail des étapes, sauf pour l option 11 «Gérer les profils» dans la brochure «Serveur Apache RePeGlio». 1. Option 12) Liste_Autorisation Profils+Programmes F6=Créer Saisir : le nom de la liste autorisation et son libellé F9=Valider Principe : pour chaque liste d autorisation, entrer l option E pour saisir les profils et P pour saisir les programmes. E=Profil puis F6=ajouter

Page : 10 Saisir le profil avec F4 Puis, saisir 1 et 1 pour accepter la mise à jour et l annulation de ce profil sur les programmes de la liste d autorisation. F9 F9=Valider Sélectionner P pour les programmes puis la bibliothèque des programmes Principe : avec F6, ajouter les programmes à la liste d autorisation. Sélectionner les programmes à appeler par le menu déroulant, c est-à-dire les HQM et HQL puis ENTREE ou F9 Suite à ENTREE, les programmes associés seront sélectionnés aussi. Ensuite F12 pour revenir à l écran précédent. Dans cet exemple, le profil MONPROFIL aura droit en modification et annulation aux programmes listés HQM et HQL. La liste d autorisation est BROCHURE

Page : 11 2. Option 13) Menus déroulants sur trois niveaux Principe : définir les menus déroulants sur trois niveaux sans tenir aucun compte des listes d autorisation et des profils. C est à l étape suivante génération par profil, que les opérations non autorisées pour le profil seront exclues dynamiquement. Option 13 Menus déroulants F6=Créer Pour saisir le niveau 1, AVEC des niveaux inférieurs, saisir le rang et le libellé. F9=Valider Saisir L=Niveau 2 en regard du niveau 1 F6=Créer Pour saisir le niveau2, SANS niveau 3 inférieur, Saisir un programme F4 HQE ou HQM ainsi que le libellé correspondant. F9=Valider Saisir encore un programme HQE ou HQM de la même manière au numéro après (> précédent). F9=Valider

Page : 12 Nous avons ici trois programmes de niveau 2 appelés par le niveau 1 «Mes programmes». Pour ajouter des sites internets : Vous pouvez créer un niveau 1 avec mes sites puis ajouter des niveaux 2 avec les URL à la place des programmes. Saisir un autre niveau 1 «Mes Sites» Puis les sites en replissant le lien externe uniquement (et pas le nom programme). Note : Si nouvelle page = 1, une nouvelle page sera attribuée. F9=Valider.. F9=Valider Ici, nous avons deux niveaux 1 qui appellent des niveaux 2 Contenant des programmes et des sites Web.

Page : 13 3. Option 14) Génération html Menu déroulant A retenir : un menu déroulant ne s affichera pas s il n est pas généré pour le profil *vldl Si un menu déroulant ne s affiche pas, c est qu il n est pas autorisé pour le profil *vldl Option 14 Génération Menu déroulant Soit saisir G +ENTREE en regard du profil à générer, soit F14=Tout générer. Vérifier dans les instructions html générées que vous avez bien vos programmes pour le profil. Note : le programme WEB RPG ne fait que lire et ajouter les instructions html générées avec l option «G»

Page : 14 Vous obtenez vos deux menus déroulants. Si vous en ajouter un autre, ne pas oublier de le générer pour le profil et ensuite de rafraîchir la page.

Page : 15 IV Paramétrage niveau Société

Page : 16 IV. Paramétrage niveau Société : 1. Changer le logo d entreprise Pour changer le logo, Menu général RePeGlio puis : /SEU_WEB/ «WEB : Paramètres» Ensuite Option 4 Constantes ENG FRA Saisir «A partir de :» HQF LOGO Note : HQF est le modèle pour visualiser plusieurs formulaires Mettre le logo de votre société à la racine de l instance d Apache (voir brochure Serveur Apache RePeGlio) Modifier l enregistrement HQF LOGO FRA et saisir le nom de votre logo qui peut être un.jpg ou.png ou.gif etc Modifier la taille de votre logo, taille réelle ou taille réduite par rapport à la taille réelle. WIDTH pour la longueur et HEIGHT pour la hauteur du logo. Refaire la même manipulation pour le modèle HQL où vous pourriez avoir un logo et une taille différente. HQL correspond au modèle liste (sousfichier) des critères de sélection. Note : le modèle HQM partage les mêmes définitions logo. A retenir : la modification est prise en compte dynamiquement à l exécution des programmes Web.

Page : 17 Refaire la même manipulation pour le modèle HQR. HQR correspond au modèle Formulaire 2. Changer les constantes standards RePeGlio : Pour changer un titre standard ou un libellé standard, procéder comme suit : Pour changer une constante standard, Menu général RePeGlio puis : /SEU_WEB/ «WEB : Paramètres» Ensuite Option 4 Constantes ENG FRA Saisir le modèle où la constante est à changer. Repérer la constante standard et option 2=Modifier puis modification effectuée F9=Valider. Note : la modification est prise en compte dynamiquement à l exécution du programme.

Page : 18 V Paramétrage niveau Programmes WEB

Page : 19 V. Paramétrage niveau PGM WEB Pour changer le paramétrage dynamique : Option 5 Puis sélectionner le nom programme Racine, ici «CLIENT». Le paramétrage s appliquera aux pages de la racine CLIENT : CLIENTHQE, CLIENTHQL etc 1. Changer la feuille de style F4 : Il y a 4 feuilles de style par défaut. Changer de feuille de style puis F9= Valider

Page : 20 Pour créer votre propre feuille de style : Dupliquer une feuille de style existante à la racine de l instance, nom.css, proche de celle que vous souhaitez créer. Changer les couleurs, la police et la taille etc Pour ajouter la feuille de style au système RePeGlio: Saisir le nom de la feuille de style et les boutons du modèle HQL (copier les noms de la feuille de style la plus proche). Option 15 Enregistrer feuille de style 2. Nombre de lignes Liste, Nombre maxima ComboBox, Word Excel /SEU_WEB/ «WEB : Paramètres» puis option 5 Paramètres PGMs et sélectionner le programme. A) Nombre de lignes dans la liste B) Nombre de lignes maxima a afficher dans combo box (un scan s affiche en complément si > au nombre maxima). C) Si Word absent = 0 si Excel absent = 0 Note : les autres options de présentation seront expliquées ultérieurement avec l ajout d images à la Page Web.

Page : 21 3. Formulaire HQR : largeur colonne 1, colonne 2 et colonne 3 (1), (2) et (3) colonnes du formulaire HQR en saisie. Changer les valeurs de la colonne (1) ou (2) pour ajuster le formulaire en saisie. Par exemple raccourcir la colonne (2) si elle est trop importante. La colonne (3) se réajustera automatiquement relativement à la taille totale du formulaire. 4. Clés HQM à l appel du programme: Lorsque le programme de type HQM est utilisé en tant que liste des lignes commande, pour tester le programme, entrer une valeur entête commande. Pour appeler un programme HQL depuis un programme WEB autre que RePeGlio (PHP ou CGIDEV2 etc ) procéder de la façon suivante : Méthode Get : Entrer les variables en ajoutant collé à l url d appel:?nom1=contenu1&nom2=contenu2 Soit par exemple à passer à un programme HQM les paramètres suivants : Code société = 01 et Code département = 11 Vous aurez derrière l url d appel les deux paramètres : http://192.168.1.2:7500/serverp/jmlgnhqm?pisoc=01&pidep=01 PISOC=01 et PIDEP=01 Modifs dans le programme RPG : C SRDIRECT BEGSR ** Appel direct ou nbr de lignes ou bouton recherche C EVAL N = ';0' C EVAL PCOURS = 1 C EVAL PJUMP = 0 C EVAL PTOT = 1 C EVAL PFUNCT = 'UP' C EVAL PORIGIN = PSDSPGMNAM C EVAL ENVPGMN = 'JMLGN' C ENVPGMN CHAIN(N) ENVINSTR C*************** EVAL WP1024 = ENPARMHQM C EVAL WKEYP01 = ZHBGETVAR('PISOC') C EVAL WKEYP02 = ZHBGETVAR('PIDEP') Récupérer les valeurs de PISOC et PIDEP passés en paramètre avec les instructions ZHBGETVAR NOTE : WKEYP01 et WKEYP02 sont des sous-zones de la data structure WP1024.

Page : 22 VI Insérer des photos, catalogue en ligne

Page : 23 VI. Insérer des photos, catalogue en ligne 1. Photos au niveau d une liste HQL ou HQM Comment placer des photos dans l IFS? Pour glisser des photos depuis un PC dans l IFS, vous pouvez utiliser : Le logiciel FTP gratuit fortement recommandé par la communauté du libre «FileZilla». IBM i Navigator avec un drag and drop Les commandes FTP classiques Un drag and drop via dans un lecteur réseau (voir la brochure Smart Excel Report annexe B lecteur réseau pour lister la directory) Objectifs de l exercice «catalogue en ligne»: Nous avons un dossier «Papillon» et «Oiseau» contenant des photos de papillons et d oiseaux dans leurs dossiers respectifs. Important : le nom de chacune des photos correspond à une clé du fichier, suivi de «.jpg» (.png ou.gif ). Les dossiers «Papillon» et «Oiseau» ont été placés dans l IFS à la racine de l instance d Apache. Voici le résultat final au niveau de la liste HQL ou HQM Syntaxe nom photo= clé+p.jpg Il est à noter que la photo de la ligne 1 s appelle AZULP.jpg Ligne 2 BELEMP.jpg De la ligne 3 BUTHEARTP.jpg etc ces photos étant placées dans le dossier «Papillon». «Papillon» et «Oiseau» sont la clé majeure du fichier (code famille)

Page : 24 Quelques notions de base du langage HTM nécessaires pour insérer une photo La ligne d un sous-fichier est caractérisée par des numéros de lignes et des numéros de colonnes. De ce fait, la police de caractères est fixe et il est difficile d insérer des photos par manque de souplesse. Une liste HTML est constituée d une table avec des rangées (lignes) et des cellules. Le langage HTML est un markup langage, constitué de balises qui indiquent le début et la fin. Par exemple : début table. Fin table, début rangée.fin rangée, début cellule. Fin cellule. Sachant que le début rangée est <r> fin rangée </r>, début cellule <d> fin cellule </d> nous aurons typiquement la syntaxe suivante pour une table : <table> <r> <d> texte cellule 1 rangée 1</d> <d> texte cellule 2 rangée 1</d> </r> <r> <d> texte cellule 1 rangée 2</d> <d> texte cellule 2 rangée 2</d> </r> </table> C est le navigateur qui sera chargé d interpréter le langage HTML et de produire la table suivante : texte cellule 1 rangée 1 texte cellule 2 rangée 1 texte cellule 1 rangée 2 texte cellule 2 rangée 2 Un markup langage ou langage de balises est ensembliste et extrêmement souple. Si au lieu d avoir un texte statique, nous voulons insérer une photo stockée à la racine de l instance dans une cellule d un tableau, comme par exemple une photo noméee AZULP.jpg dans le dossier «Papillon» à la racine, nous aurons la syntaxe suivante : <d> <img src="../papillon/azulp.jpg> </d> Nous savons ce que signifie <d>. </d> Il faut savoir qu une instruction HTML est TOUJOURS entre <. >, ce qui la distingue d une simple constante. Décomposons donc l instruction HTML d affichage d une photo. img src= signifie lien où se trouve l image (dans l IFS)../ signifie à la racine PAPILLON/AZULP.JPG est le nom de l image.jpg dans le dossier PAPILLON. Nous avons deux variables qui varient en fonction de la valeur de la clé majeure famille : «Oiseau» ou «Papillon» et de la clé mineure AZUL. Il faut retenir ceci : Le programme RPG a pour vocation de remplir les parties variables via des variables de remplacement (CGIDEV2 qui sont des API d IBM). Le serveur Apache a pour vocation d envoyer une page HTML remplie, qui est donc transformée en page statique «normale» pour Apache. Notons que le DSPF fonctionne de la même manière relativement au contrôleur d affichage. Il faudra donc insérer des variables de remplacement au niveau du code HTML et ajouter au code RPG l instruction CGIDEV2 pour renseigner cette variable, exactement comme le ferait un programme RPG pour renseigner une ligne de sous-fichier décrite dans un format du DSPF. Il nous faut donc un «MOVE» CGIDEV2 dédié au HTML. (et un «record» afin d écrire n lignes).

Page : 25 L instruction UPDHTMLVAR (EVAL CGIDEV2) Au niveau du prototype HTML, la variable de remplacement aura la syntaxe d un pseudo commentaire HTML. Le commentaire HTML s écrit de la façon suivante : <!-- ceci est un commentaire html --> La syntaxe de la variable de remplacement dans le HTML sera : <!-- %LOGO% --> Le système reconnait que LOGO est une variable de remplacement car elle est précédée de <!-- % et suivi de % --> Revenons à notre exemple. Nous avions la syntaxe suivante pour insérer une photo : <img src="../papillon/azulp.jpg> Remplaçons la partie variable renseignée à partir du fichier par des variables de remplacement : <img src="../<!-- %FAMILLE% -->/<!-- %PHOTO% -->P.JPG> Dans le code RPG HQM ou HQL, aller dans le sous-programme SRDTAROW Si dans votre fichier le champ qui correspond à la variable FAMILLE est ANTYPK, ajouter l instruction suivante : CALLP UPDHTMLVAR('FAMILLE':ANTYPK) Si dans votre fichier le champ qui correspond à la variable PHOTO est ANNOM, ajouter l instruction suivante : CALLP UPDHTMLVAR('PHOTO':ANNOMK) L instruction UPDHTMLVAR est une API CGIDEV2 qui effectue un simple EVAL pour alimenter les variables de remplacement HTML FAMILLE et PHOTO avec les variables fichier ANTYPK et ANNOMK Soit le RPG suivant : C SRDTAROW BEGSR ** Type Animal C CALLP UPDHTMLVAR('ANTYPK':ANTYPK) ** Nom Clé C CALLP UPDHTMLVAR('ANNOMK':ANNOMK) ** Ajout photo C CALLP UPDHTMLVAR('FAMILLE':ANTYPK) C CALLP UPDHTMLVAR('PHOTO':ANNOMK) ** Nom C CALLP UPDHTMLVAR('ANNOM':ANNOM) ** Lieu Géographique C CALLP UPDHTMLVAR('ANLIEU':ANLIEU) ** Libellé C EVAL WANLIB = ANLIB C CALLP UPDHTMLVAR('WANLIB':WANLIB) C ENDSR Soit le HTML suivant : <td width="60"> <img border="0" src="../<!-- %FAMILLE% -->/<!-- %PHOTO% -->G.jpg" width="60" height="60"> </td> NOTE 1: au niveau definition de cellule, <td width= 60 > indique que la cellule aura une largeur de 60 pixels NOTE 2 : Width et height au niveau de l instruction HTML img indique la largeur et la hauteur de l image (image affichée réduite par rapport à l image réelle). NOTE 4 : Ne pas oublier d ajouter une cellule au niveau des sous-titres au-dessus de la photo. NOTE 5 : Pour modifier le source et compiler le programme, utiliser /SEU_WEB/ «Modifier Sources» et «Compiler»

Page : 26 2. Les deux instructions CGIDEV2 à connaitre UPDHTMLVAR et WRTSECTION Dans le RPG vous trouverez principalement les instructions UPDHTMLVAR et WRTSECTION. UPDHTMLVAR est l équivalent de l instruction EVAL comme nous l avons vu plus haut. WRTSECTION est l équivalent de l écriture d un record, appelé section en CGIDEV2. Voici ci-après la syntaxe dans le HTML et dans le RPG pour ces deux instructions. HTML RPG <!-- $ROW$ --> CALLP WRTSECTION('ROW') <img border="0" src="../<!-- %TYPE% -->/ CALLP UPDHTMLVAR('PHOTO':ANNOMK) <!-- %PHOTO% -->G.jpg width="60" height="60"> CALLP UPDHTMLVAR('TYPE':ANTYPK) Note 1 : retenir que la variable de remplacement pour la section est entre $. La section doit impérativement commencer en colonne 1, faute de quoi elle n est pas prise en compte! La section doit être la seule instruction HTML de la ligne : tout ce qui vient après est considéré comme étant du commentaire. Toutes les lignes HTML seront affichées jusqu à la section suivante, exactement comme un DSPF. Retenir qu une fois la ligne affichée avec WRTSECTION, les instructions UPDHTMLVAR deviennent inopérantes sur ces lignes affichées exactement comme le seraient des MOVE de données DSPF déjà affichés avec l instruction WRITE. Note 2 : WRTSECTION(*FINI) est similaire à un SETON LR. WRTSECTION(*FINI) indique à Apache que la page est remplie et la main passée au Serveur Apache afin d envoyer la page au client qui en a fait la demande sur la toile. La page remplie avec les UPDHTMLVAR et WRTSECTION doit être strictement identique à une page statique et peut donc être traitée par tous les navigateurs, exactement comme un écran DSPF traitée par le browser IBM i Access. 3. Debug d un programme RPG WEB Il est possible de debugger un programme RPG WEB. Pour cela procéder par étapes comme suit : 1) CALL APAWRK00 Note : startmenu est le menu général standard. Repérer la ligne avec Fonction : Lancer un programme quelconque au préalable pour ouvrir un travail : http://192.168.1.2:7500/serverp/startmenu Puis Option 3 PGM-QZSRCGI Note 1: si vous n avez pas cette ligne, appeler n importe quel programme qui marche comme startmenu afin d ouvrir le travail. Note 2 : si vous avez plusieurs lignes PGM-QZSRCGI, avec l option 2 puis l option 1 (ENDTCPSRV puis STRTCPSRV) arrêter et redémarrer l instance d Apache puis appeler un programme RPG pour ouvrir un travail PGM-QZSRCGI. Retenir : en principe tous les programmes de même port (port=porte) s exécutent dans le travail de l instance. Cependant si un travail est déjà occupé, Apache en ouvre automatiquement un autre.

Page : 27 2) Afficher le numéro de travail et STRSRVJOB Option 5=Afficher en regard de la ligne PGM-QZSRCGI Repérer le numéro de travail 3) Lancer la commande STRSRVJOB et F4 Commande IBM STRSRVJOB + F4 Note 1 : RPGINST correspond au nom de l instance (et de la bibliothèque utilisateur associée.) Retenir : QTMHHTTP est le seul profil de type *USRPRF au niveau de la gestion des droits (dossiers, images etc ). Un autre profil *USRPRF nommé QTMHHTP1 gère les droits de l objet lui-même (copie de l objet, suppression de l objet ou renommer l objet etc ) alors que QTMHHTTP gère les droits d utilisation du contenu de cet objet comme la mise à jour d un enregistrement d un objet.xls ou l affichage d un objet image.jpg. 4) Lancer le debug STRDBG et F6=Ajouter un point d arrêt A présent, sur la même session que la commande STRDBG standard peut-être lancée. STRDBG RPGINST/CLIENTHQM Afficher un point d arrêt avec F6. Puis F12=précédent. 5) Lancer le programme depuis un navigateur Avec F10 vous pouvez suivre le debug pas à pas. Avec F11, le curseur étant placé sur le champ, visualiser la valeur Avec F12 aller jusqu au point de debug suivant ou sortir.. Le source s affiche à l écran Lorsque le débug est fini sortir de la session ou lancer les commandes ENDDBG + ENDSRVJOB

Page : 28 4. Personnalisation dans les marges HQM ou HQL Objectifs : Ajouter une marge à droite et à gauche de la liste pour insérer du code HTML qui peut être crée avec un designer comme Komposer ou DreamWeaver ou FrontPage etc Ajouter une marge HQM ou HQL /SEU_WEB/ «WEB : Paramètres» Option 5 = parmètres PGM 2 Modif. Programme racine

Page : 29 Ici, Ajout d une marge à droite de 250 Pixels Repères dans la marge de personnalisation HQM ou HQL Repère marge de gauche dans le membre source HTML: <!-- $BCUST1$ --> Customize the beginning of the list (left part; not for Excel Word) <!-- $ECUST1$ --> end customize Repère marge de droite dans le membre source HTML: <!-- $BCUST2$ --> Customize the end part of the list (right part; not for Excel Word) <!-- $ECUST2$ --> Mode d emploi : A l aide d un designer, mettre dans une table de même largeur que la marge, ici 250, des éléments de présentation comme un texte, des photos, des vidéos etc Ensuite insérer le code HTML de la table après la ligne <!-- $BCUST1$ --> pour la marge de gauche ou après la ligne <!-- $BCUST2$ --> pour la marge de droite. 5. Personnalisation HQF Objectif : Ajouter une photo à côté du formulaire comme le montre l exemple suivant :

Page : 30 Repère HQF dans le membre source HTML puis RPG <tr> <td <!-- %COLOR2% -->> <!-- insert HQF picture --> </td> <td <!-- %COLOR2% -->> <table> <!-- INSERT HEADER LINE --> </table> <table border="0" width="100%"> Insérer l image avant ou après le commentaire HTML <!-- insert HQF picture --> Note : les espaces ne sont pas pris en compte par le HTML. Aussi, pour ajouter un ou plusieurs espaces il faut ajouter une fois ou plusieurs fois L espace HTML &nbsp ; pourra être enlevé après ajout de la photo avec les variables de remplacement : <tr> <td <!-- %COLOR2% -->> <!-- insert HQF picture --> <img border="0" src="../<!-- %TYPE% -->/ <!-- %PHOTO% -->G.jpg width="60" height="60"> </td> <td <!-- %COLOR2% -->> <table> <!-- INSERT HEADER LINE --> </table> <table border="0" width="100%"> Dans le RPG du HQF nous aurons la modification suivante dans le sous-programme SRDSPFRMF: C SRDSPFRMF BEGSR ** Ajout photo C CALLP UPDHTMLVAR('TYPE':ANTYPK) C CALLP UPDHTMLVAR('PHOTO':ANNOMK). C ENDSR Conformément aux explications données pour le HQM et HQL

Page : 31 VII. Fichiers logiques sur colonnes HQM HQL Objectif du tri sur colonnes : Activer un tri au niveau de la colonne en ajoutant un bouton poussoir. Il est important de noter qu un (ou des) fichier logique secondaire (ou index SQL) viendra alors remplacer (par un test RPG) le fichier logique majeur. Donc, les enregistrements ne sont pas triés au niveau de la mémoire du navigateur. C est la raison pour laquelle il faut avoir à disposition des index (ou fichiers logiques) qui sont pertinents relativement aux colonnes. Voir l exemple ci-dessous : «Clé client» est le logique majeur «Raison sociale» et «code postal» des LF secondaires. Option 5 : «Paramètres PGMs» L=Logiques sur colonnes nom programme SL2 décliné en HQM EXCLIENT est le PF avec clé unique majeur pour ce programme. F6=Autre logique

Page : 32 Attention, le fichier logique ET la colonne ne peuvent être saisies autrement que par F4=Fichier LF Le curseur étant placé sur le champ Note : comme l index de EXCLIENT pour le programme est C1KCLI, seuls les index (ou LF) EXCLIENTL2, EXCLIENTL3 peuvent être sélectionnés s il existe des colonnes pertinentes qui ont un lien direct avec ces index. Sélectionner «Raison Sociale» Par contre EXCLIENTL1 et EXCLIENTL4 ont en majeur le code pays <> fichier majeur du programme sélectionné. Attention, la colonne ne peut être saisie autrement que par F4=Colonne associée au LF Le curseur étant placé sur le champ colonne

Page : 33 Sélectionner C1RAISON Finalement nous avons l association EXCLIENTL3=C1RAISON F9=Valider Ajouter encore EXCLIENTL2 au code postal. La liste aura trois possibilités de «tris» : Par code client Par raison sociale Par code postal Qui viendront se combiner à la recherche par SCAN sur des mots. Bien entendu, comme il est question d une modification de structure, le programme HQM doit être généré ainsi que le HQF, RPG + HTML.

Page : 34 VIII. Mise en production des programmes WEB : 1. Contexte : Pour mettre en production à partir de deux IBM i, un IBM i de développement et un IBM i de production, procéder de la manière suivante : 2. Mise en œuvre lorsque deux IBM i : a) Créer une bibliothèque de production PRD_LIB : Il faut créer une bibliothèque de production qui est une extraction de la bibliothèque ARC_OBJ. Pour cela sur l IBM i de développement: Fermer toutes les sessions RePeGlio avec un signoff afin d éviter les fichiers tenus. Ouvrir une session et se signer sous QSECOFR ou profil équivalent. Lancer la commande ADDLIBLE ARC_OBJ puis CALL PRD_001 Une bibliothèque de nom PRD_LIB sera créée. Note importante : Si la bibliothèque PRD_LIB existe déjà, seuls les objets *srvpgm et *pgm sont remplacés ainsi que les nouveaux objets fichiers *file. Il est à noter que les anciens objets fichiers *file ne sont pas touchés et le contenu sera préservé. Pour refaire à neuf une bibliothèque de production lancer au préalable la commande CLRLIB afin de supprimer tous les objets de la bibliothèque PRD_LIB avant. b) Transfert des bibliothèques Transférer les bibliothèques suivantes sur la machine de production : PRD_LIB ARC_FRA si Français sinon ARC_ENG pour Anglais ARC_SRC pour les outils 5250 utilisés par les programmes WEB Votre bibliothèque qui contient les programmes WEB RPG+HTML et qui porte le même nom que l instance d APACHE. c) Menu PHTMMNUR A partir de votre IBM i de production utiliser ou créer une session qui : Ajoute les 4 bibliothèques transférées dans la *LIBL de la session. Appelle le menu PHTMMNUR de la bibliothèque PRD_LIB d) Enregistrer l environnement de production Depuis votre session créée en c) CALL PHTMMNUR Option 1. *LIBL data base Option L=Libl Avec l option 2 Modif, remplacer la bibliothèque ARC_OBJ par PRD_LIB

Page : 35 e) Vérification de l environnement de production avec l option 11, vérifier les profils qui seront utilisés en production, la *jobd du profil où se trouvent la liste des bibliothèques des fichiers, la directory. Au besoin, saisir les profils de production. Si vous avez de nouveaux profils, avec l option 12 créer des listes d autorisation Profils+PGMs 13 et 14 les menus déroulants éventuels. f) Menu APAWRK00 pour créer les directories d APACHE CALL APAWRK00 de la bibliothèque PRD_LIB A faire : vous devez créer une directory dans /www/ qui porte le même nom que l instance d Apache. Activer l option 11 du menu APAWRK00 et entrer le nom de la bibliothèque Web qui est aussi le nom de l instance d Apache. Attention : par défaut vous aurez le port :7500 pour le modifier il faut mettre à jour le fichier de config avec l option 22. Vous devez démarrer l instance avec l option 1. 3. Passage d un programme en environnement de production Pour passer en production un seul programme vous devez au minimum et obligatoirement : Transférer l objet *PGM RPG. Transférer le membre source HTML dans HTMLSRC de la bibliothèque de l instance d Apache. Renseigner le nom racine du programme (nom commun une fois enlevé le suffixe HQL, HQM etc ) à l aide de l option 5 du menu PHTMMNUR. Utiliser de préférence 3=Copier à partir d un autre nom racine similaire.