Révolution Informatique

Documents pareils
Révolution Informatique

Content Management System V.3.0. BlackOffice CMS V3.0 by ultranoir 1

Pack Fifty+ Normes Techniques 2013

Guide de l'utilisateur

Débuter avec OOo Base

Introduction : présentation de la Business Intelligence

Manuel d utilisation NETexcom

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Import d un fichier de contacts dans une campagne

Pack Evolix Serveur Mail Documentation d'utilisation

Jexcel. V1.1.4 Manuel d'utilisation. modifié le 16 nov. 2004

I- Créer un compte Doodle:

Importation des données dans Open Office Base

PUBLIPOSTAGE DANS WRITER

Mode d'emploi de la newsletter

Communiqué de Lancement. Sage Intégrale V4.50

Note de synthèse. Développement web sur le CMS Prestashop. Stage du 17 mai au 25 juin Entreprise decoratzia.com 15 rue Erlanger Paris

Cyberclasse L'interface web pas à pas

ASTER et ses modules

inviu routes Installation et création d'un ENAiKOON ID

Manuel d'utilisation

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

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

Fiche de l'awt La newsletter ou lettre d'information

Ce document décrit la démarche à suivre pour installer les outils de développement et compiler le projet TANAGRA.

Tutoriel d'utilisation du logiciel Thunderbird version 2.0

INFORM :: DEMARRAGE RAPIDE A service by KIS

Description globale. Présentation du site Internet

Manuel d'utilisation d'apimail V3

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

AIDE A LA REDACTION CAHIER DES CHARGES DE REALISATION DE SITE INTERNET

Les Utilisateurs dans SharePoint

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl , 17 novembre, Lyon. Alexis Sukrieh

(Fig. 1 :assistant connexion Internet)

Solution de gestion de newsletter 12all Version 1.0 p.montier

Prototypage électronique

SOLUTIONS INTERNET KIOSQUES INTERACTIFS

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

ENVOYER DES NEWSLETTER (POM0580) (/PORTAIL/SERVICES-AU-PUBLIC/1262- ENVOYER-DES-NEWSLETTER-POM0580)

< Atelier 1 /> Démarrer une application web

AWS avancé. Surveiller votre utilisation d EC2

EXPRESSION DU BESOIN...2 NOTRE APPROCHE...2 NOTRE PROPOSITION...3 TABLEAU RÉSUMÉ DE LA PROPOSITION FINANCIÈRE...4 CONFIGURATION TECHNIQUE PROPOSÉE...

Mail2SMS. Envoyer facilement vos SMS depuis un . Version : Revision : 12/12/2011. Page 1/8

Spécificités Techniques créations publicitaires

Manuel d'utilisation. Module " ing "

EDIWEB - Guide de démarage rapide

Internet - Liste de diffusion A quoi sert une liste de diffusion

MODE OPERATOIRE OPENOFFICE BASE

Paginer les données côté serveur, mettre en cache côté client

Comment faire un Mailing A partir d une feuille Calc

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Création d'un questionnaire (sondage)

Utilisation de GalaxShare

Normes techniques 2011

Guide d'utilisation du logiciel de NEWSLETTERS

Comité départemental du tourisme de Haute Bretagne Ille et Vilaine

Freeway 7. Nouvelles fonctionnalités

Utilisation de l'outil «Open Office TEXTE»

claroline classroom online

Manuel d utilisation Mailchimp

Démonstration de la mise en cache via HTML 5 sur iphone

SAP BusinessObjects Web Intelligence (WebI) BI 4

OFFRE DE SERVICE.

7 S'abonner aux notifications des nouveaux appels

Le Service de Télétransmission par Internet des banques du Réseau OCÉOR GUIDE UTILISATEURS. Version V1.0

Un logiciel pour aller plus loin dans la gestion de vos espaces. Mémo technique

Content Management System. bluecube. Blue Cube CMS V4.3 par Digitalcube

SDIS 84 PROJET INFOGERANCE PROCEDURE. Procédure

Google Documents permet d élaborer un questionnaire, de le diffuser sur le net pour ensuite le dépouiller.

FileSender par RENATER - Guide utilisateur

Comment mettre en page votre livre

Mode d'emploi du back office KNE. Contact technique établissement

Interopérabilité avec outils de mass mailing (mailchimp, sarbacane (upe13), mandrill, z (medef 93 94))

CAP BOX Note utilisateurs

HighPush. document /06/2009 Révision pour version /11/2008 Revision pour la /10/2008 Documentation initiale.

Créer son Blog! Une fois votre compte blogger ouvert, vous allez pouvoir cliquer sur «Nouveau Blog» Une nouvelle fenêtre apparaît

A. Introduction. Chapitre 7

GESTION DES BONS DE COMMANDE

Manuel utilisateur logiciel Salles. Version 1.1

MANUEL. de l application «CdC Online» pour Windows. Table des matières

é n e r g i e c r é a t i v e Solution ing Renforcez le pouvoir de communication de votre entreprise

Formation : WEbMaster

GERER UNE CAMPAGNE (Mise à jour 04/10/2012) MENU

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Atelier du 28 novembre «Sélection et panorama comparatif des solutions de gestion d ing» Club

OpenOffice.org Présentation - Débuter. Distribué par Le projet OpenOffice.org

Pas-à-pas. Créer une newsletter avec Outlook

Maîtriser l'utilisation des outils bureautiques. Maîtriser le logiciel de traitement de texte - Word. Maitriser le logiciel tableur - Excel

OpenOffice Base Gestionnaire de Base de Données

Dans l'article précédent, vous avez appris

LE TABLEUR OPENOFFICE CALC : CONTRÔLES DE FORMULAIRES ACCÈS AUX BASES DE DONNÉES

Impact des robots d indexation sur le cache de second niveau de SPIP IMBERTI Christophe - SG/SPSSI/CP2I/DO Ouest 06/06/2012 mis à jour le 05/07/2012

Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

Manuel d utilisation du site web de l ONRN

SOMMAIRE 1 INTRODUCTION 4 2 GUIDE D UTILISATION ET TUTORIAUX VIDEOS EN LIGNE 4 3 CONTACTER VOTRE SUPPORT 4 4 RACCOURCIS CLAVIER 5

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Comment créer un diagramme de Gantt avec OpenOffice.org

Transcription:

Révolution Informatique Pensez Libre! RICH MAIL MERGE v1.0 Guide développeur page 1/20

BUT Le but de ce document est de vous faire découvrir un moyen simple pour collecter des informations utilisateurs dans une feuille de calcul à partir d'un formulaire Google. À partir de ces données nous enverrons des courriels personnalisés. Le code de ce script Google Apps est dérivé du tutorial 'Simple Mail Merge' et en reprends la majorité. Les modifications apportées en permettent une réelle exploitation professionnelle : Le formulaire est publié sur un site web (Google site), ce qui permet un accès facile pour les internautes. Le modèle est également une page Google site afin de générer des messages électroniques au format HTML. Table des matières 1 Création du modèle...3 2 Préparation du formulaire...4 3 Intégration du script à votre feuille de calcul...8 4 Intégration du formulaire sur votre site...11 5 Test...13 6 Déclencheurs possibles...14 7 Analyse du code...17 8 Conclusion...18 page 2/20

1 Création du modèle Il vous faut créer une nouvelle page sur votre Google site. Choisissez un modèle le plus simple possible pour commencer. Vous pourrez enregistrer votre nouvelle page comme modèle par la suite. Modifiez ensuite la page créée à votre convenance en respectant néanmoins les règles de composition ciaprès. Elles sont assez strictes à cause de contraintes techniques liées à google script : Seul le code du corps de la page peut être lu. Le script ne tiendra donc pas compte de la charte graphique du site : Pas d'entête ni pied de page Pas de barre latérale Pas de mise en page multicolonnes Pas de thème... Pour faire bref cette page fera souvent appel à du code HTML écrit à la main. Si vous ne le maîtrisez pas, utilisez un éditeur externe et collez le code obtenu dans l'éditeur Html de google site. page 3/20

Le document envoyé ne sera pas obligatoirement connecté à votre compte lors de sa lecture! Il faut être vigilant sur plusieurs autres points : Les liens aux ancres de la page doivent être relatifs (l'éditeur les modifie en absolus si vous essayez de les modifier). Toutes les images utilisées doivent être publiées (j'ai systématiquement utilisé des images picasa publiques dans cet exemple) Les Google Gadgets ne sont généralement pas supportés... Les variables destinées à la fusion seront de la forme ${«nom de variable»}. Le «nom de variable» doit correspondre aux champs du formulaire que vous allez créer au paragraphe suivant. Pour une plus grande facilité d'utilisation le script normalise cependant les noms de variables (pas de sensibilité à la casse, aux accents, filtrage des caractères de ponctuation...) Ex : «Nom et Prénom» sera équivalent à «nometprenom» Exemple de modèle terminé : page 4/20

2 Préparation du formulaire La première chose à faire est de vous connecter à votre compte google docs pour créer un nouveau formulaire... De paramétrer les deux champs dont nous aurons besoin : Rappels : Les intitulés de questions doivent corespondrent aux noms de variables du modèle. Le nom page 5/20

Puis l'email de nos contacts, le script attends un intitulé «email» pour adresse d'envoi. N'oubliez pas de rendre ce formulaire public en décochant la case qui oblige les utilisateurs à se connecter : page 6/20

Vous pouvez également choisir un thème en accord avec la charte graphique de votre site web : Enfin cliquez sur le lien en bas de page pour vérifier votre formulaire publié : Validation des données : Les formulaires ne permettent malheureusement pas de positionner des règles de validation de données. Il est possible de poser des contraintes dans les cellules de la feuille de calcul, elles seront marquées comme invalides mais aucun message ne remonte vers l'utilisateur. Note : il semble que Google travaille sur ce point, il y a quelques jours, une erreur système non compréhensible remontait à l'utilisateur et la ligne n'était pas ajoutée à la feuille de calcul. page 7/20

3 Intégration du script à votre feuille de calcul Mon script est actuellement en étape de validation pour la publication à la bibliothèque. Lorsqu'il sera validé la procèdure à suivre sera la suivante : À partir de votre feuille de calcul allez dans l'option de menu Outils>Scripts>Insérer... Pour arriver à l'écran ci-dessous. Faite une recherche de «Rich mail» puis cliquez sur installer... page 8/20

Dans l'attente de la validation de Google il faut en passer par l'éditeur de script. Supprimez la fonction par défaut myfunction() proposée par éditeur. Puis collez le code de notre script que vous trouverez sur notre site : http://sites.google.com/a/revolution-informatique.fr/revolution-informatique-script/documents/richmailmergescript.zip?attredirects=0&d=1 Dans les deux cas quelques personnalisations sont à prévoir. Vous devez remplacer les valeurs des lignes 20 à 24 par celles qui correspondent à votre domaine, site, page modèle et objet de vos courriels : 20 var domainname = 'revolution-informatique.fr'; // uddate with yourdomain.ocm 21 var sitename='revolution-informatique-script'; // update with yoursite.com 22 var pagename = '/newsletters/newsletter'; // update with yourpage name 23 var emailsubject = 'Newsletter Révolution Informatique'; // update with your subject Pour une personnalisation plus avancée voir l'explication du code en paragraphe 7. Votre script est alors prêt pour l'exécution. Il ne reste plus qu'à alimenter notre feuille de calcul à partir d'une page web... page 9/20

4 Intégration du formulaire sur votre site Créez une nouvelle page et insérez un formulaire : Choisissez votre formulaire page 10/20

Précisez en les paramètres... et enregistrez les modifications. page 11/20

C'est terminé! NB : le thème du formulaire n'est pas repris intégralement (pas d'image de fond). Utilisez cette page pour saisir une ou deux adresses email. Attention : ne soyez pas trop gourmand pour les premiers tests, à chaque tentative, un courriel sera envoyé à chacune des adresses contenues dans votre feuille de calcul. Vous devrez certainement faire de multiples tests avant d'arriver au résultat escompté. N'oubliez pas que Google impose des quotas en fonction de votre type de compte. page 12/20

5 Test Pour tester notre script nous allons maintenant le lancer manuellement. Retournez dans votre feuille de calcul, puis lancez Outils>Scripts>Gérer choisissez la fonction sendemails puis cliquez sur Run... Lors du premier lancement d'un script Google vous demande deux autorisations. Validez, puis relancez le script. page 13/20

Vérifiez vos boites de réception... vous devriez y voir vos courriels. page 14/20

6 Déclencheurs possibles Hormis la méthode manuelle que nous venons de voir, il est possible de lancer notre fonction de deux autres manières : Sur un événement survenant dans la feuille de calcul (From spreadsheet) Trois événements sont gérés ici Ouverture (on open), Modification(on edit), Enregistrement d'un formulaire (on form submit). Notre script ne se prête pas à ce type de déclenchement puisque il envoie des courriels à la liste de contacts. On pourrait imaginer un déclenchement 'on form submit' en modifiant légèrement notre script pour n'envoyer un courrier électronique au seul dernier contact. Ex : 18 var datarange = datasheet.getrange(datasheet.getmaxrows()-2,1,datasheet.getmaxrows()-1,3); page 15/20

Sur un timer (Time driven) De nombreuses combinaisons sont ici possibles : Minutes : toutes les 1/5/10/15/30 minutes Heures : toutes les 1/2/4/8/12 heures Jours : par tranche d'une heure (8 à 9, 9 à 10... toutes les heures sont possibles) Semaine : Jours (Lundi, Mardi...) puis tranches d'une heure. La documentation des évènements indique que d'autres fréquences sont possibles : annuelle, mensuelle et jour du mois mais celles-ci ne sont pas implémentées dans l'interface. Google précise que ces déclencheurs sont encore instable pour le moment. page 16/20

Les déclencheurs peuvent s'ajouter les uns aux autres : Dans cet exemple, l'envoi se fera à chaque validation du formulaire et chaque lundi de 2 à 3 heures et chaque Jeudi de 22 à 23 heures. page 17/20

7 Analyse du code Je ne reprendrais pas ici intégralement le tutorial de Google que vous pouvez retrouver à l'adresse http://code.google.com/intl/fr-fr/googleapps/appsscript/articles/mail_merge.html mais je m'attacherais aux améliorations apportées par notre script. La modification de la fonction sendemails porte sur les lignes suivantes : Nous lisons ici une colonne de moins car notre feuille de calcul a été préparée dans ce sens. 18 var datarange = datasheet.getrange(2, 1, datasheet.getmaxrows() - 1, 3); Nous préparons ensuite la lecture du modèle. Il comporte une variable {«Nom»} qui sera remplacée par les valeurs correspondantes lors de la fusion. 20 var domainname = 'revolution-informatique.fr'; // uddate with yourdomain.ocm 21 var sitename='revolution-informatique-script'; // update with yoursite.com 22 var pagename = '/newsletters/newsletter'; // update with yourpage name 23 var emailsubject = 'Newsletter Révolution Informatique'; // update with your subject Enfin nous exécutons la fonction readpage qui est la réelle nouveauté de ce script. 24 var emailtemplate = readpage(domainname,sitename,pagename); Cette fonction commence par instancier un objet site à partir du nom de domaine et du nom du site. Puis instancie la page correspondant au modèle, recupère et renvoie le code HTML (du corps seulement!). 47 function readpage(domainname,sitename,pagename) { 48 // based on (basé sur) google apps script / site services documentation http://code.google.com/intl/frfr/googleapps/appsscript/service_sites.html 49 // return the HTML page content of domainname,sitename,pagename 50 // renvoie le code HTML du contenu de la page domainname,sitename,pagename (nom de domaine, nom de site, nom de page) 51 var site = SitesApp.getSite(domainName,siteName) 52 var page = site.getchildbyname(pagename); 53 var content = page.gethtmlcontent(); 54 return content 55 } page 18/20

Un dernier point. Attention à la syntaxe de la ligne : 39 MailApp.sendEmail(rowData.email, emailsubject, "", {htmlbody:emailtext}); Le premier argument devient rowdata.email au lieu de rowdata.emailaddress pour faciliter la localisation. Le nom de cet argument doit, en effet, correspondre à l'intitulé du formulaire. email est plus international que emailaddress. Le corps HTML du courriel est passé comme quatrième argument, contrairement à un format texte qui est attendu en troisième position. page 19/20

8 Conclusion Nous pouvons, enfin, noter quelques subtiles différences entre un déploiement de cet exemple sur un compte Google standard et un compte Google Apps : Un compte Google Apps ne permet pas de publier un script ou un modèle de feuille de calcul dans la gallerie Google. Ils resteront internes à votre domaine. Certaines fonctions ne semblent pas réagir comme attendu. Ex : il m'a été impossible d'instancier directement un objet page avec la fonction getpagebyurl(url). Il semble d'ailleur y avoir une erreur sur cette fonction dans la documentation de Google, les exemples donnés utilisent la fonction getsitebyurl(url) De nombreuses améliorations fonctionnelles et de qualité du code sont, bien sûr, possibles. J'ai voulu rester assez basique pour cette première version. Des versions plus complètes sont prévues dans les semaines qui viennent. Toutefois je n'ajouterais volontairement aucune interface utilisateur. Ce script doit pouvoir continuer à fonctionner dans le cadre d'une automatisation complète et transparente. page 20/20