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


Authentifier les Utilisateurs et personnaliser le site (1ère partie) :



Personnalisation de l'utilisateur :


Dans ce projet, nous demandons aux utilisateurs de s'enregistrer sur notre site Web de chez Jean-Pierre. Après cette étape, nous pouvons savoir ce qui les intéresse et afficher le contenu approprié. C'est ce que l'on appelle la personnalisation en fonction de l'utilisateur.

Ce projet permet aux utilisateurs d'enregistrer un ensemble de liens vers leurs sites Web favoris, et suggère d'autres liens qui peuvent les intéresser, en fonction des sites qu'ils ont déjà visités. D'une manière plus générale, la personnalisation peut être utilisée dans n'importe quelle application Web pour afficher des informations plus ciblées, dans un format personnalisé.

Dans ce projet, et dans les autres qui suivront, nous commencerons par examiner un cahier des charges semblable à ceux que vous pourriez obtenir d'éventuels clients. Nous transformerons ensuite les différents éléments de ce cahier des charges, en un ensemble de composants, nous mettrons en place une architecture permettant d'interconnecter ces composants, et nous implémenterons chacun de ces composants.

Pour ce projet, nous implémenterons les fonctionnalités des utilisateurs :

Le problème :

Notre système doit permettre aux utilisateurs de se logger et d'enregistrer leurs sites favoris, et il doit suggérer quelques sites qui pourraient les intéresser, en fonction de leurs préférences personnelles.

Ces spécifications peuvent être classées en trois catégories.

Tout d'abord, nous devons pouvoir identifier les utilisateurs. Il nous faut également un système pour les authentifier.

Ensuite, nous devons pouvoir enregistrer des liens vers leurs sites favoris. Les utilisateurs doivent être capables d'ajouter et de supprimer ces liens.

Enfin, il faut être en mesure de recommander des sites qui peuvent intéresser les utilisateurs, en fonction des informations que nous possédons déjà.

Les composants :

Maintenant que nous connaissons les spécifications de notre système, nous pouvons choisir une architecture et un ensemble de composants. Essayons de passer en revue quelques solutions à chacune des spécifications que nous venons de voir.

Identification des utilisateurs et personnalisation du site :

Il existe plusieurs techniques permettant d'authentifier les utilisateurs, ainsi que nous l'avons déjà vu dans les leçons précédentes. Comme nous souhaitons rattacher certaines informations à chaque utilisateur, nous devons enregistrer les noms des utilisateurs et les mots de passe dans une base de données MySQL, et implémenter une méthode d'authentification à partir de ces informations.

Si nous devons permettre aux utilisateurs de se logger, en saisissant un nom d'utilisateur et un mot de passe ainsi que leur E-Mail, nous avons besoin des composants suivants :

Nous allons écrire des fonctions pour chacune de ces fonctionnalités. La plupart d'entre elles, seront réutilisables dans d'autres projets, ou réutilisables moyennant quelques modifications.

Enregistrer les liens vers les sites favoris :

Pour enregistrer les liens d'un utilisateur, nous devons aménager un espace particulier dans notre base de données MySQL. Nous aurons besoin des fonctionnalités suivantes :

Une fois encore, nous sommes en mesure d'écrire des fonctions pour chacune de ces fonctionnalités.

Sites recommandés :

Il existe plusieurs techniques permettant de générer une liste de sites recommandés pour un utilisateur donné. Nous pouvons nous contenter d'afficher les sites les plus populaires, ou les plus populaires dans un domaine particulier. Pour ce projet, nous allons implémenter un système de suggestion qui cherche les sites favoris communs à plusieurs utilisateurs, et qui les échange entre ces utilisateurs. Pour éviter d'échanger des sites un peu trop personnels, nous nous contentons d'afficher les sites enregistrés par plusieurs autres utilisateurs.

Nous pouvons une fois encore écrire une fonction pour implémenter cette fonctionnalité.

Présentation de la solution :

Après avoir griffonné quelques dessins, nous avons retenu l'architecture présentée à la figure 1.

 Diagramme_presente_les differents_composants.png

Nous allons construire un module pour chaque composant de ce diagramme. Certains d'entre eux pourront être implémentés avec un seul script, mais il en faudra deux pour certains autres. Nous allons également mettre en place des bibliothèques de fonctions pour :

  • L'authentification des utilisateurs.

  • L'enregistrement et l'affichage des sites favoris.

  • La validation des données.

  • Les connexions à la base de données.

  • La sortie dans le navigateur. Toutes les fonctions de génération de code HTML se trouveront dans cette bibliothèque, pour que la présentation visuelle reste cohérente au travers de tout le site.

Nous devons également mettre en place une base de données pour ce système.

Nous allons ensuite étudier, en détail l'implémentation de chaque fonctionnalité. Mais vous trouverez l'intégralité de cette application au cours de nos leçons dans le tableau 1, un résumé contenant tous les fichiers concernés :


Tableau 1. -  Les fichiers de l'application "Bookmarks" en PHP (en respectant la casse) :
Nom du fichier Description
add_bm_form.php Formulaire permettant d'ajouter de nouveaux sites favoris.
add_bms.php Script pour ajouter de nouveaux sites dans la base de données.
Bookmarks.sql Instructions SQL permettant de créer la base de données Bookmarks du 1er tableau (membre_signets) et (membre_url_signets)
Bienvenue.php Comme son nom l'indique, Bienvenue à l'ensemble des pages Sites avec les URLs.
Bienvenue_aux_Jeux.php Comme son nom l'indique, Bienvenue à l'ensemble des Jeux.
bookmark_fns.php Un ensemble de déclarations à inclure pour l'application de notre projet.
change_passwd.php Script permettant de modifier le mot de passe de l'utilisateur dans la base de données.
change_passwd_form.php Formulaire à remplir pour modifier le mot de passe actuel.
config.php Configuration de la connexion de la base de données de certains programmes, voir le fichier texte ci-joint.
connexion.php Comme son nom l'indique, c'est pour se connecter à l'ensemble du site.
Control_Session.php Comme son nom l'indique, c'est pour contrôler toutes les Sessions afin que l'utilisateur puisse naviguer sur le site.
Courses_Automobiles.php Comme son nom l'indique, jeux de courses automobiles. (En surplus du programme).
data_valid_fns.php Fonctions permettant de valider les données saisies par l'utilisateur.
db_fns.php Fonctions pour se connecter à la base de données.
delete_bms.php Script permettant de supprimer les sites sélectionnés dans la liste de l'utilisateur.
edit_infos.php Script permettant de changer les mots de passe ainsi que les informations de l'utilisateur.
forgot_form.php Formulaire à remplir par les utilisateurs qui ont oublié leur mot de passe afin de pouvoir les mettre à jour.
forgot_passwd.php Script pour réinitialiser les mots de passe oubliés, fichier en surplus pour ceux qu'ils veulent modifier ce dernier
index.php Page principale pour se connecter. C'est un sommaire.
Jeux_Arcades.php Comme son nom l'indique, jeux d'arcades. (En surplus du programme).
Jeux_de_Labyrinthe_3.php Comme son nom l'indique, jeux de labyrinthe. (En surplus du programme).
Jeux_de_Strategie.php Comme son nom l'indique, jeux de stratégie. (En surplus du programme).
Lecture_Signets.php Script permettant de lire les signets ou les URLs avec leurs hyperliens de tous les utilisateurs.
Lisez_moi.txt Fichier permettant d'expliquer les connexions entre la base de données MySQL et PHP
login.php Page d'accueil avec un formulaire de login pour le système, Identique au fichier de connexion . (En surplus).
logout.php Script pour fermer la session d'un utilisateur.
member.php Page principale d'un utilisateur, qui contient tous ses sites favoris.
Menu.php Comme son nom l'indique, ce fichier permet d'afficher les menus déroulant sur certaines pages.
output_fns.php Fonctions pour formater la sortie en HTML.
profile.php Script permettant de visualiser les profils des utilisateurs.
recommend.php Script pour générer des sites, en fonction des utilisateurs qui ont les mêmes goûts.
register_form.php Formulaire permettant aux utilisateurs de s'enregistrer auprès du système. (En surplus du programme)
register_new.php Script qui traite l'enregistrement des nouveaux utilisateurs. (En surplus du programme).
sign_up.php Identique au Script qui traite l'enregistrement des nouveaux utilisateurs. (Voir register_new.php).
url_fns.php Fonctions pour ajouter et supprimer des sites, et effectuer des recommandations. Identique au fichier recommend.php.
user_auth_fns.php Fonctions implémentant l'authentification des utilisateurs. (En surplus du programme).
users.php Script permettant de visualiser les noms des utilisateurs.
users.sql Instructions SQL permettant de créer la base de données Bookmarks  du 2ème tableau  (membre_utilisateurs).
logo.png Logo de l'espace membre.
francophone1.gif Notre logo du bureau d'étude que vous pouvez remplacer par le vôtre.
style.css Feuille de style à l'espace Membre que vous pouvez modifier selon votre guise.
default Répertoire pour la feuille de style et autres.
images Répertoire images.

Pour visualiser l'aperçu, en cliquant ici. [Exemple 1]. Nous allons voir tous ces fichiers en détail.

Pour télécharger ces fichiers, en cliquant ici.

Nous commencerons par implémenter la base de données MySQL de cette application, puisqu'elle est nécessaire à toutes les autres fonctionnalités.

Nous présenterons ensuite le code dans l'ordre où il a été écrit, en commençant par la page d'accueil, avant de nous intéresser à l'authentification des utilisateurs, à l'enregistrement et à la lecture des liens vers les sites favoris, et en terminant par les recommandations. Cet ordre est assez logique, puisqu'il respecte les dépendances existant entre les différents modules.

Attention : Pour que le code de ce projet fonctionne tel qu'il est écrit, vous devez activer les guillemets magiques. Si vous ne l'avez pas encore fait, vous devrez filtrer les données qui doivent être insérées dans la base de données avec addslashes(), et vous servir de stripslashes() pour récupérer ces données. Nous avons choisi la première approche, qui est beaucoup plus simple.

Implémentation de la base de données :

Le schéma de la base de données "Bookmarks" est assez simple. Nous devons enregistrer les utilisateurs et leur adresse E-Mail, ainsi que leur mot de passe. Nous devons également enregistrer les URLs de leurs sites favoris. Un utilisateur peut enregistrer plusieurs liens, et plusieurs utilisateurs peuvent enregistrer le même lien selon le cas de chacun de nous. Nous avons par conséquent besoin de deux tableaux, membre_utilisateurs et membre_url_signets, la figure 2 nous montre le schéma de la base de données.

Schema_Base_de_Donnees.png

Le tableau membre_utilisateurs contient les noms des utilisateurs (qui correspondent à la clé primaire), les mots de passe, les adresses E-Mail, Avatar et la signature date sans oublier l'id.

Le tableau membre_url_signets contient des paires (Nom_Utilisateur, lien). Le lien est désigné par Signets_URL. Dans ce tableau, le nom d'utilisateur fait référence à un nom d'utilisateur que l'on peut trouver dans le tableau membre_utilisateurs.

Les Listings 1 et 2 contiennent le code SQL permettant de créer cette base de données ainsi qu'un utilisateur pouvant se connecter à cette base de données à partir du Web. Vous pouvez le modifier si vous avez l'intention de l'utiliser sur votre système, en changeant notamment le mot de passe de l'utilisateur !


Listing 1. - Bookmarks.sql - Le fichier SQL permettant de configurer la base de données :


Nous pouvons installer cette base de données sur notre système, en exécutant ces commandes sous le nom de l'utilisateur "root" de MySQL. Vous pouvez le faire avec la commande de votre moniteur SQL à l'aide d'un Onglet intitulé "Importer" puis "choisisser un fichier".


Listing 2. - users.sql - Le fichier SQL permettant de configurer la base de données :


Si on vous demande le mot de passe, vous devrez ensuite saisir "password" en respectant la casse.

Maintenant que la base de données est configurée comme sur la figure 3, nous pouvons attaquer à l'implémentation du site.


La_Base_de_Donnees_Bookmarks.png


Nous terminons ainsi ce premier chapitre de cette leçon, et nous verrons dans le prochain, L'implémentation de base du site et authentification des utilisateurs, etc.



  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.