Créée le, 19/06/2015

 Mise à jour le, 19/05/2019

Visiteurs N°  




Accueil
Nouveau Blog Nouveautés Moteur de Recherche Votre Caddie Pour Vos Achats Votre Espace Membre Vos Signets et Vos Jeux Préférés Page de Bienvenue Statique Site en Français Site en Anglais
Sommaires
Électronique Fondamentale Technologie Fondamentale Testez vos Connaissances Électronique Théorique Digitale Électronique Pratique Digitale Lexique Électronique Numérique Data book TTL Data book CMOS Dépannage TVC Mathématique
Micro-ordinateurs
Théorique des Micro-ordinateurs Testez vos Connaissances Pratique des Micro-ordinateurs Glossaires sur les Ordinateurs
Physique
La lumière Champ d'action Rayonnement Électromagnétique
Technologies
Classification des Résistances Identification des Résistances Classification des Condensateurs Identification des Condensateurs
Formulaires Mathématiques
Géométrie Physique 1. - Électronique 1. 2. - Électronique 1. 3. - Électrotechnique 1. 4. - Électromagnétisme
Accès à tous nos Produits
E. T. F. - Tome I - 257 Pages E. T. F. - Tome II - 451 Pages E. T. F. - Tome III - 611 Pages E. T. D. - Tome I - 610 Pages N. B. M. - Tome I - 201 Pages E. T. M. - Tome I - 554 Pages Business à Domicile Ouvrages 34 pages gratuits Nos E-books Logiciel Géométrie Logiciel Composants Électroniques
Aperçu de tous nos Produits
E. T. F. - Tome I - 257 Pages E. T. F. - Tome II - 451 Pages E. T. F. - Tome III - 611 Pages E. T. D. - Tome I - 610 Pages E. T. M. - Tome I - 554 Pages Logiciel Géométrie Logiciel Composants Électroniques
Nos Leçons aux Formats PDF
Électronique Fondamentale Technologie Fondamentale Électronique Théorique Digitale Électronique Pratique Digitale Théorique des Micro-ordinateurs Mathématiques
Informatique
Dépannage Win98 et WinXP et autres Dépannage PC Glossaire HTML et Programmes PHP et Programmes JavaScript (en cours de travaux) Création de plusieurs Sites
Forums
Forum Électronique et Infos Forum Électronique et Poésie
Divers et autres
Formulaire des pages perso News XML Statistiques CountUs Éditeur JavaScript Nos Partenaires et nos Liens Utiles Gestionnaire de Partenariat Nos Partenaires MyCircle Sondages 1er Livre d'Or 2ème livre d'Or

Signets :
  Leçons suivantes        Leçons précédentes     Bas de page
  Cliquez ici pour la leçon suivante ou dans le sommaire prévu à cet effet


Implémenter un gestionnaire de mailing lists (1ère partie) :



Nous avons corrigé certains nombres d'erreurs de programmation du gestionnaire mailing lists :


Dans cette leçon, nous allons implémenter une interface pour un gestionnaire de mailing lists (ou Mailing Lists Manager). Certains gestionnaires de mailing lists permettent à n'importe qu'elle personne de la liste d'envoyer des messages aux autres personnes de la liste. Notre programme sera simplement un système permettant à l'administrateur de la liste d'envoyer des messages à toutes les personnes inscrites dans cette liste. Nous avons choisi d'appeler notre système "Pyramide - Listes de Diffusion".

Ce système sera comparable à certains systèmes commercialisés, et nous vous invitons à lire nos leçons afin de bien comprendre l'ensemble de son fonctionnement malgré que cela n'est pas tellement évident à comprendre mais, avec un peu d'effort, on arrive à tout !

Cependant, nous mettons un aperçu ci-après, et nous vous donnerons les explications à la suite de nos leçons.

Pour visualiser l'aperçu, en cliquant ici. [Exemple 1].

Notre application permettra à un administrateur de créer plusieurs mailing lists et d'envoyer des bulletins d'informations différents à chacune de ces listes. Elle se servira notamment d'un système de téléchargement de fichiers pour permettre à l'administrateur de télécharger une version Texte et une version HTML de son bulletin d'informations, qu'il peut donc créer en n'étant pas connecté. Cela signifie que les administrateurs peuvent se servir de n'importe quel logiciel pour créer leurs courriers.

Les utilisateurs seront capables de s'inscrire à n'importe quelle liste de notre site, et de spécifier s'ils souhaitent recevoir les bulletins en Texte ou en HTML.

Présentation du problème :

Nous souhaitons implémenter un système de saisie et d'envoi de bulletins d'informations en ligne. Ce système doit permettre de créer différents bulletins d'informations qui seront envoyés aux utilisateurs, et permettre aux utilisateurs de s'inscrire à un ou plusieurs bulletins d'informations.

Plus précisément, voici la liste des fonctionnalités que nous devons implémenter dans notre système :

  Les administrateurs doivent être capables de configurer et de modifier des mailing lists.

  Les administrateurs doivent être capables d'envoyer des bulletins Texte et HTML à toutes les personnes inscrites à une mailing list.

  Les utilisateurs doivent être capables de s'enregistrer pour utiliser le site, de saisir et de modifier leurs informations personnelles.

  Les utilisateurs doivent être capables de s'inscrire à n'importe quelle liste du site.

  Les utilisateurs doivent être capables d'annuler leur inscription à une liste

  Les utilisateurs devraient être capables d'enregistrer leurs préférences, pour dire s'ils préfèrent les bulletins en Texte ou en HTML.

  Pour des raisons de sécurité, les utilisateurs ne doivent pas être capables d'envoyer des E-Mails aux personnes de leur liste, ou d'obtenir les adresses E-Mail de ces personnes.

  Les utilisateurs et les administrateurs doivent être capables d'afficher les informations des mailing lists.

  Les utilisateurs et les administrateurs doivent être capables d'afficher les anciens bulletins d'informations qui ont été envoyés à une liste (c'est-à-dire, l'archive de la liste).

Configuration de la base de données :

Nous devons enregistrer le nom d'utilisateur et le mot de passe de chaque utilisateur de notre système, ainsi qu'une liste des mailing lists auxquelles il s'est abonné. Nous devons également enregistrer les préférences de chaque utilisateur, en ce qui concerne le format des bulletins d'informations (Texte ou HTML), pour que nous puissions lui envoyer la version appropriée.

Un administrateur est un utilisateur particulier qui peut créer de nouvelles mailing lists et envoyer des bulletins d'informations à ces listes.

Il peut être intéressant d'implémenter un système d'archivage des bulletins d'informations. En effet, il se peut que les abonnés ne conservent pas tous les bulletins qu'ils reçoivent, mais ils peuvent avoir envie de retrouver un vieil article par exemple. On peut également considérer qu'une archive est un outil marketing pour la mailing list, puisque les nouveaux abonnés potentiels peuvent ainsi voir de quoi parle cette liste.

La configuration de cette base de données avec MySQL et une interface PHP n'a rien de très difficile.

Téléchargement des fichiers :

Nous avons besoin d'une interface permettant aux administrateurs d'envoyer des bulletins, comme nous l'avons déjà vu dans une de nos leçons. Cependant, nous n'avons pas encore expliqué comment les administrateurs pourront créer ces bulletins. Nous pouvons leur proposer un formulaire dans lequel ils pourront saisir ou recopier le contenu de leurs bulletins. Cependant, il serait plus agréable de leur permettre de créer un bulletin avec leur éditeur de texte favori, et de télécharger le fichier résultant sur le serveur Web. Cette approche offre aussi aux administrateurs la possibilité d'ajouter des images dans un bulletin HTML.

Nous pouvons pour cela récupérer le mécanisme de transfert de fichiers présenté à la 11ème leçon, en cliquant ici.

Nous devons cependant utiliser un formulaire légèrement plus complexe que celui auquel nous avons eu recours. L'administrateur devra télécharger à la fois la version texte et la version HTML de son bulletin, ainsi que toutes les images accompagnant la version HTML.

Après avoir téléchargé le bulletin, nous devons créer une interface pour que l'administrateur puisse prévisualiser son bulletin avant de l'envoyer. De cette manière, il peut vérifier que tous les fichiers ont été téléchargés correctement.

Envoyer des E-Mails incluant des attachements :

Pour ce projet, nous devons pouvoir envoyer aux utilisateurs un bulletin en Texte brut, ou une version HTML plus agréable, en fonction de leurs préférences.

Pour envoyer un fichier HTML contenant des images, nous devons disposer d'un moyen permettant d'envoyer des attachements. La fonction mail() de PHP ne supporte pas vraiment les attachements. Nous préférons donc utiliser l'excellente classe HTML MIME Mail créée par Richard Heyes, qui peut gérer sans souci les attachements HTML, et qui gère automatiquement toutes les images contenues dans le fichier HTML.

Vous pouvez vous procurer la dernière version de cette classe sur le site ci-après, en anglais :

https://github.com/smxi/php-html-mime-mail, en cliquant ici. (Il y a des exemples et d'autres sites qui expliquent fort bien dans ce domaine).

Vous pouvez utiliser librement ce script dans vos applications. Il est distribué en Post-card-Ware. On vous laisse le soin de créer cette classe.

Présentation de la solution :

Pour ce projet, nous utiliserons à nouveau une approche par événements, comme nous l'avons fait à la 14ème leçon précédente.

Nous commencerons une fois de plus par dessiner un ensemble de diagrammes représentant l'architecture du système et mettant en valeur les actions des utilisateurs. Dans ce cas, nous avons dessiné trois diagrammes pour représenter les trois ensembles d'actions possibles, correspondant aux trois situations principales : un utilisateur n'est pas loggé, un utilisateur est loggé, en tant qu'utilisateur classique et un utilisateur est loggé, en tant qu'administrateur. Ces trois actions sont représentées aux Figures 1, 2, et 3 respectivement.

La Figure 1, vous pouvez voir les actions possibles pour les utilisateurs qui ne sont pas encore loggés. Comme vous pouvez le constater, l'utilisateur peut se logger (s'il possède déjà un compte), créer un compte (s'il n'en possède pas déjà) ou afficher les mailing lists existantes pour s'inscrire.




La Figure 2, présente les actions disponibles pour les utilisateurs loggés. Un utilisateur peut modifier la configuration de son compte (adresse E-Mail et préférences), modifier son mot de passe et modifier les listes auxquelles il est inscrit.

La Figure 3, présente les actions que peuvent choisir les administrateurs loggés. Comme vous pouvez le constater, un administrateur possède la plupart des fonctionnalités des utilisateurs classiques, ainsi que certains autres options. Il peut également créer de nouvelles mailing lists, créer de nouveaux messages pour une mailing list, en téléchargeant des fichiers, et prévisualiser les messages avant de les envoyer.

Comme nous avons choisi une approche par événements, le cœur de l'application se trouve dans un seul fichier, index.php, qui appelle un ensemble de bibliothèques de fonctions. Le tableau 1, résume les fichiers intervenant dans cette application.

Tableau 1. - Les fichiers du gestionnaire de mailing lists : 
Nom du fichier Type Description
index.php Application Le script principal qui exécute l'application.
include_fns.php Fonctions Ensemble de fichiers à inclure pour cette application.
data_valid_fns.php Fonctions Ensemble de fonctions pour valider les données d'entrée.
db_fns.php Fonctions Ensemble de fonctions pour se connecter à la base de données "listes_de_diffusion".
Mailing_List_Manager_fns.php Fonctions Ensemble de fonctions spécifiques à cette application.
output_fns.php Fonctions Ensemble de fonctions de génération du code HTML.
upload.php Composant Script qui gère le composant de téléchargement des fichiers pour l'administrateur. Il est séparé pour des raisons de sécurité.
user_auth_fns.php Fonctions Ensemble de fonctions pour authentifier les utilisateurs.
class.html.mime.mail.inc Fonctions Ensemble de fonctions classes pour envoyer les E-Mails.
mimePart.php composant Ensemble de classes pour les E-Mails.
create_database_mailing_lists.sql SQL Code SQL pour configurer la base de données "listes_de_diffusion", un utilisateur Web et un administrateur.
PEAR.php Composant Un ensemble de connexions qui n'est pas obligatoire par rapport à notre projet qui n'a rien à voir.

Dans le prochain chapitre, nous allons maintenant nous intéresser à l'implémentation de ce projet, en commençant par la base de données dans laquelle nous enregistrerons les informations concernant les abonnés et les listes.

Nous terminons ainsi ce premier chapitre de cette leçon, et nous verrons dans le prochain, la Configuration de la base de données, architecture du script, et bien d'autres encore.



  Cliquez ici pour la leçon suivante ou dans le sommaire prévu à cet effet.   Haut de page
  Page précédente   Page suivante







Nombre de pages vues, à partir de cette date : le 23 MAI 2019

compteur de visite

    




Envoyez un courrier électronique à Administrateur Web Société pour toute question ou remarque concernant ce site Web. 

Version du site : 10. 5. 14 - Site optimisation 1280 x 1024 pixels - Faculté de Nanterre - Dernière modification : 19 MAI 2019.   

Ce site Web a été Créé le, 14 Mars 1999 et ayant Rénové, en MAI 2019.