4D (2003 & 2004), ical (MacOS seulement) et Web Services



Documents pareils
Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

4e Dimension Clés XML Backup. Windows /Mac OS 4e Dimension D SA. Tous droits réservés.

Documentation de produit SAP Cloud for Customer (novembre 2013) Nouveautés de SAP Cloud for Customer pour les administrateurs

Stellar Phoenix Outlook PST Repair - Technical 5.0 Guide d'installation

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Sage CRM. 7.2 Guide de Portail Client

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

Acronis Backup & Recovery 10 Advanced Server Virtual Edition. Guide de démarrage rapide

CA ARCserve Backup Patch Manager pour Windows

CA Desktop Migration Manager

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

PARAGON SYSTEM BACKUP 2010

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Guide de démarrage rapide : NotifyLink pour Windows Mobile

Service d information pour remise de paiement de factures Scotia

Sauvegarde sous MAC avec serveur Samba

SCHMITT Année 2012/2014 Cédric BTS SIO. TP Serveur Backup

ecafé TM CENTER

Logiciel de gestion d'imprimante MarkVision

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Guide de démarrage rapide

Guide d'utilisation du Serveur USB

Comment utiliser mon compte alumni?

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Comment utiliser FileMaker Pro avec Microsoft Office

Guide de l'utilisateur de l'application mobile

Petit guide d'installation de l'option de connexion réseau

Back up Server DOC-OEMSPP-S/6-BUS-FR-17/05/11

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence nominative)

TP WINDOWS 2008 SERVER - OUTILS DE SAUVEGARDE ET DE RESTAURATION

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

1. Introduction Sauvegardes Hyper-V avec BackupAssist Avantages Fonctionnalités Technologie granulaire...

Guide de configuration. Logiciel de courriel

Guide de l'utilisateur du composant d'intégration de Symantec Endpoint Protection. Version 7.0

v7.1 SP2 Guide des Nouveautés

Guide d installation de OroTimesheet 7

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Manuel d installation Version Evolution réseau Ciel Compta Ciel Gestion commerciale Ciel Associations

Sophos Endpoint Security and Control Guide de mise à niveau

Les messages d erreur d'applidis Client

Tekla Structures Guide de l'administrateur sur l'acquisition de licences. Version du produit 21.1 septembre Tekla Corporation

Corrigé de l'atelier pratique du module 8 : Implémentation de la réplication

Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés

Cyberclasse L'interface web pas à pas

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

Acronis Backup & Recovery for Mac. Acronis Backup & Recovery et Acronis ExtremeZ-IP ARCHITECTURE DE RÉFÉRENCE

TAGREROUT Seyf Allah TMRIM

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Retrospect 7.7 Addendum au Guide d'utilisation

Service d'installation et de démarrage de la solution de stockage réseau HP StoreEasy 1000/3000

Fonctions pour la France

Copyright Arsys Internet E.U.R.L. Arsys Backup Online. Guide de l utilisateur

FAQ Trouvez des solutions aux problématiques techniques.

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Acronis Backup & Recovery 10 Server for Windows Acronis Backup & Recovery 10 Workstation. Guide de démarrage rapide

Sauvegarde d'une base de données SQL Server Express 2005

Sauvegarder automatiquement ses documents

TeamViewer 9 Manuel Management Console

Assistance à distance sous Windows

Instructions relatives à l'adaptation de la messagerie électronique

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

Utiliser Reporting Services pour des NewsLetter

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date :

DELEGATION ACADEMIQUE AU NUMERIQUE FORMATION ADMINISTRATEUR SCRIBE 2.3 ET CARTABLE EN LIGNE (CEL)

E.N.T. Espace Numérique de Travail

Gestion et impression

Netissime. [Sous-titre du document] Charles

Reporting Services - Administration

Middleware eid v2.6 pour Windows

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

PrintShop Mail Logiciel de mailing professionnel pour Macintosh et Windows

RégieSpectacle JLG SOFT. Présentation fonctionnelle

CONDITIONS D UTILISATION VERSION NOMADE

Fonctions pour la Suisse

AFTEC SIO 2. Christophe BOUTHIER Page 1

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

VM Card. Manuel des paramètres des fonctions étendues pour le Web. Manuel utilisateur

Configuration de Microsoft Internet Explorer pour l'installation des fichiers.cab AppliDis

Single User. Guide d Installation

SAUVEGARDER SES DONNEES PERSONNELLES

Boîte à outils OfficeScan

Sophos Mobile Control as a Service Guide de démarrage. Version du produit : 2.5

Version Wraptor Laboratories. Installation de SpamWars 4.0 Édition Entreprise

RoomMate Guide de l'utilisateur

Bureau Virtuel Lyon 2

Instructions préliminaires P2WW FR Préface

WINDOWS SERVER 2003-R2

GUIDE DE DÉMARRAGE RAPIDE

Procédure d'installation de SQL Server Express 2008

Formation. Module WEB 4.1. Support de cours

Les Imprimantes EOLE 2.3. Documentation sous licence Creative Commons by-nc-sa - EOLE (http ://eole.orion.education.fr) révisé : Janvier 2014

Transcription:

4D (2003 & 2004), ical (MacOS seulement) et Web Services Par Sati HILLYER, 4D Evangelist, 4D Inc. Note technique 4D-200412-34-FR Version 1 Date 1 décembre 2004 Résumé Avec ical, vous pouvez programmer un événement qui exécute un AppleScript qui communiquera avec 4D à travers les Web Services. 4D Notes techniques Copyright 1985-2004 4D SA - Tous droits réservés Tous les efforts ont été faits pour que le contenu de cette note technique présente le maximum de fiabilité possible. Néanmoins, les différents éléments composant cette note technique, et le cas échéant, le code, sont fournis sans garantie d'aucune sorte. L'auteur et 4D S.A. déclinent donc toute responsabilité quant à l'utilisation qui pourrait être faite de ces éléments, tant à l'égard de leurs utilisateurs que des tiers. Les informations contenues dans ce document peuvent faire l'objet de modifications sans préavis et ne sauraient en aucune manière engager 4D SA. La fourniture dulogiciel décrit dans ce document est régie par un octroi de licence dont les termes sont précisés par ailleurs dans la licence électronique figurant sur le support du Logiciel et de la Documentation afférente. Le logiciel et sa documentation ne peuvent être utilisés, copiés ou reproduits sur quelque support que ce soit et de quelque manière que ce soit, que conformément aux termes de cette licence. Aucune partie de ce document ne peut être reproduite ourecopiée de quelque manière que ce soit, électronique ou mécanique, y compris par photocopie, enregistrement, archivage outout autre procédé de stockage, de traitement et de récupération d'informations, pour d'autres buts que l'usage personnel de l'acheteur, et ce exclusivement aux conditions contractuelles, sans la permission explicite de 4D SA. 4D, 4D Calc, 4D Draw, 4D Write, 4D Insider, 4ème Dimension, 4D Server, 4D Compiler ainsi que les logos 4e Dimension, sont des marques enregistrées de 4D SA. Windows,Windows NT,Win 32s et Microsoft sont des marques enregistrées de Microsoft Corporation. Apple, Macintosh, Power Macintosh, LaserWriter, ImageWriter, QuickTime sont des marques enregistrées ou des noms commerciaux de Apple Computer,Inc. Mac2Win Software Copyright 1990-2002 est un produit de Altura Software,Inc. 4D Write contient des éléments de "MacLink Plus file translation", un produit de DataViz, Inc,55 Corporate drive,trumbull,ct,usa. XTND Copyright 1992-2002 4D SA. Tous droits réservés. XTND Technology Copyright 1989-2002 Claris Corporation.. Tous droits réservés ACROBAT Copyright 1987-2002, Secret Commercial Adobe Systems Inc.Tous droits réservés. ACROBAT est une marque enregistrée d'adobe Systems Inc. Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. 1 / 18

4D (2003 & 2004), ical et Web Services (MacOS seulement) Résumé N'avez-vous jamais voulu faire exécuter une procédure 4D à un moment précis? Nous connaissons tous l'avantage de pouvoir par programmation faire exécuter une tâche en utilisant une méthode 4D. C'est un gain de temps et cela évite des erreurs. Et si l'on pouvait planifier la même méthode 4D pour qu'elle s'exécute n'importe quand et de n'importe où? Imaginez que vous puissiez planifier un backup lorsque vous le souhaitez ou planifiez l'impression d'un rapport toutes les semaines et l'envoyer à vos commerciaux par email tout de suite. Beaucoup de personnes ont déjà pris l'habitude d'utiliser les applications "Calendriers" dans leur vie courante. Mais pourquoi ne pas l'utiliser également dans le domaine professionnel? Introduction 4D 2003 a incorporé une fonctionnalité très puissante, les Web services. Et avec les Web Services, les méthodes 4D peuvent être appelées à distance. Ceci laisse la liberté aux développeurs de maintenir leurs bases de données à partir de n'importe où et permet à l'utilisateur final de tirer parti de fonctionnalités personnalisées. Les Web Services sont indépendants de plate-forme et de langage, ainsi il importe peu que vous utilisiez votre base sur Mac ou sous Windows, les deux sont facilement accessibles. ICal est une application Calendrier. Les récentes versions d'ical (à partir de la version 1.5.1) ont vu l'implémentation de la possibilité d'appeler des AppleScripts. Les AppleScripts sont les petits programmes qui peuvent exécuter une multitude d'appels, qui peuvent être : jouer une chanson d'itunes ou vider la corbeille. La dernière version d'applescript supporte les WebServices. Ainsi, avec ical, vous pouvez programmer un événement qui exécute un AppleScript qui communiquera avec 4D à travers les Web Services (figure 1) Figure 1 : intégration de 4D et ical à travers les Web Services. 2 / 18

Cette note technique vous expliquera les différentes étapes nécessaires pour intégrer ical avec 4D à travers les Web Services. Les quelques scénarios ci-dessous serviront à illustrer la mise en place de cette technologie. AppleScript AppleSript est un langage de script qui est capable d'automatiser les tâches de l'ordinateur. La dernière version d'applescript, disponible sous MacOSX, permet les communications SOAP à travers le protocole HTTP. Et avec AppleScript vous pouvez automatiser des tâches qui normalement prennent du temps et de l'énergie. ICal ICal permet aux utilisateurs Apple de planifier à leur convenance des événements et ceci avec une interface simple. L'intégration de 4D apportera une nouvelle efficacité et organisation. ical version 1.5.1 et supérieure posséde des fonctionnalités plus puissantes qui porte la planification à un niveau jamais atteint. Il est important de noter que cette puissante fonctionnalité peut être utilisée par les utilisateurs Mac et Windows. Pour le moment, ical ne tourne que sur les machines Apple, mais souvenez-vous, les Web Services sont indépendants de plate-forme ; ainsi votre base de données peut tourner soit sur une machine Windows, soit sur une machine Mac. Une précédente note technique explique l'intégration de 4D et d'ical sous un autre aspect. Pour plus d'informations, voir la note technique 4D-200405-13-FR : "Ical et 4D". Scénario 1 : planifier un backup Pour l'administrateur d'une base de données, une des tâches les plus importantes est la sauvegarde des données. Votre activité repose sur vos données et de celles-ci on ne fait jamais assez de sauvegardes. En tant qu'administrateur, vous avez besoin de développer une routine planifiant les backups de votre base. Vous décidez par exemple de "backuper" 2 fois par mois, le 1er et le 15 de chaque mois, à 9 heures du soir. Quelle solution à votre disposition? Si vous utilisez un 4D monoposte 2003, la seule façon de planifier une routine de backup est de créer une méthode qui contrôle le jour et l'heure et commence le backup au moment voulu. Si vous utilisezun 4D Server 2003, vous pouvez utiliser le calendrier du Backup. Le calendrier permet de faire intervenir un backup à chaque minute, heure, jour ou semaine. Mais vous ne pouvez pas spécifier un jour précis. Vous ne pourrez pas par exemple choisir le 1er et le 15ème jour du mois. Ni avoir un backup qui commence à 21 heures. Si vous voulez un backup à une date spécifique et à une heure précise, vous devez programmer une méthode qui gère cela. Cela ne vous convient peut-être pas, alors que faire? Avec la version 2004, vous pouvez aisément planifier cela avec les paramétrages intégrés de sauvegarde. L'intérêt de passer par ical dans ce cas-là, est de pouvoir lancer la sauvegarde à tout moment et de n'importe où, en générant simplement un événement qui appelera l'applescript. C'est alors celui ou celle qui gère les événéments dans ical qui décidera du backup. Une nouvelle solution 3 / 18

Les Web Services vont vous permettre cette solution. En utilisant le langage 4D, vous pouvez créer une méthode qui exécute le backup de la base de données. Puis proposez cette méthode comme Web Service. Maintenantla méthode est accessible de n'importe où. En utilisant ical, vous pouvez planifier un événement le 1er et le 15 de chaque mois à 21 heures. Aux heures souhaitées, l'événement exécutera l'applescript qui appelera 4D. Vous devez juste créer la méthode de backup. Maintenant examinons les différentes étapes : 4D Tout d'abord commençons par créer le projet de Backup. Une fois que le plug-in 4D Backup est installé, faites un premier backup qui créera le projet et la destination de vos backups. L'étape suivante est la création d'une méthode simple qui programmera le backup de la base de données en utilisant le projet de backup. Voici un exemple de code qui exécutera le backup chaque fois que la méthode sera exécutée : `Auteur : Sati Hillyer `Date: 1/8/04 `Description: Cette méthode lance un backup basé sur le projet de backup C_ENTIER($vError;$vState) C_TEXTE(bkResult) DECLARATION SOAP(bkResult;Est un texte ;SOAP sortie ;"backup_result") $verror:=bk Begin full backup Si ($verror#0) bkresult:="backup en cours" Sinon $verror:=bk Start copy Si ($verror#0) bkresult:="backup en cours" Sinon Repeter $vstate:=bk Get state Jusque ($vstate#4) Si ($vstate#5) bkresult:="backup en cours" Sinon bkresult:="backup terminé!" Fin de si Fin de si BK END BACKUP Fin de si En 4D 2004 : C_ENTIER($vError;$vState) C_TEXTE(bkResult) DECLARATION SOAP(bkResult;Est un texte ;SOAP sortie ;"backup_result") SAUVEGARDER Si (OK#0) bkresult:="la sauvegarde s'est bien déroulée." Sinon bkresult:="problème survenu durant la sauvegarde!" Fin de si 4 / 18

Maintenant nous faisons en sorte de rendre accessible cette méthode via les Web Services de façon à pouvoir l'appeler de n'importe où. 4D 2003 et 4D 2004 permettent de rendre très facilement accessible, via les Web Services, n'importe quelle méthode 4D (voir figure 2). Une fois la méthode créée, appelez le dialogue de propriétés de la méthode : Figure 2 : passer une méthode 4D en Web Service. Cochez l'option : Offert comme Web Service, ainsi la méthode sera accessible à travers les Web Services. La seconde option Publiée dans WSDL est à la discrétion du développeur. Cette option permettra de faire en sorte que ce Web Service soit public pour les autres. Une fois que les propriétés de la méthode ont été mises en place, vous pouvez lancer cette méthode à travers les Web Services. Ce qu'il reste à faire au niveau de 4D est de lancer le serveur Web et de permettre les requêtes Web Services. Vous pouvez lancer le serveur Web en Mode Utilisation ou avoir demander à publier la base au démarrage (figure 3). 5 / 18

Figure 3 : lancer le serveur web au démarrage La dernière étage est d'autoriser les requêtes Web Services. Sélectionnez l'option (figure 4). AppleScript Figure 4 : autoriser les requêtes Web Services 6 / 18

Maintenant comment incorporer ical et 4D? Ceci se fait avec les AppleScripts et c'est assez simple. Lancez l'editeur de Scripts sur votre Mac (figure 5) Figure 5 : Editeur de Scripts, pour écrire et compiler AppleScript. Voici le code pour appeler une méthode 4D utilisant un Web Service en AppleScript : 7 / 18

Cette méthode fait un appel SOAP au Web Service 4D : Cette méthode appellera le Web Service 4D commençant le processus de backup. 4D renverra une réponse de confirmation et un message (Note : vous pouvez changez les messages ou les supprimer si vous le souhaitez). Ensuite vous faites l'intégration avec ical - la dernière étape, et la plus simple. Avec le système de calendrier d'ical, vous pouvez obtenir l'exécution d'un AppleScript à n'importe quel jour et heure choisis par vous. De plus, les Web Services 4D vous permetd'appelercette commande de n'importe quel systeme connecté au Web. Voici les étapes simples pour mettre en oeuvre cette solution. ical Maintenantque les scripts sont écrits, le reste est facile. Lancez ical et créer votre routine de backup. Pour ce scénario, vous planifiez votre backup tous les 1er et 15 de chaque mois, à 21 heures (figure 6). Choisissez le jour où vous souhaitez commencer et créer un nouvel événement. Editez cet événement (figure 7). Choisissez combien de fois vous souhaitez que l'événement se répète, cela peut être très générique comme tous les mardis, ou plus spécifique comme le 1er et le 15 de chaque mois. Indiquez une date de fin, si vous le souhaitez. La section Alarme est la zone cruciale qui lancera AppleScript. Placez l'alarme sur Ouvrir fichier et choisissez votre fichier AppleScript. Pour notre exemple, nous demandons de lancer très précisément le script à 21 heures. Vous pouvez aussi créer un calendrier qui stockent toutes les dates qui peuvent être publiées pour 8 / 18

les autrespersonnes de votre société et ainsi les partager. Pour plus d'information concernant cela, voir la note 4D- Figure 6 : ical et les événements planifiés 9 / 18

Figure 7 : Mise en place du lancement de l'apple Script Sauvegardez les événéments ainsi générés. Félicitations, vous venez de planifier une sauvegarde tous les jours à 19 heures. A ce moment-là, ical lancera l'applescript indiqué qui enverra une requête Web Services à 4D. 4D recevra la requête, lancera la sauvegarde et retournera une réponse de confirmation. L'AppleScript recevra cette réponse et l'affichera à l'utilisateur. Scénario 2 : Imprimer un inventaire Pour maintenir un inventaire, vous voulez générer et imprimer des rapports d'inventaire chaque semaine. Ces rapports doivent être imprimés chaque lundi à 8 heures pour refléter les comptes de la semaine. Voici donc une solution pour réduire ainsi les problèmes d'approvisionnement des stocks. Comment fonctionne cette solution? Comme dans les exemples précédents, nous devons créer une méthode dans 4D qui vérifiera la date et l'heure. Ceci nécessite du code additionnel. Une fois la méthode créée, nous construisons notre rapport et l'imprimons par programmation avec les commandes de l'éditeur d'etat Rapide. Cela peut nécessiter un peu plus de travail que prévu initialement, aucune importance, les Web Services sont là! Une nouvelle solution Avec les Web Services, vous pouvez créer une méthode 4D qui générera et imprimera le rapport d'inventaire. Une fois de plus, cette méthode doit être publiée en tant que Service Web. En utilisant ical, nous pouvons programmer un événement tous les lundis à 8 heures. Cet événement exécutera l'applescript qui à son tour appelera 4D. 4D 10 / 18

Nous devons créer un projet d'etat Rapide qui sera utilisé et imprimé sur demande. En utilisant l'assistant de l'editeur d'etat Rapide, créez un rapport en fixant sa destination vers l'imprimante. Sauvegardez le projet. Pour notre exemple, le projet a été nommé "Inventory_Report" (Figure 8) Figure 8 : Création de l'etat Rapide Maintenant que le projet a été créé, nous pouvons développer la méthode qui l'imprimera. Voici un exemple de code qui générera l'etat Rapide et l'imprimera chaque fois qu'il sera exécuté : `Auteur : Sati Hillyer `Description: `Cette méthode projet générera l'etat Rapide pour l'inventaire. `Elle charge le blob de la table [ReportTemplate] C_ENTIER LONG($qrArea) `on recherche le modèle d'états rapides associé à l'inventaire CHERCHER([ReportTemplate];[ReportTemplate]Report_Name="Inventory Report") `on charge le blob contenant l'état rapide dans une zone hors-écran $qrarea:=qr Creer zone hors ecran QR BLOB VERS ETAT($qrArea;[ReportTemplate]Report_Blob_) QR FIXER PROPRIETE DOCUMENT($qrArea;qr DIALOGUE d impression ;0) QR FIXER ENTETE ET PIED DE PAGE($qrArea;1;"";"Inventory Report";"";50) `on envoie le rapport à l'imprimante QR EXECUTER COMMANDE($qrArea;2008) `impression du rapport `on supprime la zone hors-écran QR SUPPRIMER ZONE HORS ECRAN($qrArea) La méthode ci-dessus sera appeléepar la méthode suivante pour générer l'etat Rapide et ceci fait, envoyer une 11 / 18

confirmation par l'applescript. Maintenant faisons de la méthode ci-dessous un Web Service en changeant ses propriétées, comme vu auparavant. `Méthode objet : PrintInventory `Auteur : Sati Hillyer `Cette méthode imprime l'etat Rapide généré C_TEXTE(result) C_BOOLEEN(b_result) `Creates a confirmation that is sent back by the Web Service `crée une confirmation qui est renvoyée par le Web Service DECLARATION SOAP(result;Est un texte ;SOAP sortie ;"return_result") Si (b_result=faux) TOUT SELECTIONNER([Inventory]) qr_report result:="impression réussie." Sinon result:="impression en cours." Fin de si AppleScript Vous pouvez utiliser le même Apple Script que ci-dessous ; vous devez juste indiquer le nom de la méthode. Voici le code qui appelle cette méthode d'un AppleScript : Maintenant que le script est écrit, lancez ical et planifiez un événement qui appelle cette méthode. Référezvous aux scénarios précédents pour créer un événement ical et lancer l'applescript. Scénario 3 : Envoyer par mail un rapport des ventes hebdomadaires 12 / 18

Dans notre dernier scénario, vous devez générer chaque semaine un rapport des ventes qui sera envoyé par e- mail à chaque membre de l'équipe des ventes. Cet événement doit avoir lieu tous les vendredis à 16 heures, de façon à ce que chaque membre de l'équipe ait l'état de ses ventes de la semaine. Vous avez besoin de générer un état rapide qui compilera les ventes par produits, informations stockées dans la table [Sales]. Qu'elle est votre solution actuelle? Votre solution actuelle nécessitera un peu de travail, ce qui sera un peu trop long à implémenter. Utilisez l'éditeur d'etat Rapide pour construire un projet générant le rapport des ventes. Une fois le rapport fait, vous avez deux options. Vous pouvez manuellement faire l'état et le mettre en pièce jointe à un email que vous envoyez individuellement à chaque membre de l'équipe commerciale. Cette option fonctionnera mais nécessitera beaucoup de travail pour envoyer chaque email. La seconde option serait d'intégrer les Internet Commands qui fournissent un moyen de programmer un email et de l'envoyer à toute l'équipe. Ceci nécessite plus de code mais évite de faire les manipulations chaque semaine et évite donc les erreurs. Vous devez toujours créer une méthode pour vérifier le jour et l'heure et ainsi envoyer votre rapport le vendredi à 16 heures. Une nouvelle solution 4D Ce scénario vous fera franchir plusieurs étapes par rapport au précédent ; maintenant avec ical et les Web Services de 4D, beaucoup de tracas peuvent être supprimés. La première étape consiste à construire un projet d'etatrapide qui sera utilisé pour la génération du rapport hebdomadaire. Puis installez le plug-in 4D Internet Commands. Nous allons maintenant programmer la génération et l'envoi par email de ce rapport. La première méthode contruira l'email qui va être envoyé à chaque personne du service des ventes. Voici un exemple de code : Note : Vérifiez bien que votre méthode est publiée en Web Services. `Méthode projet : sentreport `Auteur : Sati Hillyer `Description: `Cette méthode génère un email et l'envoie, avec le rapport des ventes en pièce jointe, à tous les `membres de l'équipe commerciale C_ENTIER($error;$vState) C_TEXTE(vConfirm) `On crée une confirmation qui sera renvoyée par le web services DECLARATION SOAP(vConfirm;Est un texte ;SOAP sortie ;"Confirmation") ` *** Génération du rapport et corps de l'email $Body:="Chers Commerciaux,<p>Voici le rapport hebdomadaire des ventes.<p>cordialement,<p>"+"le Directeur Commercial<p>" $Body:=GenerateSales ($Body) TOUT SELECTIONNER([SalesTeam]) `Création du message $error:=smtp_new ($smtp_id) `indication du serveur de mail - Saisissez le vôtre $error:=smtp_host ($smtp_id;"smtp.4d.fr") `Indiquez ici votre serveur de mail 13 / 18

`saisissez votre propre email $error:=smtp_from ($smtp_id;"sylvie.mourier@4d.fr") `Indiquez ici le mail de l'expéditeur $error:=smtp_replyto ($smtp_id;"jean.mourier@4d.fr") `Indiquez ici le mail de la personne à qui l'on doit ` répondre $error:=smtp_subject ($smtp_id;"rapport des ventes") `On boucle sur la table [SalesTeam] Boucle ($i;1;enregistrements trouves([salesteam])) Si ([SalesTeam]Email#"") $error:=smtp_to ($smtp_id;[salesteam]email;0) `on récupère leur email pour envoi Fin de si ENREGISTREMENT SUIVANT([SalesTeam]) Fin de boucle `on ajoute le header $error:=smtp_addheader ($smtp_id;"content-type:";"text/html;charset=us-ascii") `on indique le body (corps) du mail $error:=smtp_body ($smtp_id;$body) `on précise la pièce-jointe html $error:=smtp_attachment ($smtp_id;"sales_report.html";0) `on envoie le message et on met à jour la variable de confirmation Si ($error=0) $error:=smtp_send ($smtp_id) vconfirm:="transmis avec succès." Sinon vconfirm:="transmission en cours." Fin de si `on efface les messages et on libère la mémoire $error:=smtp_clear ($smtp_id) Cette seconde méthode génère la version.html du rapport des ventes. Nous convertirons ensuite ce fichier html en fichier texte qui sera affiché dans le corps de l'email. Voici la méthode projet : `Méthode projet : GenerateSales `Auteur : Sati Hillyer `Description: Cette méthode génère le rapport des ventes. C_TEXTE($0;$1) C_BLOB($doc) C_ENTIER LONG($qrArea;$Offset) TOUT SELECTIONNER([Sales]) `1. Génère le raport en HTML `on recherche d'abord le modèle associé aux ventes CHERCHER([ReportTemplate];[ReportTemplate]Report_Name="Sales Report") `on charge le blob dans une zone hors-écran $qrarea:=qr Creer zone hors ecran QR BLOB VERS ETAT($qrArea;[ReportTemplate]Report_Blob_) `On génère le fichier HTML qui sera en pièce jointe de l'email QR FIXER DESTINATION($qrArea;qr fichier HTML ;"Sales_Report.html") QR EXECUTER COMMANDE($qrArea;qr cmd EXECUTER ) `on supprime la zone hors-écran QR SUPPRIMER ZONE HORS ECRAN($qrArea) `2. On charge le rapport HTML dans une variable Texte $Offset:=0 DOCUMENT VERS BLOB(GetStructureFolderPath +"Sales_Report.html";$doc) $body:=blob vers texte($doc;texte sans longueur ;$Offset) $body:=$1+"<p>"+$body $0:=$body 14 / 18

Cette troisième méthode retrouve le chemin d'accès du rapport en HTML afin de le convertir en texte pour l'email : `Méthode projet : GetStructureFolderPath `Auteur : Sati Hillyer `Description: Cette méthode récupère le chemin d'accès `du fichier HTML généré par l'éditeur d'etats Rapides C_TEXTE($0;$path) C_ALPHA(2;$sep) C_ENTIER LONG($platform) PROPRIETES PLATE FORME($platform) Si ($platform=3) $sep:="\\" ` utilisez un seul anti-slash (\) pour les versions 6.x. Sinon $sep:=":" Fin de si $path:=fichier structure $len:=longueur($path) $Done:=Faux Repeter Si ($path[[$len]]=$sep) $Done:=Vrai Sinon $len:=$len-1 Fin de si Jusque ($Done) $path:=sous chaine($path;1;$len) $0:=$path Maintenant, la procédure peut être appelée par un Web Service. Créons l'applescript : 15 / 18

ical Maintenant que l'applescript est écrit, lancez ical et planifiez un événement pour appeler cette méthode. Référez-vous aux scénarios précédents. 16 / 18

Utilisation de la base de démo. : La base de démonstration fournit couvre les trois scénarios. Ceci nécessite d'installer les plug-ins 4D BackUp et 4D InternetCommands pour 4D 2003, et 4D Internet Commands pour 4D 2004 (le backup étant intégré dans 4D 2004). Vous devez avoir une version 1.5.1 ou supérieure de ical. Tous les fichiers AppleScript sont inclus et prêts à fonctionner. Il est possible que vous ayez à changer les valeurs par défaut du Web Service pour pouvoir vous connecter au serveur. Si vous faites tourner la base 4D sous Windows, les AppleScripts doivent pointer sur le numéro IP de la machine. Changez simplement la ligne suivante : property "http://xxx.xxx.xxx.xxx:8080/4dsoap/" où xxx.xxx.xxx.xxx est l'adresse IP de la machine faisant tourner la base 4D. Pour exécuter le Backup, vous devez d'abord avoir créer un projet de Backup. Ceci peut être fait en Mode Utilisation. En 4D 2003, dans le menu Plug-ins, choisissez "Sauvegarde intégrale". En 4D 2004, Menu Fichier, choisissez "Sauvegarder...". Choisissez la localisation de vos sauvegardes et sauver le projet de Backup. Désormais à chaque sauvegarde, 4D se référera au projet de backup. Si vous souhaitez changer le modèle d'etat Rapide, en Mode Utilisation, exécutez la méthode savereporttemplate. et choisissez vos nouveaux modèles. Le premier modèle sera associé à l'inventaire, et le second au rapport de ventes. Les noms et les emails sont inventés. Remplacez-les simplement par de vrais emails pour recevoir la confirmation. Ressources : Pour trouver des informations sur ical ou le télécharger : 17 / 18

http://www.apple.com/fr/ical/ Pour plus d'informations sur les AppleScripts et ical : http://www.apple.com/applescript/ical/ Pour plus d'informations sur les Web Services, référez-vous à la note : 4D-200401-01-FR : Introduction aux Web Services Pour plus d'informations sur ical : 4D-200405-13-FR : ical et 4D. Conclusion : La planification est devenu un élément crucial. Cette possibilité seule rend vos applications inestimables. La nouvelle version de ical est vraiment faite pour programmer n'importe quelle routine dans 4D de façon très simple et efficace. Désormais tous ces automatismes vitaux peuvent être mis en place à partir de l'interface du calendrier ical. Avec 4D, ical et les Web Services, vos tâches peuvent être exécutées à tous moments, n'importe quel jour, et être lancées de n'importe où. Les Web Services vous donnent, à vous et à vos applications, la possibilité de s'intégrer à des solutions opérationnelles. Enfin ceci permet de réaliser des solutions complètes. 18 / 18