Rapport de Stage. Refonte du site de Mis Module de site de négoce Modification d un site de vente



Documents pareils
Groupe Eyrolles, 2003, ISBN : X

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Les outils de création de sites web

Soyez accessible. Manuel d utilisation du CMS

Diffuser un contenu sur Internet : notions de base... 13

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Documentation Honolulu 14 (1)

Manuel d utilisation du Guichet électronique V2

Édu-groupe - Version 4.3

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

FICHIERS ET DOSSIERS

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Gestion des documents avec ALFRESCO

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Notes pour l utilisation d Expression Web

MODE D EMPLOI DU MODULE D E-COMMERCE

Transfert de notices bibliographiques et d autorité en ligne depuis BnF catalogue général Mode d emploi complet

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Association UNIFORES 23, Rue du Cercler LIMOGES

Partie publique / Partie privée. Site statique site dynamique. Base de données.

145A, avenue de Port Royal, Bonaventure (Québec) G0C 1E0 Sans frais :

Notice d'utilisation Site Internet administrable à distance

Publier dans la Base Documentaire

Organiser le disque dur Dossiers Fichiers

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

CMS Modules Dynamiques - Manuel Utilisateur

AnaXagora LMS v3.0. Guide d utilisation

Administration du site (Back Office)

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

Manuel : Comment faire sa newsletter

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Publication dans le Back Office

SUPPORT DE COURS / PHP PARTIE 3

JAHIA 6. Création et modification de sites web UniNE

E.N.T. Espace Numérique de Travail

Plateforme AnaXagora. Guide d utilisation

Guide d utilisation. Version 1.1

<Créer un site Web. avec/> Suzanne Harvey

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Ouvrir le compte UQÀM

Application de Gestion des Notes de Frais sous Lotus Notes via un navigateur avec WorkFlow 1

Atelier Le gestionnaire de fichier

SERVEUR DE MESSAGERIE

Comment se connecter au dossier partagé?

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Créer et partager des fichiers

Comment utiliser FileMaker Pro avec Microsoft Office

Création d un site web avec le kit labo CNRS. Expérience au LMV - Ch. Postadjian (Laboratoire de Mathématiques de Versailles - UMR 8100)

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Programmation Web. Madalina Croitoru IUT Montpellier

Configurer le Serveur avec une adresse IP Statique (INTERFACE :FastEthernet) : et un masque

NOTICE TELESERVICES : Créer mon compte personnel

Utilisation avancée de SugarCRM Version Professional 6.5

TP1 - Prise en main de l environnement Unix.

Utiliser un CMS: Wordpress

Installation et utilisation du client FirstClass 11

Guide d utilisation des services My Office

FOIRE AUX QUESTIONS - WebDEPOT

Foire aux questions. C est un programme d exploitation et de recherche sur le Web. Exemple : Internet Explorer, Firefox, Opera et Netscape.

Comment paramétrer correctement son compte Facebook pour pouvoir protéger un maximum ses données et sa vie privée.

Guide de l utilisateur Mikogo Version Windows

SOMMAIRE. Comment se connecter?

Présentation de Firefox

Microsoft Excel 2000 Fonctions avancées

Dans cette Unité, nous allons examiner

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Support Web Administration et gestion des portails web des facultés - Université A.Mira Béjaia -

Leçon N 5 PICASA Généralités

Plate-forme de tests des fichiers XML virements SEPA et prélèvements SEPA. Guide d'utilisation

Formation. Module WEB 4.1. Support de cours

Manuel d utilisation de l outil collaboratif

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Utilisation de l éditeur.

Direction générale statistique et information économique. Manuel d usage : l application web pour l enquête sur la structure des entreprises

Installation du transfert de fichier sécurisé sur le serveur orphanet

Optimiser pour les appareils mobiles

GESTION ELECTRONIQUE DE DOCUMENTS

FAQ Trouvez des solutions aux problématiques techniques.

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Guide d usage pour Word 2007

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

Module BD et sites WEB

MAILING KOMPOZER... 2 CREEZ UNE PAGE... 2 FORMAT DE LA PAGE... 2 AJOUTER DU TEXTE SUR UNE PAGE... 4

Création d un site Internet

CAPTURE DES PROFESSIONNELS

FileMaker Server 14. Aide FileMaker Server

Le front office (utilisateur client):

Access 2007 FF Access FR FR Base

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

Logiciel SuiviProspect Version Utilisateur

Manuel du composant CKForms Version 1.3.2

Création de maquette web

Transcription:

Université de Montpellier II Institut Universitaire de Technologie Département Informatique Rapport de Stage Refonte du site de Mis Module de site de négoce Modification d un site de vente Stagiaire : BUHOUR Florian Tuteur de stage : M. GARCIA Francis Maître de stage : M. GARAU Laurent Deuxième année d informatique 2005 2006

Année 2005-2006 - 2 -

Remerciements : Je tiens à remercier Mme Aicardi de m avoir accueilli dans sa société Micro Informatique Services (MIS) ainsi que tout le personnel pour leurs conseils et leur bonne humeur. Je remercie également mes enseignant de 1 ère et 2 nd année de DUT Informatique qui m ont appris des techniques de programmations et une méthodologie. Je suis particulièrement reconnaissant à Laurent GARAU qui m a suivi étroitement lors de l élaboration du projet de module de site de négoce. Année 2005-2006 - 3 -

Sommaire : Remerciements :... 3 Sommaire :... 4 Glossaire :... 5 Introduction :... 6 Présentation de l entreprise :...6 Présentation de mon travail :...7 Projet 1 : Site MIS :... 8 Présentation :...8 Description des pages :...8 Description de la partie administration :...14 Architecture et codage :...15 Conclusion de ce travail :...16 Projet 2 : Module de site de négoce :... 17 Présentation :...17 Description des pages :...17 Description du BackOffice :...20 Architecture et codage :...24 Méthode de travail :...25 Conclusion de ce travail :...25 Projet 3 : Modifications d un site de vente :... 26 Présentation :...26 Description des modifications apportées :...26 Conclusion de ce travail :...29 Conclusion :... 30 Références :... 31 Programmes, logiciels utilisés :... 33 Annexes :... 34 Site MIS :...35 Module de site de négoce :...37 Modification du site de vente :...54 Résumé :... 86 Année 2005-2006 - 4 -

Glossaire : http : Le Hypertext Transfer Protocol, abrégé HTTP, littéralement «protocole de transfert hypertexte», est un protocole de communication informatique client serveur développé pour le World Wide Web. Il est utilisé pour transférer les documents (document HTML, image, feuille de style, etc.) entre le serveur HTTP et le navigateur Web lorsqu'un visiteur consulte un site Web. ftp :Le File Transfer Protocol (protocole de transfert de fichiers) est dédié à l'échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un ordinateur, de copier des fichiers depuis ou vers un autre ordinateur du réseau, d'administrer un site web, ou encore de supprimer ou modifier des fichiers sur cet ordinateur. Apache : C'est un serveur HTTP produit par la Apache Software Foundation. C'est le serveur HTTP le plus populaire du World Wide Web. C'est un logiciel libre avec un type spécifique de licence, nommée licence Apache. MySQL : C'est un système de gestion de base de données relationnel, gratuit et très fréquemment utilisé sur le Web pour mettre en ligne des bases de données. MySQL est également souvent utilisé en association avec PHP. HTML : Abréviation de l'anglais Hypertext Markup Language (Hypertext est parfois écrit HyperText pour marquer le T de l'abréviation), aussi appelé langage HTML, rarement traduit littéralement en langage de balisage hypertexte, est le langage informatique créé et utilisé pour écrire les pages Web. HTML permet en particulier d'insérer des hyperliens dans du texte, donc de créer de l'hypertexte, d'où le nom du langage. Feuille de style : Fichier CSS (Cascading Style Sheets) consiste à regrouper dans un même document des caractéristiques de mise en forme associées à des groupes d'éléments, il permet une mise en page plus précise d'une page Web. Java Script : C est un langage de programmation non compilé, orienté objet, principalement utilisé dans les pages Web, il permet de contrôler le navigateur et le HTML avec les richesses fonctionnelles que ne permet pas le langage HTML. Php : C'est un langage de script exécuté côté serveur. La syntaxe provient de langage comme le C, le Java ou le Perl. Langage Open Source, PHP est gratuit sous licence GNU GPL. Les scripts sont écrits de manière simple puis intégrés au sein d une page HTML. Il séduit aussi par son interfaçage simplifié avec les bases de données. Année 2005-2006 - 5 -

Introduction : Afin de compléter ma formation de DUT Informatique et pour acquérir une expérience professionnelle intéressante, j ai effectué du 20 février au 5 mai 2006 un stage au sein de la société MIS (Micro Informatique Services). Présentation de l entreprise : La société MIS est une SARL qui se situe au Boulou dans les Pyrénées Orientales (66) entre Perpignan et la frontière Espagnole. Les activités principales sont : -Le développement de logiciels de gestion. -La vente, la formation et l assistance téléphonique de ses logiciels. -La vente et la maintenance de matériel informatique. -L installation de réseaux d entreprise. L outil de développement principal est le logiciel Windev qui est un AGL (Atelier de Génie Logiciel) édité par PC Soft. Les logiciels développés et commercialisés par M.I.S sont séparés en deux ensembles : les logiciels spécifiques et les logiciels standards. Les logiciels spécifiques sont réalisés en étroite collaboration avec l utilisateur final. Les logiciels standard commercialisés par M.I.S sont au nombre de quatre. Chacun d eux correspond à un secteur professionnel précis. Ces logiciels sont paramétrables afin de pouvoir être vendus à toutes les entreprises appartenant à un même secteur. -Palace est un logiciel destiné à l hôtellerie et à la restauration. Il est composé de deux modules : Palace Hôtel et Palace Restaurant. Palace Hôtel permet de gérer des fichiers clients, et de gérer des réservations et des séjours en mettant à jour un planning. Il effectue automatiquement la facturation des séjours et permet de gérer les encaissements. Palace Restaurant permet de gérer la carte, le plan de salle et les stocks et il effectue automatiquement la facturation en salle. -Gestiocamp est dédié à la gestion de campings. Il propose les mêmes fonctionnalités que Palace Hôtel, en gérant des emplacements et non pas des chambres d hôtels. -Migara est un logiciel dédié à la gestion des garages automobiles. Il facilite l édition des devis puis des factures et permet de constituer un historique des interventions sur les véhicules. Il permet également de gérer les stocks et les encaissements. -Facturmis est un logiciel dédié à la facturation. Il permet les saisies d encaissements, il prend en compte les articles, les fournisseurs et les clients. Il effectue aussi des statistiques. Année 2005-2006 - 6 -

Présentation de mon travail : Durant le stage, 3 projets m on été donnés, ils portent tous sur la création ou la modification de sites Internet : -le premier est la refonte du site de l entreprise, pour mettre à jour les informations qui y sont contenues et pour améliorer la présentation. -le second est la création d un module de site de négoce pour une autre entreprise, dans ce travail la partie graphique n est pas à faire. Ce site doit permettre de gérer un catalogue, des clients et des commandes avec toute une partie de gestion administrateur appelée BackOffice. -et le troisième projet est la modification d une partie d un site déjà existant et qui a déjà été modifié plusieurs fois auparavant par différentes personnes. Chacun de ces projets utilise la programmation en Php SQL parce que c est maintenant un des standards les plus utilisés sur le web. Ce rapport est divisé en trois parties qui traiteront chacune un projet. Pour chacune des ces parties, je débuterai par une présentation plus précise que celle que je viens de faire, je décrirai ensuite chacune des pages qui ont été réalisés avec une explication sur leur utilité et la manière dont elles ont été construites et fonctionnent et enfin je ferai une conclusion. Année 2005-2006 - 7 -

Projet 1 : Site MIS : Présentation : Ce site doit renseigner le visiteur sur l entreprise : lui présenter ses produits, lui permettre de télécharger des versions d évaluations ou des mises à jour des différents logiciel et de pouvoir contacter l entreprise. Mon travail sur ce site est tout d abord une refonte entière pour une mise à jour, mais si je n avais fait que de refaire des pages statiques, il y aurait eu le problème de la mise à jour dans le futur. J ai donc privilégié pour ce projet la facilité de mises à jour ultérieures et pour ce faire, j ai utilisé de puissants moyens qui sont: l utilisation des feuilles de style css et le couple php-sql qui est parfait pour l utilisation web, tout ces éléments réunis permettes de faire un site web à pages dynamiques. Mais ces éléments ne sont quand mêmes pas asses suffisants pour être facile à mettre à jour, j ai donc utilisé le système des classes pour le code php et j ai créé toute une partie administration qui permet de faire les mises à jour du contenu en ligne. Je vais d abord faire une description des pages, puis ensuite je présenterais la partie administration ayant rapport aux pages et enfin il y aura l architecture et le codage. Description des pages : index.php Cette page contient l animation flash de présentation avec un lien pour passer rapidement à la page d accueil, l animation est celle de l ancien site ce qui a posé un problème car elle redirige automatiquement vers la page index2.htm qui n existe plus. Pour régler ce problème, j ai fait une redirection automatique dans l entête de la page en utilisant la fonction : <meta http-equiv="refresh" content="8; url=accueil.php"> Mais cela ne marche pas dans certains cas, j ai donc recrée la page index2.htm qui contient aussi une redirection automatique et un lien sur la page accueil.php. accueil.php Cette page est la plus importante du site, car elle permet d accéder n importe où sur le site, sans utiliser le menu. Je décris d abord le menu qui seras le même pour toutes les autres pages du site. Le menu est composé de 6 parties que je vais vous décrire : -le mini logo : c est un lien vers la page d entrée du site qui possède l animation. -le lien accueil : c est un lien qui permet a tout moment de revenir à la page d accueil. -la partie logiciels : c est une zone qui ouvre un sous menu contenant les liens vers les différents logiciels présent sur le site, ce sous menu se ferme lorsque le curseur de la souris ne se trouve plus ni sur la zone logiciel ni sur le sous menu. Pour l affichage du sous menu, j utilise le langage java script. Année 2005-2006 - 8 -

- le lien téléchargement : c est un lien qui permet à tout moment d aller sur la page des téléchargements. - le lien contacts: c est un lien qui permet a tout moment d aller sur la page des contacts. -le lien administration : c est à la fois un lien qui permet à tout moment de se connecter/déconnecter en tant qu administrateur et une zone qui ouvre un sous menu qui contient toutes les modifications possibles du site, elle fonctionne comme la zone de la partie logiciel, sauf qu elle ne s affiche que lorsqu on est un administrateur. Je vais vous parler ensuite du contenu de la page. Dans le centre de la page, il y a le logo de la société qui est aussi un lien vers les contacts. Autour, il y a les images des différents logiciels qui sont présentés qui sont aussi des liens sur les pages de ces logiciels, ces images sont organisées de manière automatique pour être réparties autour du logo. En bas de la page, il y a un texte d accueil. Et dans le coin en haut a droite, il y a la date de la dernière mise à jour du site. Ancienne page d accueil Nouvelle page d accueil logiciel.php Cette page est entièrement dynamique, elle reçoit un nom de logiciel grâce à la méthode get, cherche s il existe, et si c est le cas, affiche les informations correspondantes. Cette page affiche d abord l image du logiciel (si elle existe) avec un mini texte descriptif et un lien vers la page de téléchargements si il y a une version du logiciel qui peut être télécharger (charge la page au niveau du logiciel). Il y a un lien sur le descriptif technique du logiciel et les liens sur les différents fiches avec un mini logo. Année 2005-2006 - 9 -

Ancienne page du logiciel GestioCamp Nouvelle page du logiciel GestioCamp descriptif_technique.php Cette page reçois les informations de la même manière que la page logiciel.php. L image et le nom du logiciel sont d abord affichés et c est aussi un lien vers la page du logiciel. Ensuite il y a un texte descriptif puis des paragraphes qui peuvent posséder plusieurs sous paragraphes. Si le titre d un paragraphe correspond à une des fiches du logiciel, le titre du paragraphe devient un lien vers la fiche correspondante. Ancien descriptif technique du logiciel GestioCamp Nouveau descriptif technique du logiciel GestioCamp fiche.php Cette page reçois les informations de la même manière que la page logiciel.php mais avec en plus le nom de la fiche. L image et le nom du logiciel sont d abord affichés et c est aussi un lien vers la page du logiciel. Ensuite, il y a les paragraphes et une image miniature qui se trouve à gauche des paragraphes, cette image est aussi un lien vers une image agrandie (si elle existe). Année 2005-2006 - 10 -

Ancienne fiche Planning Nouvelle fiche Planning telechargements.php Cette page permet de télécharger les dernières versions en ligne des logiciels. Un texte paramétrable est d abord affiché puis, en dessous se trouvent les différentes versions en téléchargement qui sont présentés de manières décalées. Les différentes versions se présente de la manière suivante : -l image du logiciel (si elle existe). -le nom du logiciel et la version. -2 boutons permettant de télécharger la version d évaluation et la mise à jour (si les liens existent). Pour télécharger les versions d évaluations, il faut d abord remplir un formulaire pour avoir accès. Les téléchargements se font via une page download.php qui force le téléchargement du fichier. Ancienne page des téléchargements Nouvelle page des téléchargements Année 2005-2006 - 11 -

contact.php Cette page permet de contacter l entreprise, il y a d abord un texte de contact, 2 liens vers le formulaire de contact et vers le livre d or et puis, affiché de manière décalé, les différents moyens de contact qui sont présentés avec une image, le type de contact et les informations de contact. Ancienne page des contacts Nouvelle page des contacts formulaire.php Cette page est un simple formulaire, mais il a la particularité de fonctionner à la fois pour les contacts que pour les téléchargements d une version d évaluation. Le formulaire ne peut pas être envoyé tant que l adresse e-mail n est pas remplie correctement. Le message est envoyé via la page envoi_message.php qui lance le téléchargement automatique si il y en a un de demandé. Ancienne page du formulaire (page des contacts) Nouvelle page du formulaire envoi_message.php Cette page envoi les messages grâce à la fonction mail() et si il s agit d une demande de téléchargement, il y a une ouverture automatique de la page download.php avec les information correspondantes, si l ouverture ne se fait pas, il y a toujours le bouton pour pouvoir accéder au téléchargement. Année 2005-2006 - 12 -

download.php Cette page reçoit les informations soit par la méthode post soit par la méthode get et permet de forcer le téléchargement d un fichier. Cette page ne retourne que le fichier à télécharger, elle ne s affiche donc pas quand elle est appelée. livre_d_or.php Cette page permet au visiteur de laisser ses impressions sur le site, les logiciels ou juste passer le bonjour, son utilisation est simple car il n y a juste qu à saisir son pseudo et le message. Les messages son affichés par pages et chaque page en contient 5 et son ordonnés par ordre décroissant, la date du message est affiché a droite du pseudo et le message juste en dessous. administration.php Cette page permet de se connecter en tant qu administrateur via un mot de passe qui est codé en md5 et envoyé dans une variable de session. Toutes les pages à part index.php et index2.htm utilisent les pages debut.php et fin.php en inclusion. debut.php contient la fonction session_start(); pour pouvoir gérer la session, elle contient aussi l entête de page avec les liens vers la feuille de style et du fichier java script. Cette page contient aussi l instanciation des classes et du fichier fonction.php qui contient toutes les fonctions utiles, les variables $bd et $base reçoivent les éléments des classes Bd et Base et la variable $s reçoit les éléments de base d affichage. Dans fin.php, la variable $s reçoit les balises de fin puis son contenu est affiché grâce à la fonction echo $s; et l accès à la base de donnée est fermé. Presque toutes les pages qui s affichent utilisent l affichage de classe, parce que presque chacune de ces pages possède une classe qui lui est propre. Cet affichage se passe de deux manières suivant la page : Si c est une page qui reçoit des informations sur ce qu elle doit afficher (comme les pages logiciel, fichier ) l objet est crée avec les informations fournies puis une fonction recherche vas effectuer une requête dans la base de donnée, retourne vrai et complète les informations de l objet ou retourne faux, ce qui affiche soit un message d erreur soit l affichage de l objet. Par contre si c est une page qui ne nécessite pas d informations pour s afficher, lors de la création de l objet, il y a directement la requête dans la base de donnée pour compléter les informations, puis il y a l affichage. Année 2005-2006 - 13 -

De toutes les pages, il n y a que la page Administration qui n utilise pas l affichage de classe parce qu il n y a pas de classe administration puisque ces informations sont contenues dans la classe base. Description de la partie administration : Le site utilise les variables de session pour savoir dans chaque page si un mot de passe a été rentré et vérifie si il correspond avec le mot de passe administrateur contenu dans la base de donnée. Quand un administrateur est connecté, le sous menu administration est accessible. Voici les différents éléments d administration répartis suivant les différentes pages : accueil.php Dans cette page, on peut modifier le logo, le mini logo, le fond d écran, le texte d accueil et ajouter un nouveau logiciel. logiciel.php Dans cette page, on peut renommer le logiciel, modifier son image, son mini texte descriptif, le supprimer et ajouter une nouvelle fiche. descriptif_technique.php Dans cette page, on peut modifier le texte descriptif, ajouter un nouveau paragraphe, le renommer, modifier le texte, le déplacer et le supprimer. fiche.php Dans cette page, on peut renommer la fiche, modifier son logo, son image miniature de l exemple, son image de l exemple, la supprimer, ajouter un nouveau paragraphe, le renommer, modifier son texte, le déplacer et le supprimer. telechargements.php Dans cette page, on peut modifier le texte de téléchargement, ajouter une nouvelle version d un logiciel, la modifier et la supprimer. contact.php Dans cette page, on peut modifier l adresse e-mail d envoi, le texte de contact, ajouter un nouveau moyen de contact, le modifier et le supprimer. livre_d_or.php Dans cette page, on peut supprimer les messages. administration.php Dans cette page, on peut modifier le mot de passe administrateur. Année 2005-2006 - 14 -

Lors de ces ajouts et modifications, les images sont téléchargées et le texte est modifié directement. Le téléchargements des fichiers se fait par le protocole http, mais il y a une limite du pois maximum qui est définie par le serveur, c est pour cela que les version d évaluation et mises à jours des logiciels qui sont trop lourdes ne se font que par ftp, puis le lien doit être rentré manuellement. Ces mises à jours sont effectuées grâce aux pages ajouter.php, modifier.php et supprimer.php qui utilisent respectivement les pages qui se trouves dans les dossiers ajout, modif et supprime. Leur fonctionnement est le même et il consiste à : -vérifier que l utilisateur est bien un administrateur via la fonction administrateur($base). -vérifier que les informations sont envoyées par la méthode post ou get. -vérifier que le nom de fichier transmis se trouve dans le dossier correspondant. -effectue une inclusion de ce fichier qui fera ce qui est demandé. Le gros problème lors de ces mises à jours c est qu il existe des caractères spéciaux (\,, ) ou d affichage (<br />,, \n) qui ne sont pas pris en compte soit par le html, soit la requête SQL, soit le textarea du php. Pour résoudre ce problème j ai crée 3 fonction sur les chaînes de caractères ( modifi_pour_enregistrement ( $s ), modifi_pour_affichage ( $s ) et modifi_pour_ affichage_saisie($s)) pour pouvoir supprimer ces problèmes. Architecture et codage : Plus un site est important ou complexe, plus le nombre de pages et de fichiers l est aussi, c est pourquoi il est très important de classer les fichiers selon leur type, leur importance ou leur utilisation. C est pour cette raison que j ai décidé de mettre tous les fichiers images (gif, jpg, jpeg ) dans un dossier images, tous les téléchargements dans le fichier telechargements, toutes les classes dans le fichier classes et les pages php utilisées par les pages ajouter.php, modifier.php et supprimer.php dans les fichiers ajout, modif et supprime. Pour le code du site j ai utilisé des classes pour pouvoir facilement modifier un élément à l avenir, comme par exemple la base de donnée : Le système de base de donnée qui est utilisé pour le moment sur le site est un système MySQL, mais si un jour on utilise un autre système, on n auras pas besoin de changer le code de toutes les pages qui utilise la base de donnée, on n auras juste qu à modifier la classe Bd. J ai utilisé la classe Bd pour la raison citée juste avant, pour la classe Base, je me suis aperçu qu il y avait plusieurs éléments qui revenaient régulièrement dans les pages du site (comme le menu ou les éléments d administrations), c est pour cela que j ai fait cette classe. Pour les autres classes, il s agit soit de classes qui ont besoins de paramètres pour pouvoir utiliser l objet, soit de classe qui n ont besoin que de l accès à la base de donnée. Excepté la classe Bd, toutes les classes sont faites sur le même principe : -déclaration des variables. -un constructeur qui remplit les variables soit avec les paramètres fournis soit avec les informations contenu dans la base de donnée. Année 2005-2006 - 15 -

-une fonction recherche qui se connecte à la base de donnée, cherche l objet et retourne vrai et remplis les variables si l objet existe ou sinon retourne faux (cette fonction n existe seulement que quand on a besoin de paramètre pour ouvrir ce type d objet). (Il existe aussi des fonction recherches qui remplissent un tableau d objet.) -une ou plusieurs fonctions d affichage. -une fonction ajout qui insère l objet dans la base de donnée (cette fonction n existe seulement que quand on a besoin de paramètre pour ouvrir ce type d objet). -une fonction supprime qui enlève l objet de la base de donnée (cette fonction n existe seulement que quand on a besoin de paramètre pour ouvrir ce type d objet). - une ou plusieurs fonctions de modifications qui modifient l objet dans la base de donnée. Les autres fonctions qui ont un caractère général sont dans le fichier fonctions.php et peuvent êtres appelés à n importe quel endroit du code. J ai aussi mis toutes les fonction java script dans le fichier script.js et tout les styles dans le fichier style.css toujours pour la facilité de mise à jour et la compréhension du code. Conclusion de ce travail : Je pense avoir remplis les objectifs définis au départ qui sont la présentation, la facilité de navigation, la compatibilité avec les différents navigateurs, l information fournie et la facilité de mise à jour ultérieure. Pour la présentation, j ai fait un affichage simple mais efficace qui vise à afficher la page en une fois et avec un fond discret. Pour la facilité de navigation, on peut accéder à n importe quel endroit du site en deux clics, même si le java script n est pas accepté, il y a toujours un moyen de naviguer dans le site grâce a la page d accueil et très facile de s y repérer grâce aux titres de chaque page. Pour la compatibilité avec les différents navigateurs, comme j ai fait un affichage simple, les navigateurs l acceptent sans problèmes (Internet Explorer, Mozilla, Crazy Browser, Firebird/Phoenix, MSN Explorer et Opéra). Et pour la mise à jour ultérieure, l utilisation des classes, d une feuille de style et d une base de donnée permet de modifier les données et l affichage très facilement d autant plus que la partie administrateur peut être géré par n importe qui. Ce travail m a permis de comprendre qu un site où un logiciel ne doit pas être fait pour soi mais pour les utilisateurs et de prendre en compte les besoins de ces mêmes utilisateurs pour ainsi faciliter son utilisation. J ai appris aussi que dans tout site ou programme la partie administration qu elle soit caché des utilisateurs ou pas est aussi importante voire plus que la partie utilisation, car c est ce qui permet de prendre en compte les paramètre qui vont faire fonctionner le site ou le programme. Vous pouvez avoir accès au site l adresse http://www.logmis.com/ Année 2005-2006 - 16 -

Projet 2 : Module de site de négoce : Présentation : Le projet consiste à développer un module en PHP avec base MYSQL de la partie dynamique d un site de vente avec un système de connexion a une session, un catalogue avec des prix variant suivant le client, un système de panier pour passer les commandes, visualisation et modification de son compte et tout une partie BackOffice que comprend: -la mise a jour automatique ou manuelle des tables de la base de donnée via des fichiers de type AS400. -la gestion des configurations d affichage. -la gestion des connexions -la gestion des publicités aléatoires. -la gestion des fichiers de téléchargements. -la gestion des liens et de messages dans les pages statiques. -la gestion des commandes. -la gestion des messages envoyés par e-mail. La partie graphique du site sera faite par le client et n est donc pas traité dans ce projet. Je vais d abord faire une description des différentes fonctions des pages, puis ensuite je parlerais de la partie BackOffice. Description des pages : Chaque page est composée d un tableau composé de deux colonnes dont la première contient les informations relatives à la page et dont la seconde contient les publicités qui sont affichés de manière aléatoires si il y en a plus de 3. Quand un client est connecté, le lien vers la déconnexion est affiché en dessous des publicités. Si un utilisateur essai d aller sur une page dont l accès ne lui est pas autorisé, il est automatiquement redirigé sur la page de connexion. index.php Cette page est une simple page qui utilise deux frames (demandé par le client) dans la première se trouve la tête : c est elle qui contient la page des liens vers les différentes parties du site. Et dans la seconde, c est la que se trouve les pages qui serons chargés. catalogue.php Cette page s occupe d afficher les différentes rubriques du catalogue ainsi que les objet qui y sont contenu. L affichage des rubriques se fait par une arborescence qui affiche à chaque fois les sous rubriques (le nombre de sous rubrique est affiché entre parenthèse) et les objets qui se trouve Année 2005-2006 - 17 -

dans ces rubriques (le nombre d objet est affiché entre crochets). L arborescence est aussi affichée sous forme d une liste des rubriques mères. Elle possède aussi une fonction de recherche qui permet de chercher les différents objet suivant leur Libellé, Référence Fabriquant ou Référence de l objet, la recherche permet de chercher plusieurs mots séparés par un espace qui doivent faire partis de l élément de recherche de l objet. Les objets sont affichés de la même manière quand on fait une recherche que quand on utilise l arborescence : il s agit d un tableau qui affiche les objet par lignes et les informations sont affichés par colonnes qui sont gérés dans la partie BackOffice. Ils sont aussi affichés par pages dont le nombre de lignes par pages est géré par le BackOffice. Quand il s agit d un client qui est connecté, il peut en plus choisir la quantité à commander, puis en cliquant sur «actualiser le devis», le panier est mis à jour. Le panier s affiche quand il n est pas vide et on peut supprimer les différents articles, vider le panier ou le valider. Il affiche aussi le prix total du devis. panier.php Cette page n est accessible seulement pour les utilisateurs, elle affiche l état du panier comme dans le catalogue mais c est dans cette page qu on valide la commande en complétant ou modifiant un formulaire pré remplis (avec les information connues de l utilisateur) et en le validant, puis la fiche de la commande est affichée. Lors du passage de la commande, un e-mail est envoyé au client et un fichier xml de la commande est soit stocké soit envoyé à l administrateur par e-mail. mes_commandes.php Cette page n est accessible seulement pour les utilisateurs, elle affiche toutes les commandes qui ont été passé par le client auparavant, elles sont rangées par date et par numéro de devis. Année 2005-2006 - 18 -

les_telechargements.php Cette page n est accessible seulement pour les utilisateurs, elle affiche tout les fichiers qui sont à télécharger, elle les affiche sous la forme d une liste et si une image correspondant à l extension existe, elle est affiché juste avant le lien vers le fichier. Elle possède aussi un bouton qui lance la création et le téléchargement d un fichier.csv qui contient tout les tarifs du catalogue pour le client qui est connecté. mon_profil.php Cette page n est accessible seulement pour les utilisateurs, elle affiche le message d entrée du client (si il a été rempli), puis les informations liées aux clients sous la forme d un tableau avec un bouton qui envoi sur un formulaire qui permet de modifier les paramètres de connexion du client (il doit ressaisir son mot de passe pour éviter que quelqu un modifie son compte en cas d inattentions). Lors d une modification du compte, un e-mail est envoyé au client pour qu il puisse conserver ses informations. connexion.php Cette page permet de se connecter en tant que client du site, pour cela il faut saisir le login et le mot de passe qui doivent êtres corrects pour pouvoir se connecter. Lors de la connexion, il y a une redirection automatique vers la page mon_profil.php ce qui permet de voir le message d entrée. Si on essai d aller sur cette page en étant connecté, on est tout le temps redirigé sur la page mon_profil.php. Si on veut se déconnecter, il suffit d aller sur la même page mais d avoir paramètres en méthode «get» la déconnexion, ce qui détruit les variables de la session ainsi que la connexion. Apres la déconnexion, il y a une redirection automatique vers le formulaire de connexion. Si l utilisateur ne se souvient plus de ses paramètres de connexion, il clique sur le lien «Login/Mot de passe oublié?» qui envoi sur un formulaire qui permet de saisir son adresse e- mail, ce qui permet de trouver le client, et de lui envoyer par e-mail son login et un nouveau mot de passe qui est créer aléatoirement (le mot de passe étant stocké sous format md5, il est impossible de le récupérer). Année 2005-2006 - 19 -

contact.php Cette page est un simple formulaire qui permet de contacter l entreprise par le biais d un e-mail envoyé sur l adresse administrateur dont le message est crée à partir du formulaire. Description du BackOffice : La partie BackOffice est composée de deux parties en frame (demandé par le client) : -la première contient les liens vers les différentes pages du BackOffice. -la seconde contient toutes les autres pages qui seront appelés par le biais de la première partie. Je vais maintenant présenter toutes les pages du BackOffice. config.php Cette page et la première à apparaître quand l administrateur de connecte permet de faire des modifications fondamentales sur le site, elle permet de modifier l e-mail administrateur, son mot de passe, le taux de TVA, le nombres de lignes par pages (correspond à tous les élément qui sont affichés par pages comme le catalogue, les connexions clients et les option des produits). Elle permet aussi de télécharger de nouvelles images pour les logos dispo, photo et dossier technique qui se trouvent dans le catalogue. Elle permet de choisir aussi si les fichier.xml des commandes ou devis seront soit stocké dans le dossier xml, soit envoyé par e-mail a l administrateur. Et enfin, elle permet de choisir si les colonnes des éléments du catalogue peuvent êtres affichés pour les client ou les visiteurs. Les modification ne sont faites seulement que quand l administrateur appuis sur le bouton de validation. Année 2005-2006 - 20 -

config2.php Cette page fonctionne de la même manière que la page config.php sauf que les éléments qui sont modifiables sont les sujets et texte des e-mails pouvant être envoyé à un client, le message de fin de ces e-mails et le message de modification de commande (qui doit expliquer le moyen de modifier sa commande). La validation des modifications se fait comme dans la page config.php en appuyant sur le bouton de validation. maj.php Cette page permet de faire les mises à jours a partir de fichier.txt au format AS400, et cela de deux manières possible : -en appuyant sur le bouton «Maj Automatique» cela déclenche une fonction qui recherche les fichiers.txt qui se trouvent dans le dossier «fichiers_de_maj» et insère les données du fichier dans la table qui correspond à son nom et place le fichier dans le dossier «ancienne_maj». -en choisissant la table qui sera modifié dans la liste déroulante puis en cherchant le fichier contenant les informations, puis en cliquant sur «Mise à jour», ce qui télécharge le fichier dans le dossier «fichiers_temporaires» puis effectue la mise à jour en ellemême et supprime le fichier temporaire. ajout_modif_connection.php Cette page permet de gérer les connexions des clients, elle peut en ajouter, en modifier et en supprimer. Elle se divise en deux parties : -la première, qui permet de créer une connexion à partir d un formulaire. Pour cela, il faut absolument le code client (pour vérifier qu il existe) et son adresse e-mail (pour lui envoyer des messages, notamment pour lui indiquer qu il peut maintenant se connecter sur le site en lui donnant son login/mot de passe). Le login correspond à l adresse e-mail du client et le mot de passe est généré aléatoirement, mais ces paramètres peuvent êtres imposé par l administrateur en remplissant les champs correspondants. Le message n est pas obligatoire et on peut paramétrer sa taille et sa couleur par le biais de la ligne de saisie de la taille et de la liste déroulante des couleurs. La connexion affiche la fiche du client pour valider la création de connexion. -la deuxième partie permet l affichage, la modification et la suppression des connexions clients. Tout d abord une liste de liens vers les différentes pages (liens de 0 à 9 et de a à z qui affiche toutes les connexions clients dont le code commence par l élément du lien, avec un lien tout qui affiche toutes les connexion et un autre lien ErreurClient qui affiche Année 2005-2006 - 21 -

les connexion qui existent mais qui ne possède pas de client correspondant). Le nombre de lignes de connexion par pages est paramétré dans la page config.php. Chaque ligne possède le code client correspondant et un formulaire de modification avec un bouton de suppression de la connexion. Dans ce formulaire, on peut changer tous les paramètres de connexion. Et si la connexion existe sans possédé de client, Un message s affiche juste au dessus des boutons. ajout_modif_option_produit.php Cette page fonctionne de la même manière que la page précédente, mais dans ce cas, les paramètres qui son pris en compte sont des fichiers images ou.pdf qui correspondent à la photo et au dossier technique du produit dont les liens seront affichés dans le catalogue. pub.php Cette page permet de gérer les publicités qui seront affichés dans toutes les pages, soit les 3 pub aléatoires, soit une des pubs choisies volontairement. Les deux paramètres sont le nom de la pub (qui sert pour l appeler et qui s afficheras comme nom de l image) et l image qui sera téléchargée et renommé avec le nom de la pub. Toutes les pubs sont affichées sur la page et on peut soit modifier ses paramètres soit la supprimer. messages.php Cette page permet de gérer les messages qui peuvent êtres mis n importe où dans les pages, les messages contiennent comme paramètres : le code qui permettras d appeler le message, le message en lui-même (qui pourras contenir du code html), la taille du texte et sa couleur. Touts les messages sont présentés dans cette page et peuvent êtres modifiés ou supprimer. Année 2005-2006 - 22 -

liens.php Cette page permet de gérer des liens qui fonctionneront comme les messages mais qui aurons comme paramètres le code pour appeler le lien, le nom du lien qui sera affiché et le lien en luimême. L affichage se fait de la même manière que pour les messages. telechargements.php Cette page fonctionne comme les liens sauf que le fichier est téléchargé sur le serveur. commandes_clients.php Cette page permet de voir toutes les commandes/devis qui on été faites sur le site. L affichage se fait tout d abord sur le mois en cours, on peut choisir la date d affichage (par mois ou par jours) grâce à des listes déroulantes et en cliquant sur «Voir commandes». Il y a un bouton qui supprime toutes les commandes/devis qui se trouvent dans cette page. L affichage peut se faire de deux manières : -sous forme de liste. Il s agit d un tableau qui contient toutes les commandes de la date choisie sous formes de lignes. Elle contient un bouton voir qui permet d afficher la fiche du devis toute seule. C est cet affichage qu il y a par défaut. -sous forme de fiches. Il s agit des fiches de toutes les commandes de la date choisie. Les fiches sont de la même forme que dans la page mes_commandes.php. modifi_pages.php Cette page sert d éditeur de texte en ligne, en haut à gauche s affiche l arborescence avec lien des répertoires parcourus, à droite se trouve un sous-menu répertoire qui affiche les liens vers les sous répertoires du répertoire en cours et un sous-menu fichiers qui affiche les liens vers les fichier qui se trouvent dans ce même répertoire et qui lanceras son édition. Quand un fichier est sélectionné, un formulaire comprenant une zone de saisie, un bouton d annulation des modifications et un bouton pour sauvegarder les modifications. Dans la zone de saisie se trouve tout le contenu du fichier qui peut être modifié. Cette page permet de pouvoir modifier le code de toutes les autres pages quelque soit l endroit ou se trouve l administrateur. Année 2005-2006 - 23 -

Dans ces pages, il y a de la saisie de texte, cela pose le même problème rencontré avec le site MIS et cela se résout de la même façon. Toutes les pages sont protégées par un mot de passe qui sera demandé tant qu il n est pas bon, puis il est stocké dans une variable de session, ce qui permettras de le saisir qu une seule fois. Architecture et codage : Vu que cette partie de site est insérable, il fallait séparer les pages dynamique que j ai crée des pages statiques crée par le client, c est pour cela que tout les fichiers et les sous répertoires sont dans le dossier répertoire (à part la page modifi_pages.php pour qu elle puisse modifier les pages statiques). Comme dans le site MIS, j ai séparé les classes et les fichiers pour un repérage plus facile des fichiers recherchés. J utilise toujours les fichiers debut.php et fin.php pour éviter de répéter le même code, mais avec une petite nouveauté pour l appel des classes : j ai crée une classe qui permet de lire le contenu d un répertoire, ce qui me permet de trouver toutes les classes qui se trouves dans le répertoire «class» et de les inclure dans le code grâce à une boucle. J utilise 3 sortes de classe : -la première sorte correspond aux classes qui correspondent aux tables de bases de données qui ne sont modifiables que par les fichiers AS400. Elles se contentent de rechercher les informations dans la base de donnée et de les afficher ou de les traiter en vus d un affichage. -la seconde sorte correspond aux autres classes qui correspondent aux tables de bases de données mais qui eux sont entièrement modifiables (par l intermédiaire du BackOffice). Elles possèdent les mêmes caractéristiques que la première sorte de classe mais elle possède en plus les possibilités d ajout, de modification et de suppression. -et pour le troisième sorte, ces sont celles qui ne correspondent pas aux tables des bases de données. Ces classes s appellent Bd, Fichier et Repertoire. Bd est la même classe pour les bases de donnée que pour le site de MIS et je m en sers de la même manière. Fichier permet d ouvrir un fichier et de récupérer son contenu et permet soit de l afficher, soit de créer une table de base de donnée, soit de convertir le contenu des lignes d un fichier AS400 en requêtes SQL d insertion de donnés et soit d insérer ces mêmes requêtes. Repertoire permet d ouvrir un répertoire et de récupérer le nom des sous dossiers et des fichier contenu et permet de retourner un tableau contenant tout les fichiers.txt et aussi tout les fichiers images. Un fichier maj_automatique.php a été crée pour pouvoir faire les mises à jour de manière automatique grâce a un programme qui lanceras la page dès que les fichier de mise à jour seront envoyés par ftp. Un fichier initialisation.php a été créé pour pouvoir créer les tables de la base de donnée et pouvoir faire la première mise à jour, ce fichier se détruit lui-même à la fin. J utilise aussi de la même manière que pour le site MIS les fichiers fonctions.php, script.js et style.css. Année 2005-2006 - 24 -

Méthode de travail : J ai reçu des feuilles expliquant la demande dans lesquelles se trouvait la description des fichier AS400 que j ai aussi récupérer pour faire des essais ainsi que l adresse du site qui devais me servir de modèle. Je suis allé sur ce site pour voir ce qu il faut faire, puis ensuite j ai crée une page pour pouvoir créer les tables et insérer le contenu des fichier AS400 dans la base de donnée. J ai ensuite créer les classes des tables et le catalogue puis les autres classes et pages ainsi que le BackOffice. Le travail a été présenté au client qui a donné son avis et a voulut rajouter des éléments et à repérer certaines erreurs, les corrections on été faites et le travail a été représenté. Apres plusieurs séries de modification qui sont devenus des ajustements à la fin, le travail été terminé. Avant et après chaque modification, j ai discuté avec mon maître de stage des modification à faire et qui on été apportés. Conclusion de ce travail : Je pense avoir remplis les besoins de ce travail puisque le client n a pas demandé de modifications. J ai quand même du faire un peu de présentation car ils ne pouvaient pas le faire dans le code des pages dynamiques. J ai appris de ce projet que c est toujours le client qui décide, même si ce qu il veut n est pas forcément plus pratique à utiliser par le client que ce qui est proposé. J ai aussi appris qu il est très difficile de comprendre ce que veut exactement un client et surtout lorsque ce qu il veut n est pas clairement expliqué. Ce projet m a aidé à comprendre la difficulté des rapports avec les clients (même de manière indirecte) et de savoir que ce qui est logique pour moi ne l est pas forcement pour un autre et vice versa. Année 2005-2006 - 25 -

Projet 3 : Modifications d un site de vente : Présentation : Le projet consiste à modifier des pages d un site déjà existant. Ce site fait la présentation de son entreprise, permet de se connecter, de voir leur catalogue et de pouvoir commander. Au cours des années précédentes, ce site a subi beaucoup de modification qui on contribué à rendre le code difficile à lire, avant d'avoir pus faire les modifications, j ai été obligé de réarranger le code dans les pages concernés par les modification pour le rendre plus lisible. Ces modifications correspondent à la partie commande du site. Voici les modifications qui devaient êtres apportées : -la page armature.php dont le but est de pouvoir commander des armatures se compose de deux parties : La première est un formulaire à remplir et la seconde est un récapitulatif de la commande qui envoi par ma même occasion l e-mail de commande au client et à l entreprise. -la page serviceplus.php qui fonctionne de la même manière que armature.php. -la page panier.php qui permet d afficher les articles déjà choisis, de pouvoir modifier son panier et de valider sa commande. Lors de la validation, un formulaire qui permet de saisir le nom du chantier et l adresse doit être validé, puis un récapitulatif de la commande est affiché avec l envoi des e-mails au client et à l entreprise ainsi que la création d un fichier. -la page commande.php qui permet de choisir le type de commande (Normal ou Presaison) et qui permet de saisir les références et les quantités des pièces a commander. D autres modifications ont été apportées au cours de ce projet qui sont : -l ajout de messages qui peuvent êtres modifiables par une page d administration de messages et qui peuvent êtres mis d importe où dans le site (ce seras utilisé pour les textes des pages statiques du site). -la modification de certaines couleurs pour un meilleur affichage des pages. -l ajout de l heure qui s affiche de manière dynamique au lieu de statique. Description des modifications apportées : Je vais d abord décrire les pages armature.php et serviceplus.php, car leur fonctionnement est le même. -Le problème majeur de cette page est que lors d une erreur de saisie, l utilisateur est renvoyé sur la même page mais avec un message d erreur, mais toutes les informations qui ont étés saisis ne le sont plus. Au début je voulais juste récupéré les valeurs qui on étés envoyés par la méthode «post», mais j ai pensé que ce ne résoudrais pas totalement le problème, j ai donc préféré utiliser des variables de sessions ($_SESSION["armature_commande"] et $_SESSION ["serviceplus_commande"]), qui gardent les informations quelque soit les changements de pages. Année 2005-2006 - 26 -

Cependant, il y eu le problèmes des cases à cocher qui ne voulait pas se décocher (quand elles sont décochés, elles ne renvoient rien), pour cela, l insertion dans les variables session ne se fait que lors qu il y a une réception d information par «post» et seulement après destruction des anciennes variables de session. Maintenant, le formulaire conserve toutes les informations jusqu'à ce que la commande soit passée. -J ai rajouté une page de validation qui permet de voir et de valider la commande (ou de revenir en arrière) après avoir remplis le formulaire. Cela permet de vérifier si la commande a été bonne avant de la valider (avant la validation se faisait juste après le remplissage du formulaire, ce qui ne permettais pas de vérifications). -Lors du choix du modèle, le reste du formulaire n apparaît pas. Avant, le formulaire été affiché en entier, et cela posait des problème, car juste après le choix, il y a une redirection sur la page, avec tous les paramètres du modèle choisis et champs qui étés déjà remplis sont effacés. -Un bouton pour effacer le formulaire a aussi été ajouté. -L affichage des options a été modifiée, car certaines ne doivent pas êtres affichés, et elles ont étés renommées pour une plus grande compréhension de l utilisateur. -La couleur de fond du formulaire a été changée pour que le texte soit plus lisible. -Et pour finir, l image du modèle a été ajoutée lors de l affichage du formulaire (si elle existe dans le dossier «image_modele»). Je vais décrire les pages panier.php et commande.php ensemble car ces deux pages fonctionnes ensembles. Au début je devais en faire la modification, mais il fallait presque tout refaire, j ai donc décidé de refaire totalement ces pages mais en réutilisant les mêmes fonctions et le même type d architecture pour éviter un problème de compatibilité avec le reste du site. -Lorsque la Presaison est possible, les deux pages affiches le choix d utiliser la Presaison ou non. Ce choix ne s affiche que quand c est possible et ne s affiche plus tant que l utilisateur est connecté ou qu il n a pas passé sa commande. Ce choix peut être modifiable à n importe quel moment de la commande par le biais du bouton qui se situe en haut à droite. Année 2005-2006 - 27 -

-La page commande affiche le panier et le formulaire qui permet de saisir les références et la quantité des articles. Le nombre de champ peut être augmenté grâce à un bouton qui en ajoute un à la fin sans réinitialiser la page. La saisie des quantités a aussi été modifiée pour faire en sorte qu on ne saisisse que des nombres entiers. -Le panier reçoit les informations qui sont envoyés par la méthode «post», il vérifie si elles sont justes et les mets dans une variable de session sous la forme : $_SESSION[ panier ][$référence]=$quantité; Lors de l ajout des références, le détail des affectations de référence est affiché sous forme de liste. L affichage du panier se fait sous la forme d un tableau qui affiche la référence, la désignation, la quantité, le prix (le prix total est affiché en dessous de tout les autres) et un bouton qui permet de supprimer cet article. La quantité est affichée dans une ligne de saisie de formulaire, car il est possible de modifier la quantité grâce à un bouton. Il y a aussi la possibilité de vider le panier et de finaliser la commande (qui se fait dans la page panier.php). -La page panier.php s occupe d affiche le panier, de finaliser la commande et de la valider. Le panier s affiche de la même manière que dans la commande, sauf qu en plus, il y a un bouton ajouter référence qui fait un lien vers la page commande.php. Lors de la finalisation, un récapitulatif de la commande est affiché avec un formulaire permettant de choisir l adresse de livraison et de saisir le chantier. Un retour au panier est toujours possible. Lors de la validation, des e-mails sont envoyés à l utilisateur et à l entreprise et un fichier de commande est crée dans le dossier «commande». Année 2005-2006 - 28 -