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émentation d'un Caddie (2ème partie) :


Implémentation de la base de données :

Comme nous l'avons déjà vu, il faut apporter quelques modifications mineures à la base de données de chez Jean-Pierre que nous avons présenté dans une de nos leçons se trouvant à cette adresse, en cliquant ici.

Les instructions SQL permettant de créer la base de données book_sc_livre sont présentées dans le Listing 1.

Listing 1. : book_sc_livre.sql - Le programme permettant de créer la base de données book_sc_livre.


Bien que l'interface d'origine de chez Jean-Pierre soit tout à fait correcte, nous devons la modifier légèrement pour pouvoir la mettre en ligne.

Voici la liste des modifications que nous avons apportées à la base de données d'origine :

Petite_Main.gif  L'ajout d'autres champs d'adresses pour les clients. Ces champs sont particulièrement importants, maintenant que nous implémentons une application plus réaliste.

Petite_Main.gif  L'ajout d'une adresse de livraison dans les commandes. L'adresse d'un client peut être différente de l'adresse de livraison, en particulier s'il se sert de notre site pour offrir un cadeau.

Petite_Main.gif  L'ajout d'un champ pour les commandes que les clients ont passés et qu'ils peuvent nous envoyer par Mail, via notre site, afin que nous puissions noter les commandes qu'ils ont commandés et qu'elles sont ensuite, enregistrées dans notre base de données pour avoir une trace.

Petite_Main.gif  L'ajout d'un tableau pour les catégories et d'une colonne catid dans le tableau books. Si nous trions les livres par catégories, le site sera plus simple à utiliser.

Petite_Main.gif  L'ajout de amount dans le tableau orders, pour pouvoir modifier le prix des articles. Il faut en effet connaître le prix d'un article au moment où le client l'a acheté.

Petite_Main.gif  L'ajout d'un tableau admin pour enregistrer le login et le mot de passe des administrateurs.

Petite_Main.gif  La suppression du tableau les_commentaires_livres. Au lieu d'ajouter un résumé pour chaque livre, nous préférons ajouter un champ de description dans le tableau books.

Pour configurer cette base de données sur votre système, il suffit d'exécuter le script book_sc_livre.sql sous le nom de l'utilisateur root de MySQL.

Vous devrez naturellement saisir le mot de passe root selon votre serveur local.

Il faudra au préalable modifier le mot de passe de l'utilisateur book_sc_livre, pour en choisir un plus adapté que "password".

Nous avons également fourni un fichier d'exemple contenant plusieurs données. Ce fichier s'intitule populate.sql. Vous pouvez ajouter ces données dans la base de données, en exécutant ce fichier avec MySQL, comme précédemment.

Implémentation du catalogue en ligne :

Dans cette application, le catalogue est implémenté à l'aide de trois scripts : la page principale, la page des catégories et la page de livres.

La page d'accueil du site est générée par un script appelé index.php. La sortie de ce script est présentée à la figure 3.


Page_Accueil_Caddie.png

Vous remarquerez que, en plus de la liste des catégories, il y a un lien vers le caddie dans le coin supérieur droit de l'écran, ainsi que quelques informations résumant le contenu de ce caddie. Ces informations apparaissent sur toutes les pages du site.

Si un utilisateur clique sur l'une des catégories, il est amené sur la page de la catégorie correspondante, générée par le script show_cat.php. La page correspondant aux livres qui traitent Logiciels de Calculs Composants Électroniques est présentée à la figure 4.


Livre_de_la_Categorie_du_Caddie.png

Tous les livres de cette catégorie sont présentés sous la forme de liens. Si un utilisateur clique sur l'un de ces liens, il obtient les détails du livre correspondant. La figure 5 présente un exemple de page affichant les détails d'un livre.


Details_dun_Livre_Caddie.png

Sur cette page, en plus du lien Votre Panier, nous avons un lien Ajouter au panier grâce auquel l'utilisateur peut sélectionner un article. Nous y reviendrons lorsque nous nous attaquerons à l'implémentation du caddie.

Intéressons-nous maintenant à chacun de ces trois scripts.

Liste des catégories :

Le premier script, index.php, fournit la liste de toutes les catégories de la base de données. Il est présenté dans le Listing 2.


Listing 2. : index.php - Ce script génère la page d'accueil du site.


Ce script commence par inclure book_sc_fns.php, le fichier qui inclut toutes les bibliothèques de fonctions de cette application.

Après cela, nous devons débuter une session session_start() pour pouvoir utiliser le caddie. Chaque page de ce site se servira de la session.

Viennent ensuite, quelques appels à des fonctions de génération HTML, comme do_html_header() et do_html_footer() (ces deux fonctions sont définies dans output_fns.php).

Il y a ensuite, une partie du code qui s'occupe de vérifier si l'utilisateur s'est loggé en tant qu'administrateur, et qui propose des options de navigation légèrement différentes, si c'est le cas. Nous reviendrons sur cette partie dans la section consacrée aux fonctions d'administration.

La partie la plus importante du script est la suivante :

    $cat_array = get_categories() ; // récupère les catégories dans la base de données.

    display_categories($cat_array) ; // Affiche les catégories sous la forme de liens.

Les fonctions get_categories() et display_categories() sont définies dans les bibliothèques book_fns.php et output_fns.php, respectivement. La fonction get_categories() renvoie un tableau contenant les catégories du système, qui est ensuite passé à display_categories(). Intéressons-nous maintenant au code de get_categories(). Vous le trouverez dans le Listing 3.


Listing 3. : La fonction get_categories() de output_fns.php. - La fonction qui récupère une liste de catégories dans la base de données.


Comme vous pouvez le constater, cette fonction se connecte à la base de données et récupère la liste de tous les identificateurs de catégories et les noms correspondants. Nous nous servons pour cela d'une fonction appelée db_result_to_array(), qui se trouve dans db_fns.php. Cette fonction est présentée dans le Listing 4. Elle prend en argument un identificateur de résultat MySQL, et renvoie un tableau de lignes indexées numériquement, dans lequel chaque ligne est en fait un tableau associatif.


Listing 4. : La fonction db_result_to_array() de db_fns.php - La fonction qui convertit un identificateur de résultat MySQL, en un tableau de résultats.


Dans notre cas, nous renvoyons ce tableau à index.php, où nous le passons ensuite à la fonction display_categories() de output_fns.php. Cette fonction affiche chaque catégorie sous la forme de liens vers la page contenant les livres de cette catégorie. Le code de cette fonction est présenté dans le Listing 5.


Listing 5. : La fonction display_categories() de output_fns.php - La fonction qui affiche un tableau de catégories sous la forme d'une liste de liens vers ces catégories.


Cette fonction convertit chaque catégorie de la base de données en un lien. Chaque lien est ensuite passé au script suivant : show_cat.php, mais chaque fois avec un paramètre différent ; l'identificateur de la catégorie (catid). Il s'agit d'un identificateur unique, généré par MySQL, qui peut être utilisé pour identifier une catégorie.

Ce paramètre, qui passe au script suivant, détermine en fin de compte la catégorie qui nous intéresse.

Liste des livres d'une catégorie :

Le processus permettant de lister les livres d'une catégorie est très comparable. Le script qui s'occupe de cette tâche est appelé show_cat.php, et vous trouverez son code dans le Listing 6.


Listing 6. : Ce script show_cat.php affiche les livres d'une catégorie particulière.


La structure de ce script est tout à fait semblable à celle de la page d'accueil, à la différence près que nous cherchons cette fois des livres et non des catégories.

Nous commençons avec session_start(), comme d'habitude, puis nous convertissons l'identificateur de la catégorie que nous avons reçu en un nom de catégorie, grâce à la fonction get_category_name() :

    $name = get_category_name($catid) ;

Cette fonction recherche le nom de la catégorie dans la base de données. Vous trouverez son code dans le Listing 7.


Listing 7. : La fonction get_category_name() de book_fns.php - Cette fonction convertit un identificateur de catégorie en un nom de catégorie.


Après avoir récupéré le nom de la catégorie, nous pouvons afficher un en-tête HTML et continuer notre traitement, en affichant la liste des livres de la base de données qui appartiennent à la catégorie spécifiée du Listing 6 :

    $book_array = get_books($catid) ;

    display_books($book_array) ;

Les fonctions get_books() et display_books() sont semblables aux fonctions get_categories() et display_categories(), c'est pourquoi nous n'allons pas les présenter ici. La seule différence est que nous cherchons des informations dans le tableau books, au lieu de les chercher dans le tableau categories.

La fonction display_books() fournit un lien vers chaque livre de la catégorie, via le script show_book.php. Une fois encore, chaque lien est accompagné d'un paramètre. Cette fois-ci, il s'agit du code ISBN du livre en question.

A la fin du script de show_cat.php du Listing 6, vous verrez qu'une partie du code qui s'occupe d'afficher d'autres fonctions si l'utilisateur est en fait un administrateur. Nous y reviendrons dans la section consacrée aux fonctions d'administration.

Afficher les détails d'un livre :

Le script show_book.php prend en paramètre un code ISBN, et affiche les détails du livre correspondant. Le code de ce script est présenté dans le Listing 8.


Listing 8. : Ce script show_book.php affiche les détails d'un livre particulier.


Une fois encore, le contenu de ce script ressemble beaucoup à celui des deux programmes précédents. Nous commençons par ouvrir une session_start(), puis nous utilisons :

    $book = get_book_details($isbn) ;

pour récupérer les informations du livre dans la base de données, puis :

    display_book_details($book) ;

pour afficher les données en HTML.

Il convient de noter que la fonction display_book_details() cherche un fichier image pour le livre, sous le nom images/$isbn.jpg. Si ce fichier n'existe pas, aucune image n'est affichée.

Le reste de ce script s'occupe de configurer la navigation. Un utilisateur normal doit voir les options Continuer vos achats et Ajouter au panier, pour revenir sur la page des catégories, et ajouter un livre dans son caddie, respectivement. Si un utilisateur s'est loggé en tant qu'administrateur, il doit obtenir d'autres options, que nous étudierons dans la section consacrée à l'administration.

Cela termine notre étude des fonctionnalités de base du système de catalogue. Nous allons maintenant nous intéresser au code des fonctionnalités du caddie dans le troisième chapitre.

Nous terminons ainsi ce deuxième chapitre de cette leçon, et nous verrons dans le prochain, L'implémentation du Caddie, 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.