Aller au contenu

Envoi d’email formaté en HTML depuis le service CHECK BACKUP

Compétences visées B1.1 Gérer le patrimoine informatique
B1.2 Répondre aux incidents et aux demandes d’assistance et d’évolution
B1.5 Mettre à disposition des utilisateurs un service informatique
B2.2 Assurer la maintenance corrective ou évolutive d’une solution applicative
B2.3 Gérer les données 
Environnement technologique Atelier de génie logiciel WinDev 26
Centre de contrôle HyperFile SQL 
Ressources fournies Logiciel Check Backup existant
Poste de travail
Productions  Productions sur OneDrive (professeurs uniquement)
Moyens J’ai travaillé seul sur cette réalisation.
Durée : 2 jours

Contexte 

L’entreprise SKIOLD a mis en place une solution de sauvegarde automatique pour ses clients : le logiciel CHECK BACKUP est une partie intégrante de cette solution.

Le logiciel vérifie les sauvegardes présentes sur un serveur SFTP en les inscrivant dans une base de données, en vérifiant leur intégrité, en supprimant les sauvegardes les plus anciennes et en envoyant un e-mail au revendeur du client et aux superviseurs Skiold.

Les superviseurs et revendeurs de SKIOLD ont ainsi accès aux sept dernières sauvegardes de leurs clients respectifs sur le site internet Skiold. 

Une fonction de ce logiciel est d’envoyer un e-mail au contact Skiold et au revendeur si un client n’a pas enregistré de sauvegarde durant plus de deux jours. 

Voici un exemple d’e-mail reçu après l’exécution de la fonction :  

image 17

Missions 

Le contenu de l’email est formaté dans un tableau en texte brut, il m’a été donné comme mission de remplacer ce tableau par un tableau formaté en HTML ce qui permettra d’obtenir un meilleur rendu. 

Il m’a aussi été demandé d’ajouter un champ dans le tableau indiquant le nombre de jours sans nouvelle sauvegarde.

Production

J’ai remplacé le formatage par une structure de tableau HTML. J’initialise d’abord mon tableau en créant l’en-tête de mon tableau avec les catégories : customer name, customer folder, system folder, last backup puis je remplis mon tableau à l’aide des données contenues dans mes bases de données.

image 44

J’ai modifié la base de données HF_CLIENT.fic pour remplacer toutes les adresses Skiold par la mienne afin de pouvoir m’assurer du contenu des e-mails et de ne pas polluer les adresses officielles par mes tests.

J’ai aussi marqué tous les fichiers clients comme étant valides.

image 45

Voici un e-mail reçu après les mises à jour que j’ai apporté au code :

image 46

Un problème se pose, la fonction d’écriture dans le mail Enregistre_Erreur formate déjà en HTML le texte qui lui est renvoyée.

Je vais donc ajouter une booléenne « estBrut » à ma fonction Enregistre_Erreur qui sera par défaut à « Faux »

image 47

Enregistre_Erreur construit le message mail à l’aide de la fonction Construire_message_mail avant de l’envoyer.

J’ai donc ajouté le même paramètre booléen estBrut à Construire_message_mail

J’ai implémenté une condition dans le code de Construire_message_mail

image 48
image 49

Lorsque estBrut est vraie, je n’utilise pas la fonction texte vers HTML de WinDev qui permet de reformater du texte en HTML car le corps du message est déjà formaté en HTML.

Je n’inclus pas non plus sCorpsMessage dans un paragraphe.

J’obtiens maintenant le résultat voulu, mis à part un espace entre la date et l’heure.

image 50

J’ai corrigé ce bug en ajoutant un caractère vide entre la date et l’heure

image 51
image 52

J’ai procédé aux mêmes changements aux mails envoyés aux revendeurs.

Pour pouvoir mener à bien mes tests et éviter de polluer les mails des revendeurs, j’ai changé toutes les adresses e-mails par mon adresse.

J’ai ensuite eu pour consigne d’uniformiser la taille et le style de la police d’écriture et d’ajouter un champ « Days since Last Backup » qui indique le nombre de jours depuis la dernière sauvegarde.

Voici un e-mail obtenu après avoir effectué les changements requis :

image 53
Étiquettes:

Join the conversation

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *