WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'un site web dynamique pour un magazine en ligne

( Télécharger le fichier original )
par Rima / Hanane SAOUCHI / BOUKERZAZA
Université Mentouri Constantine - Licence en informatique option académique 2011
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    République Algériennes Démocratique et Populaire Ministére d'enseignement supérieur et de la recherche scientifique Université Mentouri Constantine

    Faculté Des Sciences De L'ingénieur
    Département D'informatique
    Formation LMD

    Mémoire de fin d'étude en vue de l'obtention du

    diplôme de licence ACAD

    Département d'informatique

    Conception et réalisation d'un site

    web dynamique pour un magazine

    en ligne

    Réaliser par :

    Dirigé par :

    · BOUKERZAZA Hanane

    · SAOUCHI Rima

    · Mme FERGANI.B

    · Mme CHOUTRI.A

    Promotion 2011-2012

    Dédicace

    L'eau coule grace à sa source

    L'arbre pousse grace à ses racines

    A
    Nos parents

    Pour les sacrifices déployés à nos égards ; pour leur patience
    Leur amour et leur confiance en nous

    Ils ont tout fait pour notre bonheur et notre réussite.
    Qu'ils trouvent dans ce modeste travail, le témoignage de notre
    Profonde affection et de notre attachement indéfectible.
    Nulle dédicace ne puisse exprimer ce que nous leur devons
    Que dieu leur réserve la bonne santé et une longue vie.

    A
    Nos amis

    En témoignage de nos sincères reconnaissances pour les efforts
    Qu'ils ont consentis pour nous soutenir au cours de nos études.
    Que dieu nous garde toujours unis

    A

    Toute personne qui nous'a aidé à faire notre projet.

    Remerciements

    Au terme de la rédaction de ce mémoire, nous tenons à remercier nos
    encadreur Mme : FERGANI.B, et Mme : CHOUTRIE.A pour leurs
    précieux conseils et leur aide durant toute la période du travail.

    Nos vifs remerciements vont également aux membres du jury pour
    l'intérêt qu'ils ont porté à notre recherche en acceptant d'examiner notre
    travail Et de l'enrichir par leurs propositions.

    Merci

    Sommaire

    Introduction général Chapitre1 : Internet et Web

    INTRODUCTION......................................................................................................1

    I. INTERNET .......................................................................................................1

    1. QU'EST-CE QU'INTERNET.............................................................................. 1

    2. HISTOIRE D'INTERNET.................................................................................... 2

    3. MECANISME DE TRANSPORT DE L'INFORMATION SUR INTERNET .................................2

    II. WEB...............................................................................................................4

    1. WORLD WIDE WEB....................................................................................... 4

    2. QUELLE EST LA DIFFERENCE ENTRE UNE PAGE WEB ET UN SITE WEB ? ........................ 5

    3. DIFFERENCE ENTRE UN SITE WEB STATIQUE ET UN SITE WEB DYNAMIQUE..................... 5

    4. QUELS AVANTAGES POUR UN SITE STATIQUE ? ...................................................... 6

    5. QUELS AVANTAGES POUR UN SITE DYNAMIQUE ? ..................... ..............................7

    6. QUELS TYPES DE SITE POUR QUELLE UTILISATION ?................................................7 CONCLUSION......................................................................................................8

    Chapitre2 : UML

    Introduction...................................................................................................... 9 I. Présentation Et Justification Du Choix D'uml ...... .............................................9

    1. Définition................................................................................................9

    2. Historique................................................................................................ 9

    3. A Quoi Sert Uml ?....................................................................................10

    4. Que Ce Qu'un Diagramme Uml ?...............................................................10

    5. Avantages Et Inconvénients D'uml............................................................ 11

    II. Modéle D'uml Utilisés 11

    1. Diagrammes De Cas D'utilisation............................................................ 12

    2. Diagrammes De Séquence 13

    3. Diagramme Des Classes 14

    4. Diagramme D'activité ........................................................................... 15

    III. Le Processus Unifié(Up)........................................................................ 16

    1. Définition............................................................................................. 16

    2. Caractéristiques................................................................................. 16

    2.1 Une démarche itérative et incrémentale ? 17

    2.2 Une démarche pilotée par les besoins des utilisateurs ? 17

    2.3 Une démarche centrée sur l'architecture ? 17

    3. Cycle De Vie Du Processus..................................................................... 18

    Conclusion......................................................................................................19

    Chapitre3 : Exigences Fonctionnelles Analyse Et Conception Partie1 : Exigences Fonctionnelles

    Introduction................................................................................................. 20 I. Exigence fonctionnelle...........................................................................20

    1. Présentation général du projet............................................................... 20

    2. Cahier des charges.............................................................................. 20

    3. Spécification des exigences d'aprés les cas d'utilisation..............................21 3.1 Identification des acteurs et leur cas d'utilisation................................. 21 3.2 Modélisation des cas d'utilisations ................................................... 22 3.3 Description détaillée........................................................................23 3. Elaboration du diagramme de classe métier.......................................... 30

    Partie2 : Analyse et Conception

    1. Description et représentation des scénarios............................................. 20

    2. Diagramme d'activité...........................................................................38

    3. Diagramme de classe participante......................................................... 41 3.1 Partie d'analyse........................................................................... 41

    3.2 Partie conception...........................................................................51

    Conclusion................................................................................................ 61

    Chapitre4 : Implémentation

    Introduction 62

    I. L'arborescence du site 62

    1. Partie lecteur 63

    2. Partie Rédacteur /Administrateur 64

    II. Choix des outils de développement............................................................ 65

    1. Le langage de programmation php5...................................................... 65

    2. Autres outils 65

    3. Choix du SGBD : mySQL 65

    4. Serveur utilisé : WampServer 2.2D 66

    III. Conception de la base de données 67

    1. Les tables de la base de données 67

    IV. Description de l'application .................................................................. 73

    1. Description général........................................................................... 73

    2. Description des pages du site............................................................... 73

    2.1 Page d'accueil ? 73 2.2 Page d'inscription........................................................................... 74 2.3 Page d'authentification..................................................................... 75 2.4 Page d'administrateur..................................................................... 76

    V. Quelque exemples de code .....................................................................76

    1. Code connexion.................................................................................76

    2. Code Index du site (Page d'accueil)......................................................77

    3. Partie du code Index (Administrateur)...................................................78

    4. Partie du code Index2 (Administrateur)................................................ 78

    5. Partie du code View...........................................................................79

    6. Partie du code section........................................................................79

    7. Code inscription.............................................................................. 80

    8. Code Déconnexion........................................................................... 82
    Conclusion................................................................................................ 82

    Introduction général

    Il ne fait désormais plus aucun doute que l'informatique est la révolution la plus importante et la plus innovante qui a marqué la vie de l'humanité moderne. En effet, les logiciels informatiques proposent maintenant des solutions à tous les problèmes de la vie, aussi bien dans des domaines professionnels que pour des applications personnelles. Et leurs méthodes de conception et de développement ont vu l'avènement d'autant de technologies qui facilitent leur mise en place et leurs donnent des possibilités et des fonctionnalités de plus en plus étendues

    L'évolution de l'informatique et l'apparition de l'internet, ce phénomène d'interaction qui offre des possibilités considérables et accroit les chances de communication à travers un lieu virtuel qui regroupe des pages Internet présentées par des personnes ou des organisations c'est le site web.

    Le web permet de partager ses idées et ses domaines d'intérêt avec d'autres utilisateurs partout dans le monde. Ainsi l'Internet est devenu un outil incontournable et même indispensable pour le fonctionnement de bon nombre d'entreprise a travers le monde. Ceci est du aux innombrables possibilités et opportunités qu'il offre a tout utilisateur.

    Un site web est un ensemble de fichiers (page HTML, images, PDF, son, vidéo, programme, animations). Et de dossiers, formant l'arborescence du site.

    Un site construit directement en langage HTML, a pour défaut majeur d'offrir une interactivité limitées au strict minimum, cette limitation est due à la nature mené du HTML, c'est pour cette raison que ces pages sont dites statiques. Par contre les pages dynamique, combinées à la puissance des bases de données offrent des possibilités de développement infinies pour les applications en ligne du site web comme exemple un magazine en ligne auquel nous rattacherons d'ailleurs notre étude.

    Pour que le site soit accessible depuis un réseau mondial ou local, un serveur web (logiciel) doit fonctionner sur le serveur (ordinateur) qui héberge le site.

    Pour la réalisation de cette tâche (magazine en ligne), notre choix s'est porté sur le Processus Unifié. En effet, le processus unifié est une solution de développement logiciel adaptée à tout type de projet. Ses traits distinctifs tiennent en trois notions : piloté par les cas d'utilisation, centré sur l'architecture, itératif et incrémental.

    Le langage de modélisation qu'on a utilisé est UML (Unifier Modeling Language), qui est une partie intégrante de la démarche UP. Ses diagrammes sont largement utilisés dans chaque étape et phases de ce processus de développement.

    Pour l'implémentation, le choix s'est porté sur le langage de programmation PHP. La base de données est implémentée avec MySQL qui est largement compatible avec PHP.

    Ayant présenté les outils et la méthode adoptée, nous allons maintenant exposer le plan du mémoire qui se subdivisera en quatre principaux chapitres.

    Dans le premier chapitre intitulé « Internet et web » nous définissons quelques concepts jugés nécessaire sur Internet et le Word Wide Web, ainsi nous présentons le mécanisme de transport de l'information, et la différence entre les sites statique et les sites dynamique.

    Puis, au sein de « UML et UP », deuxième chapitre de ce travail, nous présentons l'outil de conception (diagrammes du langage UML), et aussi des concepts sur le processus unifié UP avec justification de notre choix.

    Au niveau de troisième chapitre intitulé « Analyse et Conception » nous traitons les applications suivant le processus de développement UP, et qui seront décrits par le diagramme des cas d'utilisation. Nous étendons la représentation des diagrammes effectués au niveau de l'analyse en y intégrant les aspects techniques les plus proches des préoccupations physique.

    Finalement dans le dernier chapitre qu'on a nommé « Implémentation » nous présentons les outils de développement qui nous ont servi pour la réalisation d'un magazine en ligne, et enfin l'activité test qui consiste, justement, à le tester dans le but de s'assurer de son bon fonctionnement.

    INTERNET ET WEB

    Introduction

    Dès le début des années 60, plusieurs groupes de scientifiques s'intéressent à la question de la communication entre ordinateurs. A l'époque, ces machines étaient souvent très différentes les unes des autres et la possibilité de communication entre-elles restait une question difficile. Jusqu'à l'arrivée d'un phénomène qui a marqué le monde de l'informatique .C'est bien celui d'Internet. Ce réseau mondial crée par l'armée américaine, puis utilisé par les chercheurs et autres scientifique, a connu une croissance phénoménale auprès du grand public avec l'introduction du Word Wide Web.

    I. Internet

    1. Qu'est-ce qu'Internet ? [S7]

    L'Internet est un système de communication qui permet aux ordinateurs autour du monde de communiquer et de s'échanger de l'information entre eux. Cette communication entre ordinateurs permet plusieurs possibilités et offre une masse d'informations chaque jour plus importante dans des domaines comme la médecine, la science et la technologie.

    Internet [Figure-1-]

    2. Histoire d'Internet [S8]

    C'est dans les années 60's, en plein milieu de la "guerre froide" entre le bloc de l'est et les pays occidentaux qu'on retrouve les origines de l'Internet. Les militaires américains avaient besoin d'un moyen de coordonner leurs armes nucléaires en cas de guerre atomique. Ils avaient besoin d'un système de communication qui pourrait survivre même si plusieurs bases étaient détruites.

    > 1964: Projet ARPANET: Le début du projet pour créer le premier réseau de communication distribué. L'avantage de cette technologie est qu'elle est décentralisée. Le système n'est pas dépendant d'un ordinateur principal pour coordonner les communications. Si un, deux, même plusieurs, ordinateurs tombent en panne, sont surchargés ou ne sont pas disponible,

    le système peut contourner ces problèmes sans aucune difficulté. Ceci est parfait pour les besoins militaires qui créèrent le réseau.

    > 1969: Mise en opération du projet ARPANET qui utilise un protocole de communication appelé NCP (Network Control Protocol). C'est la première fois que des ordinateurs communiquent entre eux malgré de longues distances. Le tout composait un réseau d'ordinateurs superpuissants pour la période. Le réseau survivrait même aux ravages d'une guerre atomique puisque chaque site est connecté physiquement à quatre autres. La communication et la coordination des forces armées survivantes à une attaque nucléaire sont assurées. Pour des raisons de sécurité nationale, l'armée refuse aux scientifiques l'accès au réseau militaire et l'utilisation du protocole de communication entre les sites.

    > 1973: Les scientifiques prennent leur revanche en développant leur propre réseau à travers les universités et en utilisant un protocole de communication amélioré nommé TCP/IP (Transfert Control Protocol/ Internet Protocol). Le protocole IP s'assure que chaque ordinateur relié au réseau a une adresse unique et que chacun soit capable de communiquer avec les autres. Ce protocole est utilisé sur plusieurs plates-formes pour permettre une communication entre ceux-ci. L'accès est devenu, avec le temps, international. Les fondations pour l'Internet d'aujourd'hui sont placées. La recherche a permis d'augmenter le potentiel de l'Internet avec plusieurs autres services.

    Parmi ces services, il y a le courrier électronique. Il permet d'envoyer des messages, des "email", à d'autres personnes qui ont eux aussi une adresse de courrier électronique. Il y a aussi "Gopher" qui permet d'afficher de l'information pour la rendre disponible à tous. C'est en quelque sorte l'ancêtre du World Wide Web. Il y a aussi le service FTP, pour File Transfer Protocol, pour permettre le transfert de fichiers à travers l'Internet.

    > 1989: Tim Berners-Lee conçoit la base de ce qui allait devenir le World Wide Web.

    > 1995: C'est cette année que le terme "Internet" est entré dans le vocabulaire de la plupart

    du monde. C'est surtout à cause d'un "nouveau" service: le World Wide Web (WWW ou

    W3). Plusieurs personnes confondent encore aujourd'hui le terme WWW avec l'Internet.

    3. Mécanisme de transport de l'information sur Internet [S9] ? Le protocole de communication entre ordinateurs

    Lorsque deux ordinateurs communiquent pour s'échanger des informations, il faut qu'ils utilisent une méthode commune de conversation. On parle alors d'un protocole informatique.

    En informatique, un protocole est un ensemble de règles suivies par deux ordinateurs lors de l'échange de l'information. Il existe de nombreux protocoles différents. Nous n'évoquerons que TCP/IP.

    Sur l'Internet, le protocole utilisé est appelé TCP/IP :

    TCP : Transmission Control Protocol (protocole de contrôle des transmissions) IP : Internet Protocol (protocole de l'Internet)

    · L'ordinateur qui fournit l'information (le serveur)

    Lorsque des informations (un texte, une image, un courrier,...) doivent être envoyées sur Internet, l'ordinateur qui fournit l'information :

    1. découpe le document à transmettre en petits paquets à l'aide d'un programme spécialisé ;

    2. chaque paquet est muni de l'adresse de l'expéditeur et de l'ordinateur de destination ;

    3. chaque paquet est envoyé indépendamment des autres: il passe peut-être par un autre chemin.

    · L'ordinateur qui reçoit les informations (le client)

    Les informations parviennent à l'ordinateur de destination

    1. sous la forme de petits paquets ;

    2. qui peuvent arriver dans le désordre (selon le chemin suivi) ;

    3. ces informations sont recombinées et remises en ordre par un programme spécialisé dans l'ordinateur d'arrivée.

    Architecture client-serveur [Figure-2-]

    [INTERNET ET WEB]

    Chapitre1

    II. web

    1. World Wide Web et HTML [S 7..9]

    Le World Wide est Web est rapidement devenu le service le plus utilisé sur l'Internet. C'est ce qui a rendu le mot "Internet" un mot de notre jargon de tous les jours pour la plupart d'entre nous. Le "père" du World Wide Web, Tim Berners-Lee, a conçu les bases en mars 1989. Il a conçu le Hypertext Markup Language (HTML) à partir d'un autre format utilisé pour les documents appelé le SGML. Le WWW fonctionne en utilisant le concept d'hypertexte. À l'intérieur d'une page, il y a des mots clés ou des images qui ont des liens qui, lorsque vous cliquez dessus, vous amènent à une autre page Web.

    Cette "explosion" de popularité a commencé en 1995. Il y avait environ 70 millions de pages web sur le world wide web en 1996. Le chiffre était estimé à 200 millions de pages en 1997. En août 1999, le nombre dépassait le 800 millions de pages. En mars 2000, on passait à 1,5 milliards de pages. On parle aujourd'hui de plus de 8 milliards. L'une des raisons est la facilité de concevoir une page Web. Tous les logiciels de traitement de texte populaires peuvent maintenant convertir leurs documents en format de page Web (HTML). Mais, il y a aussi des logiciels spécialisés pour la conception qui sont encore plus puissant.

    Le format des fichiers de pages Web est appelé le format HTML pour Hyper Texte Markup Langage. Ce format est composé de codes pour les différentes options disponibles. Une instruction est toujours encadrée entre des <>. La majorité des commandes fonctionnent en pairs pour indiquer le début et la fin d'une option. Ces instructions sont presque identiques sauf que la commande de fin a le caractère "/" dans celle-ci. Par exemple, les commandes <P> et </P> indiquent le début et la fin d'un paragraphe. Aussi, les commandes <B> et </B> indique le début et la fin de la mise en gras (bold) des caractères entre ceux-ci. Il y a aussi des commandes qui fonctionnent seuls telles que <BR> pour terminer une ligne et commencer sur la ligne immédiatement en dessous.

    Le format HTML n'offre pas toutes les mêmes possibilités qu'un document Word ordinaire. Le niveau de contrôle de la présentation est limité. La présentation change selon la résolution de l'écran de l'ordinateur de l'usager. Sur les PC, les résolutions de l'écran les plus souvent utilisées sont de 640 par 480 pixels (points de lumière), 800 X 600 et 1024 X 768. Il y a même les résolutions 1200 X 1024 et 1600 X 1280 pour les écrans de 17, 19 et 21 pouces. Tout cela pour dire que le même texte va apparaître différemment selon la résolution choisie par l'utilisateur et non le concepteur.

    Une autre difficulté du format HTML est qu'il est loin d'être certain que la police de caractère que vous utilisez pour votre page Web soit disponible sur l'ordinateur du lecteur. Le système d'opération de l'ordinateur va substituer pour une police de caractères qui est disponible.

    2. Quelle est la différence entre une page Web et un site Web? [S 7..9]

    Une page Web est un fichier, comme celui-ci qui contient du texte, des images et des liens à d'autres pages. Un site Web est un regroupement de pages sur un sujet, un thème, un commerce, une organisation. Un site Web a aussi une page principale. C'est une page Web qui aide les lecteurs à naviguer sur le site pour trouver l'information voulue.

    Un site Web doit aussi être structuré. Comment une page Web est-elle reliée à une autre? Y a-t-il un ou plusieurs chemins ou parcours que les lecteurs peuvent utiliser pour naviguer à travers le site? Par exemple. Au début et à la fin de chaque page, il y a plusieurs boutons de navigation pour passer à la page précédente ou suivante.

    3. Différence entre un site web statique et un site web dynamique [S10]

    · Site statique : les pages du site ne sont pas modifiables par des utilisateurs. Le site est donc rempli et mis à jour par l'administrateur qui le fait depuis son poste de travail. Une fois le site mis à jour sur l'ordinateur de l'administrateur, celui-ci devra être envoyé sur le site via FTP. Le site est dit statique car les pages HTML qui le compose sont toujours identiques entre deux visites sans mise à jour. Le serveur donc n'a pas besoin de éléments de scripting.

    Site Web statique [Figure-3-]

    · Site dynamique : les pages du site qui le compose peuvent être modifiables par les visiteurs. De plus, entre deux visites sur un même site, le contenu de la page peut être différent sans action de l'administrateur du site Internet. Les grandes applications de ce type de site sont : les forums, les Wiki (Wikipédia étant le plus grand représentant du genre) et tous les sites communautaires (Facebook, Twitter, hi5, etc.). Le serveur qui fait

    fonctionner le site utilise une technologie de Scripting (comme PHP, Ruby, Python ou Perl) ainsi qu'une base de données comme MySQL.

    Site Web dynamique [Figure-4-]

    4. Quels avantages pour un site statique ? [S10]

    On vient de voir qu'un site statique possède beaucoup d'inconvénient : il faut s'y connaître en HTML pour le modifier et l'étape de mise à jour est fastidieuse. (pour résumer) Mais il faut aussi reconnaître au site statique des avantages dans plusieurs domaines :

    · le site internet est mis à jour en local sur la machine de l'administrateur : il n'y a donc pas de surprise une fois que le site est en ligne.

    · le site internet ne fait pas appel aux technologies en perpétuelles évolutions qui permettent la mise en place de sites dynamique (Php, Ruby, Python, Perl, Java, ASP, etc.) : on gagne donc en sécurité et en veille technologique.

    · le site internet statique consomme peu de ressource serveur : le site n'utilisant aucune technologie compliquée (au hasard : Php + MySql + Apache), les coûts d'entretien et de maintenance en activité sont très inférieurs à ceux d'un site dynamique.

    · le site internet statique se sauvegarde plus facilement : ceux qui ont déjà manipulé les bases de données MySQL utilisées pour la création de sites dynamiques savent que c'est une galère à sauvegarder et à restaurer. Le fait de disposer directement des pages HTML du site facilite la sauvegarde (un simple copier / coller sur une clé USB est c'est bon !).

    5. Quels avantages pour un site dynamique ? [S10]

    · de nombreux scripts gratuits existent déjà et permettent de réaliser tous les sites qu'on souhaite. Ainsi en téléchargeant le script (ou CMS : Content Management System) qui va bien, il sera très simple de créer un forum, un blog ou tout autre site.

    · La mise à jour est très simple : une fois le script dynamique en place, on met à jour le site en ligne dans la partie « administration » du site. On peut donc mettre à jour le site de n'importe quel ordinateur et même depuis certains téléphones mobiles (avec accès Internet naturellement)

    · Avec un site dynamique il est possible de réaliser une grande interaction avec les visiteurs : les visiteurs peuvent donc rester beaucoup plus longtemps sur vos pages si les fonctionnalités sont intéressantes.

    6. Quel type de site pour quelle utilisation ? [S11]

    On utilisera un site web statique pour une utilisation bien particulière. On utilisera ce fonctionnement pour un site web nécessitant peu de maintenance, peu de mise à jour et contenant peu de pages.

    En effet, comme la mise à jour d'un site Internet statique peut être fastidieuse, on utilisera ce type de site uniquement si les mises à jour sont exceptionnelles. Car, à chaque mise à jour il faudra modifier la page HTML du site et la mettre en ligne en effectuant une copie par FTP.

    On utilisera plutôt un site dynamique si on souhaite créer une interaction avec ses lecteurs. Le site dynamique permet de se connecter en ligne sur son site pour réaliser sa mise à jour en direct. Une fois la mise à jour du site dynamique effectuée, le résultat apparaît directement aux lecteurs. On privilégiera donc les sites web dynamiques pour les sites permettant aux visiteurs de laisser des commentaires (blogs) ou de converser avec d'autres lecteurs (forums). De même si le site doit être mis à jour très fréquemment (plusieurs fois par semaine) on pourra choisir de créer un site dynamique même si aucune interaction n'est prévue avec les visiteurs.

    Par exemple pour réaliser un site vitrine présentant les 10 produits vendus par une entreprise on pourra choisir :

    · Un site statique si les produits ne sont modifiés qu'une ou deux fois par mois et qu'un ou deux nouveaux produits sont ajoutés au catalogue chaque année.

    · Un site dynamique si on souhaite que les visiteurs ajoutent des commentaires sur les fiches produits et/ou qu'il faut modifier très souvent (ajout, suppression, modification) les fiches produits.

    Conclusion

    L'Internet est en effet un réseau de vigilance, alimenté par les associations, et les gouvernements, accessible à tous les citoyens (au moins dans les pays les plus développés), et qui peut en outre servir de source d'information pour les médias. Et dans ce chapitre, nous avons présenté le mécanisme de transport de l'information sur Internet et la différence entre un site statique et un site dynamique. Ainsi nous allons voir plus en détail dans les chapitres suivants, la présentation des concepts de base de langage de modélisation UML. Pour permettre une bonne lecture de ce qui va suivre et exprimer de manière uniforme l'analyse et la conception de notre magazine en ligne.

    UML ET UP

    Introduction

    La réalisation d'un site web doit être impérativement précédée d'une méthodologie d'analyse et de conception qui a pour objectif de permettre de formaliser les étapes préliminaires du développement d'un site afin de rendre ce développement plus fidèle aux besoins du client.

    La phase d'analyse permet de lister les résultats attendus, en termes de fonctionnalités.et La phase de conception permet de décrire de manière non ambiguë, le plus souvent en utilisant un langage de modélisation, le fonctionnement futur du système, afin d'en faciliter la réalisation.

    I. Présentation et justification du choix d'UML

    1. Définition [1]

    Unified Modeling Language est un langage unifié de modélisation objets. Ce n'est pas une méthode, il ne donne pas de solution pour la mise en oeuvre d'un projet. C'est avant tout un formalisme graphique issu de notations employées dans différentes méthodes objets.

    2. Historique [2 /5]

    UML est le résultat de la fusion de trois de méthodes d'analyse orientées objet : OOD, OMT et OOSE. La méthode OOD, Object Oriented Design, de G.Booch a été conçue à la demande du Ministère de la Défense des USA. L'objectif était de préparer de façon rigoureuse la structuration des programmes écrits en langage ADA ou C++.

    La méthode OMT, Object Modeling Technique, a été mise au point à General Electric. Ses auteurs ont puisé leur inspiration d'une part dans les langages a objets pour des applications d'informatique industrielle (automates, contrôle de processus...), d'autre part dans les techniques de modélisation conceptuelle des méthodes d'analyse des années 80.

    OMT représente un système comme un assemblage d'éléments auxquels on attache des comportements, c'est-à-dire des opérations pouvant être déclenchées a la réception d'un message envoyé par d'autres composants.

    La méthode OOSE, Object Oriented Software Engineering, est d'origine universitaire (informatique temps réel) et industrielle (Ericsson). Son originalité consiste à faire reposer l'analyse sur une expression par l'utilisateur de la façon dont il pense utiliser le futur système.

    Devant l'attentisme du marché face aux méthodes et aux AGL objets, la société Rational Software a réuni les auteurs principaux de ces trois méthodes pour qu'ils se mettent d'accord sur un langage de modélisation dans l'espoir qu'il devienne une référence. Sa réussite fut d'être retenue comme norme de modélisation par l'OMG, après avoir reçu le soutien de

    plusieurs grands constructeurs informatiques et éditeurs de logiciels. Ce langage a passé par différents stades et est encore en évolution.

    3. A quoi sert UML ? [S11]

    UML utilise l'approche objet en présentant un langage de description universel. Il permet grâce à un ensemble de diagrammes très explicites, de représenter l'architecture et le fonctionnement des systèmes informatiques complexes en tenant compte des relations entre les concepts utilisés et l'implémentation qui en découle.

    UML est avant tout un support de communication performant, qui facilite la représentation et la compréhension de solutions objet :

    · Sa notation graphique permet d'exprimer visuellement une solution objet, ce qui facilite la comparaison et l'évaluation de solutions.

    · L'aspect formel de sa notation, limite les ambiguïtés et les incompréhensions.

    · Son indépendance par rapport aux langages de programmation, aux domaines d'application et aux processus, en fait un langage universel.

    UML est donc bien plus qu'un simple outil qui permet de "dessiner" des représentations mentales... Il permet de parler un langage commun, normalisé mais accessible, car visuel.

    Il représente un juste milieu entre langage mathématique et naturel, pas trop complexe mais suffisamment rigoureux, car basé sur un métamodèle. Une autre caractéristique importante d'UML, est qu'il cadre l'analyse. UML permet de représenter un système selon différentes vues complémentaires : les diagrammes.

    4. Que ce qu'un diagramme UML ? [S11]

    Un diagramme UML est une représentation graphique, qui s'intéresse à un aspect précis du modèle ; c'est une perspective du modèle.

    Chaque type de diagramme UML possède une structure (les types des éléments de modélisation qui le composent sont prédéfinis) et véhicule une sémantique précise (il offre toujours la même vue d'un système).

    Combinés, les différents types de diagrammes UML offrent une vue complète des aspects statiques et dynamiques d'un système. Les diagrammes permettent donc d'inspecter un modèle selon différentes perspectives et guident l'utilisation des éléments de modélisation (les concepts objet), car ils possèdent une structure.

    Une caractéristique importante des diagrammes UML, est qu'ils supportent l'abstraction. Cela permet de mieux contrôler la complexité dans l'expression et l'élaboration des solutions objet.

    UML opte en effet pour l'élaboration des modèles, plutôt que pour une approche qui impose une barrière stricte entre analyse et conception. Les modèles d'analyse et de

    [UML ET UP]

    Chapitre2

     

    conception ne diffèrent que par leur niveau de détail, il n'y a pas de différence dans les concepts utilisés.

    UML n'introduit pas d'éléments de modélisation propres à une activité (analyse, conception.) le langage reste le même à tous les niveaux d'abstraction.

    Cette approche simplificatrice facilite le passage entre les niveaux d'abstraction. L'élaboration encourage une approche non linéaire, les "retours en arrière" entre niveaux d'abstraction différents sont facilités et la traçabilité entre modèles de niveaux différents est assurée par l'unicité du langage. Il s'agit d'une tâche très complexe, qui nécessite une approche itérative, car il est plus efficace de construire et valider par étapes, ce qui est difficile à cerner et maîtriser.

    C'est donc avec beaucoup d'intérêt que nous avons pris connaissance de cette proposition de notre encadreur à utiliser comme langage de modélisation UML.

    5. Avantages et inconvénients d'UML [3]

    · Les points forts d'UML UML est un langage formel et normalisé :

    Il permet le gain de précision, encourage l'utilisation d'outils et constitue à cet effet un gage de stabilité.

    UML est un support de communication performant :

    Il cadre l'analyse et facilite la compréhension de représentations abstraites complexes. Son caractère polyvalent et sa souplesse en font un langage universel.

    · Les points faibles d'UML

    La mise en pratique d'UML nécessite un apprentissage et passe par une période d'adaptation.

    Même si l'Espéranto est une utopie, la nécessité de s'accorder sur des modes d'expression communs est vitale en informatique. UML n'est pas à l'origine des concepts objets, mais en constitue une étape majeure, car il unifie les différentes approches et en donne une définition plus formelle.

    Le processus (non couvert par UML) est une autre clé de la réussite d'un projet. Or, l'intégration d'UML dans un processus n'est pas triviale et améliorer un processus est une tâche complexe et longue. Les auteurs d'UML sont tout à fait conscients de l'importance du processus, mais l'acceptabilité industrielle de la modélisation objet passe d'abord par la disponibilité d'un langage d'analyse.

    II. Modèles d'UML utilisés [4]

    Un modèle est une présentation simplifiée d'un problème. UML permet d'exprimer les
    modèles objets à travers un ensemble de diagrammes. Ces derniers sont des moyens de

    [UML ET UP]

    Chapitre2

     

    description des objets ainsi que des liens qui les relient. Et dans cette partie nous allons vous présenter les modèles d'UML utilisés.

    Les modèles UML

    MODELE

    USAGE

    NIVEAU D'UTILISATION (*)

     

    Activités Workflow, dynamique

    de fonctionnement.

    Classes et packages

    Objets Interrelation entres

    objets

    Cas d'utilisation

    Séquences Exemple de

    fonctionnement.

    Modèle conceptuel, modèle de données, organisation

    Expression des besoins

    5 Les plus utilisés

    2 Les diagrammes d'objets sont de plus en plus

    utilisés, mais modélisation des collaborations et des rôles reste encore marginale.

    3 Utilisation dépend des métiers. Il y a des

    domaines ou leur utilisation ne présente que peu d'intérêt

    3 Assez bien compris et employés, leur usage se

    répand.

    1 Dépend des habitudes de chaque entreprise ;

    utilisés surtout dans le tertiaire.

    (*) 5 les plus utilisés ... 1 les moins utilisés

    Modèle d'UML utilisés

    1. Diagrammes de cas d'utilisation [S 1..11]

    Ils décrivent les fonctionnalités employées par les utilisateurs. Il s'agit de la solution UML pour représenter le modèle conceptuel. Les cas d'utilisation (ou use cases en Anglais) permettent de structurer les besoins des utilisateurs et les objectifs correspondants d'un système.

    La sémantique

    Acteur

    entité externe au système qui interagit avec le système.

    Use case (cas d'utilisation)

    ensemble d''actions réalisées par le

    système, en réponse à une action d'un
    acteur.

    Relation d''utilisation (« include »)

    le cas d''utilisation source contient aussi le comportement décrit dans le cas d''utilisation destination.

    Relation d''extension («extends »)

    le cas d''utilisation source étend (précise) les
    objectifs (comportements) du cas

     

    [UML ET UP]

    Chapitre2

     

     

    d''utilisation destination.

    Package

    regroupe les éléments de modélisation

    suivant des crires purement logiques.

    Note ou documentation

    documente un élément du modèle.

     

    Les Eléments de la modélisation des Cas d'utilisation

    Exemple :

    Diagramme de Cas d'utilisation [Figure-1-] 2. Diagrammes de séquence [S 1..11]

    Ce diagramme permet de décrire les scénarios de chaque cas d'utilisation en mettant l'accent sur la chronologie des opérations en interaction avec les objets.

    La sémantique

    Scénario

    Représente une succession particulière

    d'enchaînements, s'exécutant du début à la fin du

    Documentaion

    cas d'utilisation, un enchaînement étant l'unité de description de séquences d'actions

    Ligne de vie

    Représente l'ensemble des opérations exécutées

    extend»

    par un objet

    Message

    Un message est une transmission d'information
    unidirectionnelle entre deux objets, l'objet

    émetteur et l'objet récepteur. Dans un
    diagramme de séquence, deux types de messages

    Use Case 3

    peuvent être distingués

    Message synchrone

    Dans ce cas l'émetteur reste en attente de la

     

     

    réponse à son message avant de poursuivre ses actions

    Message asynchrone

    Dans ce cas, l'émetteur n'attend pas la réponse à son message, il poursuit l'exécution de ses opérations

     

    Les Eléments de la modélisation des diagrammes de Séquences

    Exemple : La figure 5 montre une façon de décrire les interactions entre le guichetier et le système. On y voit clairement apparaître une séquence de messages.

    Diagrammes de séquence [Figure-2-] 3. Diagramme des Classes [S 1..11]

    Le diagramme de classes est le point central dans un développement orienté objet. En analyse, il a pour objectif de décrire la structure des entités manipulées par les utilisateurs. En conception, le diagramme de classes représente la structure d'un code orienté.

    La sémantique

    Une classe

    Représente la description abstraite d'un ensemble

    d'objets possédant les mêmes caractéristiques. On peut parler également de type

    Un objet

    Est une entité aux frontières bien définies, possédant
    une identité et encapsulant un état et un

    comportement. Un objet est une instance (ou
    occurrence) d'une classe

    Un attribut

    Représente un type d'information contenu dans une classe

    Une opération

    Représente un élément de comportement (un service) contenu dans une classe

     

    Une association

    Représente une relation sémantique durable entre deux classes

    Une superclasse

    Est une classe plus générale reliée à une ou plusieurs autres classes plus spécialisées (sous-classes) par une relation de généralisation. Les sous-classes« Héritent » des propriétés de leur superclasse et peuvent comporter des propriétés spécifiques supplémentaires

     

    Les Eléments de la modélisation des diagrammes de Classe

    Exemple :

    1-Le signataire de la carte bleue associée a un compte est l'un des titulaires de ce compte. 2-Une carte bleue est acceptée au moins dans tous les distributeurs appartenant aux consortiums de la banque correspondant au compte associé à la carte bleue.

    3-Un virement est possible entre deux comptes distincts si les banques correspondantes appartiennent à un même consortium.

    Diagramme de classe [Figure-3-] 5. Diagramme d'activité [S 1..11]

    Ce diagramme donne une vision des enchaînements des activités propres à une opération ou à un cas d'utilisation. Il permet aussi de représenter les flots de contrôle et les flots de données.

    La sémantique

     

    correspond à un traitement qui modifié l'état de
    système. L'enchaînement des actions constitue le
    flot de contrôle. Le passage d'une action à une

     

    Action

    autre est matérialisé par une transition. Les

    transitions sont déclenchées par la fin d'une action et provoquent le début d'une autre (elles sont automatiques)

    Activi

    représente le comportement d'une partie du

    système en termes d'actions et de transitions

     

    Les Eléments de la modélisation des diagrammes d'Activité

    Exemple :

    Diagramme d'Activité [Figure-4-]

    III. Le Processus Unifié (UP)

    1. Définition [6]

    Pour définir le processus unifié, nous allons simplement définir les deux termes qui le composent :

    · Processus : Suite continue d'opérations constituant la manière de fabriquer. En d'autres termes, c'est une succession de tâches dans le but d'accomplir un travail, un projet.

    · Unifié : Etre amené à l'unité, se fondre en un tout. En fait, les méthodes d'analyse et de conception orientées objet, étaient variées jusqu'à ce que Rambaugh, Jacobson et Booch eut l'idée de les unifier.

    2. Caractéristiques [S 11]

    D'après les auteurs d'UML, un processus de développement qui possède ces qualités devrait favoriser la réussite d'un projet. Cependant, dans le cadre de la modélisation d'une application informatique, les auteurs d'UML préconisent d'utiliser une démarche :

    -Itérative et incrémentale,

    -Guidée par les besoins des utilisateurs du système, -Centrée sur l'architecture logicielle.

    2.1 Une démarche itérative et incrémentale ?

    L'idée est simple : pour modéliser (comprendre et représenter) un système complexe, il vaut mieux s'y prendre en plusieurs fois, en affinant son analyse par étapes. Cette démarche devrait aussi s'appliquer au cycle de développement dans Le but est de mieux maîtriser la part d'inconnu et d'incertitudes qui caractérisent les systèmes complexes.

    2.2 Une démarche pilotée par les besoins des utilisateurs ?

    Avec UML, ce sont les utilisateurs qui guident la définition des modèles :

    - Le périmètre du système à modéliser est défini par les besoins des utilisateurs (les utilisateurs définissent ce que doit être le système).

    -Le but du système à modéliser est de répondre aux besoins de ses utilisateurs (les utilisateurs sont les clients du système).

    Les besoins des utilisateurs servent aussi de fil rouge, tout au long du cycle de développement (itératif et incrémental) :

    -A chaque itération de la phase d'analyse, on clarifie, affine et valide les besoins des utilisateurs.

    - A chaque itération de la phase de conception et de réalisation, on veille à la prise en compte des besoins des utilisateurs.

    -A chaque itération de la phase de test, on vérifie que les besoins des utilisateurs sont satisfaits.

    2.3 Une démarche centrée sur l'architecture ?

    Une architecture adaptée est la clé de voûte du succès d'un développement. Elle décrit des choix stratégiques qui déterminent en grande partie les qualités du logiciel (adaptabilité, performances, fiabilité...). Ph. Kruchten propose différentes perspectives, indépendantes et complémentaires, qui permettent de définir un modèle d'architecture.

    Les différentes Vues [Figure -10-] 3. Cycle de vie du processus [S 11]

    Le processus unifié se déroule en quatre phases, incubation, élaboration, construction et transition. Chaque phase répète un nombre de fois une série d'itérations. Et chaque itération est composée de cinq activités : capture des besoins, analyse, conception, implémentation et test.

    Cycle du vie du processus UP


    · Incubation:

    C'est la première phase du processus unifié. Il s'agit de délimiter la portée du système, c'est-à-dire tracer ce qui doit figurer à l'intérieur du système et ce qui doit rester à l'extérieur, identifier les acteurs, lever les ambiguïtés sur les besoins et les exigences

    nécessaires dans cette phase. Il s'agit aussi d'établir une architecture candidate, c'est à dire que pour une première phase, on doit essayer de construire une architecture capable de fonctionner. Dans cette phase, il faut identifier les risques critiques susceptibles de faire obstacles au bon déroulement du projet.

    · Elaboration :

    C'est la deuxième phase du processus. Après avoir compris le système, dégagé les fonctionnalités initiales, précisé les risques critiques, le travail à accomplir maintenant consiste à stabiliser l'architecture du système. Il s'agit alors de raffiner le modèle initial de cas d'utilisation, voire capturer de nouveaux besoins, analyser et concevoir la majorité des cas d'utilisation formulés, et si possible implémenter et tester les cas d'utilisation initiaux.

    · Construction :

    Dans cette phase, il faut essayer de capturer tous les besoins restants car il n'est pratiquement plus possible de le faire dans la prochaine phase. Ensuite, continuer l'analyse, la conception et surtout l'implémentation de tous les cas d'utilisation. A la fin de cette phase, les développeurs doivent fournir une version exécutable du système.

    · Transition :

    C'est la phase qui finalise le produit. Il s'agit au cours de cette phase de vérifier si le système offre véritablement les services exigés par les utilisateurs, détecter les défaillances, combler les manques dans la documentation du logiciel et adapter le produit à l'environnement (mise en place et installation).

    Conclusion

    En conclusion, UML est un outil précieux, mais, pour bien l'utiliser et en faire un instrument de lisibilité, il nous faut l'accompagner d'un mode d'emploi pour l'élaborer, il nous faut reprendre les questions dans la tradition du génie logiciel et suivre les démarches de conception et d'analyse :

    -Analyse de problème en utilisant processus unifié UP -Utilisation d'un langage de modélisation UML

    -Etude préalable, construction ainsi tests et mise au point

    Exigence fonctionnelles

    Introduction

    La réalisation d'un site dynamique (magazine en ligne) doit être impérativement précédée d'une méthodologie de conception permettant d'offrir une vision claire des différents éléments de l'application et de l'interaction entre ces derniers.

    Pour notre conception, nous allons utiliser UP (Unified Processus) qui est un processus de développement.

    I. Exigence fonctionnelle

    > Analyse fonctionnelle

    · La présentation générale du projet.

    · Le cahier des charges, qui permet de décrire et lister les fonctions primaires, secondaires et contraintes du système étudié.

    · Représentation des Cas d'utilisation.

    · Diagramme des classes métiers.

    1. Présentation générale du projet

    Le but à atteindre dans notre projet est la réalisation d'un site web pour un magazine en ligne (santé et bien-être) adressé aux lecteurs regroupant des contenus pluri médias issus de différentes sources (vidéos, photos, articles, dossiers, etc...) sur une thématique précise.

    2. Cahier des charges

    Tout Lecteur (internaute) : Il a la possibilité de consulter le magazine (afficher une liste d'articles dans une rubrique donnée, ouvrir un article), contacter l'administrateur, exporter les articles sous format PDF, partager les liens sur des réseaux sociaux (Facebook, Twitter, etc...), poster commentaire.

    Tout internaute Rédacteur: Peut remplir le formulaire d'inscription .Ainsi, gérer les articles (crée, modifier ou supprimer ses propres articles), comme il peut gérer les commentaires, gérer les médias, en passant par une authentification.

    L'Administrateur est responsable de la maintenance du site et de l'héberger a l'aide d'un logiciel FTP comme FILEZILA et faire la mise à jour des programmes (Template, applications,...etc.), il peut aussi gérer les rédacteurs (ajouter rédacteur, modifier leurs informations, réinitialiser leurs mot de passe, ou les supprimer), gérer les sections et les catégories, gérer aussi les articles, utilisateurs, contacts, ainsi gérer les medias on passant par une authentification.

    3. Spécification des exigences d'apr4s les cas d'utilisation

    L'expression préliminaire des besoins donne lieu a une modélisation par les cas d'utilisation, dans cette partie nous allons détailler la branche supérieure concernant la modélisation de cas d'utilisation.

    3.1 I

    En analysant les besoins exprimés dans le cahier des charges, nous avons déduit les acteurs ainsi que les cas d'utilisations tels que résumés dans le tableau suivant :

    Acteur

     

    Cas d'utilisation

     


    ·

    Consulter le magazine.

    Lecteur


    ·

    Exporter article.

     


    ·

    Partager un lien.

     


    ·

    Poster un commentaire.

     


    ·

    Gérer les articles.

    Rédacteur


    ·

    Remplir le formulaire d'inscription.

     


    ·

    Gérer les commentaires.

     


    ·

    Gérer les médias.

     


    ·

    S'authentifier (cas secondaire).

     


    ·

    Effectuer les mêmes opérations que le lecteur.

     


    ·

    Gérer rédacteurs.

    Administrateur


    ·

    Gérer catégorie.

     


    ·

    Gérer section.

     


    ·

    Gérer contact.

     


    ·

    S'authentifier (cas secondaire).

     


    ·

    Maintenir le site.

     


    ·

    Effectuer les mêmes opérations que les rédacteurs.

    Liste des acteurs et leur cas d'utilisation

    3.2 Modélisation des cas d'utilisations

    Diagramme de cas d'utilisation figure -1-

    3.3 Description détaillée

    Afin de détaillé le cahier des charges nous allons décrire chaque cas d'utilisation par une fiche.

    Format général d'une fiche descriptive

    Nom du cas d'utilisation

    Objectif du cas d'utilisation

    Liste des acteurs

    Action de début
    Scénario nominal, scénarios alternatifs, exceptions
    Fin

    3.3.1 Cas d'utilisation «consulter magazine en ligne»

    Un lecteur qui veut visiter le magazine en ligne doit établir une connexion.

    Consulter magazine en ligne

    Ce cas d'utilisation donne la possibilité a n'importe quel lecteur d'accéder au magazine

    Lecteur, Rédacteur, Administrateur

    Début : Entrer l'adresse URL du site

    En cours : l'internaute vas consulter le magazine, afficher les articles après avoir établie une

    connexion.

    sinon connexion non établi (Impossible d'afficher cette page).

    Fin : la fin de ce cas d'utilisation engendre deux possibilités, soit l'affichage de la page

    d'accueil du site, ou bien l'affichage d'une page de refus.

    Fiche descriptive «Consulter magazine»

    3.3.2 Cas d'utilisation «Exporter article»

    Exporter Article

    Ce cas permet a n'importe quel visiteur d'exporter des articles sous format pdf

    Lecteur, Rédacteur, Administrateur

    Début : le lecteur sélectionne l'article qu'il veut lire après avoir affiché la liste des articles. En cours : le lecteur exporte l'article après l'avoir lu. Sinon il quitte la page.

    fin : l'article a été exporté. Dans le cas contraire afficher le message d'erreur (réessayer).

    Fiche descriptive «Exporter article»

    3.3.3 Cas d'utilisation «Partager un lien»

    Partager un lien

    Ce cas permet a n'importe quel visiteur de partager le lien d'un article dans des réseaux
    sociaux (Facebook, Twitter, etc...)

    Lecteur, Rédacteur, Administrateur

    Début : le lecteur ouvre un article

    En cours : le lecteur partage le lien de cet article sur des réseaux sociaux. Sinon il quitte la

    page

    fin : le lien a été partagé Dans le cas contraire un message d'erreur vas s'afficher.

     

    Fiche descriptive «Partager un lien»

    3.3.4 Cas d'utilisation «Poster un commentaire»

    Poster un commentaire

    Ce cas ne permet pas a n'importe quel visiteur inscrit de poster des commentaires

    Lecteur, Rédacteur, Administrateur

    Début : le lecteur ouvre un article

    En cours : si le lecteur trouve l'article intéressant, il poste un commentaire. Sinon il quitte la

    page.

    fin : le commentaire a été posté. Dans le cas contraire afficher le message d'erreur.

     

    Fiche descriptive «Poster un commentaire»

    3.3.5 Cas d'utilisation «Remplir le formulaire d'inscription»

    Le visiteur peut s'inscrire au site en remplissant un formulaire d'inscription.

    Remplir le formulaire d'inscription

    S'inscrire au site permet a un visiteur d'avoir le ok de publier des articles dans le magazine
    après avoir obtenu la permission de l'administrateur en devenant rédacteur

    Rédacteur

    Début : Entrer les informations d'inscription (pseudo, nom, mot de passe).

    En cours : le système contrôle les informations fournies au clavier

    Si «conditions vérifier» alors enregistrement automatique de ce visiteur dans la base de données autant que rédacteur. Sinon message d'erreur.

    fin : un message d'erreur dans le cas oü le système n'acceptera pas le visiteur, dans le cas

    contraire un message de validation sera affiché.

    Fiche descriptive «Remplir le formulaire d'inscription»

    3.3.6 Cas d'utilisation «Gérer Article»

    Gérer article

    Ce cas d'utilisation permet d'ajouter, modifier et de supprimer des articles

    Rédacteur, Administrateur

    Début : le système affiche la page d'authentification.

    En cours : le rédacteur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle le rédacteur :

    Peut ajouter des articles qui convient au sujet, modifier ces propres article, et même de supprimer un de ces articles. Ainsi publier et dé-publier un article (dans l'accueil).

    Sinon le système affiche la page de refus (code incorrect).

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    rédacteur).

    Fiche descriptive «Gérer article»

    3.3.7 Cas d'utilisation «Gérer Commentaire»

    Gérer commentaire

    Ce cas d'utilisation permet aux utilisateurs de consulter les commentaires ou les supprimer
    comme il peut répondre aux lecteurs

    Rédacteur, Administrateur

    Début : le système affiche la page d'authentification.

    En cours : l'utilisateur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle l'utilisateur (Rédacteur ou Administrateur) :

    Peut consulter les commentaires des lecteurs comme il peut supprimer un commentaire qui lui déplait ou répondre aux lecteurs.

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    utilisateurs).

    Fiche descriptive «Gérer commentaire»

    3.3.8 Cas d'utilisation «Gérer Médias»

    Gérer médias

     

    Ce cas d'utilisation permet d'ajouter, de supprimer des médias (photos, vidéos)

    Rédacteur, Administrateur

    Début : le système affiche la page d'authentification.

    En cours : l'utilisateur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle l'utilisateur : Peut ajouter des médias comme photos ou vidéos, ainsi supprimer l'une d'elle. Sinon le système affiche la page de refus (code incorrect).

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    utilisateurs afin d'effectuer des taches).

    Fiche descriptive «Gérer médias»

    3.3.9 Cas d'utilisation «Gérer Catégorie»

    Gérer catégorie

    Ce cas d'utilisation permet d'ajouter, modifier et de supprimer des catégories

    Administrateur

    Début : le système affiche la page d'authentification.

    En cours : l'administrateur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle l'administrateur : Peut ajouter des catégories, les modifier, et même supprimer des catégories. Sinon le système affiche la page de refus (code incorrect).

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    administrateur).

    Fiche descriptive «Gérer catégorie»

    3.3.10 Cas d'utilisation «Gérer Section»

    Gérer section

    Ce cas d'utilisation permet d'ajouter, modifier et de supprimer des sections

    Administrateur

    Début : le système affiche la page d'authentification.

    En cours : l'administrateur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle l'administrateur : Peut ajouter des sections, les modifier, et même supprimer des sections.

    Sinon le système affiche la page de refus (code incorrect).

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    administrateur).

    Fiche descriptive «Gérer section»

    3.3.11 Cas d'utilisation «Gérer Rédacteur»

    Gérer rédacteur

    Ce cas d'utilisation permet d'ajouter, supprimer des rédacteurs et modifier leurs
    informations, aussi réinitialiser MDP rédacteur

    Administrateur

    Début : le système affiche la page d'authentification.

    En cours : l'administrateur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle l'administrateur :

    Peut ajouter des rédacteurs en acceptant ou refusant leurs inscriptions, peut modifier les informations des rédacteurs, et même les supprimer.

    Sinon le système affiche la page de refus (code incorrect).

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    administrateur).

    Fiche descriptive «Gérer rédacteur»

    3.3.12 Cas d'utilisation «Gérer Contacts»

    Gérer contacts

    Ce cas d'utilisation permet a l'administrateur de répondre aux lecteurs, aussi supprimer des
    contacts

    Administrateur

    Début : le système affiche la page d'authentification.

    En cours : l'administrateur saisi son code :

    Si le code est correct alors une page sera affichée dans laquelle l'administrateur :

    Peut répondre aux lecteurs en leur envoyant un e-mail, aussi de supprimer un contact. Sinon le système affiche la page de refus (code incorrect).

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page (interface

    administrateur).

    Fiche descriptive «Gérer contacts» 3.3.13 Cas d'utilisation «Maintenir le site»

    L'administrateur doit s'authentifier afin d'accéder a la base de données pour effectuer des modifications. L'administrateur est le responsable de la maintenance du site, d'héberger le site et faire la mise à jour des programmes (Template, applications).

    Maintenir le site

    Ce cas d'utilisation permet de modifier ou de mettre a jour le site

    Administrateur

    Début : l'hébergeur affiche la page d'authentification.

    En cours : l'administrateur saisi son code :

    Si le code est correct alors une page d'administrateur sera affichée dans laquelle

    l'administrateur :

    Peut éventuellement ajouter d'autres interfaces (modifier le design du site).

    Sinon l'hébergeur affiche la page de refus.

    fin : ce cas se termine soit par l'affichage d'une page de refus, soit la page d'accueil de

    l'administrateur (interface admin).

    Fiche descriptive «Maintenir le site»

    3.3.14 Cas d'utilisation «Authentification»

    Un rédacteur ou bien un administrateur qui existe dans la base de donnée doit entrer son nom et son mot de passe.

    Authentification

    Ce cas ne permet pas a n'importe quel visiteur de faire des modifications ou d'autre
    opérations dans le site

    Rédacteur, Administrateur

    Début : le système affiche le formulaire d'authentification (pseudo, mot de passe).

    En cours : le système contrôle les informations fournis au clavier. Si la condition est vérifiée

    alors accéder au site. Sinon message d'erreur.

    fin : Afficher les infos du site. Dans le cas contraire afficher le message d'erreur.

     

    Fiche descriptive «Consulter magazine»

    4. Elaboration du diagramme de classe métier

    La figure ci-dessous présente le diagramme des classes métier du projet « magazine en ligne » les méthodes n'ont pas été représentées. Les attributs des classes sont les mêmes indiqués dans la base de données.

    Diagramme de classes métiers figure -2-

    II. Analyse et conception

    1. Description et représentation des scenarios

    En général il n'est pas possible d'écrire tous les scénarios d'un cas d'utilisation, il faudra choisir les principaux scénarios nominaux et quelques exceptions.

    1.1 Diagramme de séquence «consulter magazine»

    Diagramme de séquence figure -3.1-

    1.2 Diagramme de séquence ((poster commentaire))

    Diagramme de séquence figure -3.2-

    1.3 Diagramme de séquence ((exporter article /partager un lien ))

    Diagramme de séquence figure -3.3-

    1.4 Diagramme de séquence «remplir le formulaire d'inscription ~

    Diagramme de séquence figure -3.4- 1.5 Diagramme de séquence «s'authentifier ~

    Diagramme de séquence figure -3.5-

    1.6 Diagramme de séquence «gérer article»

    Diagramme de séquence figure -3.6-

    Remarque : ce diagramme est valide aussi pour la gestion des médias et la gestion des contacts

    1.7 Diagramme de séquence «gérer rédacteur»

    Diagramme de séquence figure -3.7-

    1.8 Diagramme de séquence «gérer section»

    Diagramme de séquence figure -3.8

    Remarque : ce diagramme est valable pour la gestion des catégories et la gestion des contacts

    2. Diagramme d'Activité :

    2 .1 Diagramme d'activité «Partie Lecteur»

    Diagramme d'activité figure -4.1-

    2.2 Diagramme d'activité «Partie Rédacteur~

    Diagramme d'activité figure -4.2-

    2 .3 Diagramme d'activité «Partie Administrateur~

    Diagramme d'activité figure -4.3-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3. Diagramme de classe participante

    Le chainon manquant de notre démarche s'appelle le diagramme de classe

    participante(DCP). Il s'agit de diagramme de classe UML qui décrivent par cas d'utilisation, les principales classes d'analyse et leurs relations.

    3.1 Partie analyse

    3.1.1 Diagramme de classe d'analyse «S'authentifier»

    Diagramme de classe d'analyse figure -5.1.1-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.2 Diagramme de classe d'analyse «gérer article))

    Diagramme de classe d'analyse figure -5.1.2-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.3 Diagramme de classe d'analyse «gérer catégorie»

    Diagramme de classe d'analyse figure -5.1.3-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.4 Diagramme de classe d'analyse «gérer section))

    Diagramme de classe d'analyse figure -5.1.4-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.5 Diagramme de classe d'analyse «gérer commentaire~

    Diagramme de classe d'analyse figure -5.1.5-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.6 Diagramme de classe d'analyse «gérer media»

    Diagramme de classe d'analyse figure -5.1.6-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.7 Diagramme de classe d'analyse «gérer rédacteur»

    Diagramme de classe d'analyse figure -5.1.7-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.8 Diagramme de classe d'analyse «gérer contact))

    Diagramme de classe d'analyse figure -5.1.8-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.1.9 Diagramme de classe d'analyse «afficher article»

    Diagramme de classe d'analyse figure -5.1.9-

    3.1.10 Diagramme de classe d'analyse «ouvrir article»

    Diagramme de classe d'analyse figure -5.1.10-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3 .1.11 Diagramme de classe d'analyse globale

    Diagramme de classe d'analyse figure -5.1.11-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2 Partie conception

    3.2.1 Diagramme de classe de conception «s'authentifier»

    Diagramme de classe de conception figure -5.2.1-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.2 Diagramme de classe de conception «gérer articles»

    Diagramme de classe de conception figure -5.2.2-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.3 Diagramme de classe de conception «gérer catégorie»

    Diagramme de classe de conception figure -5.2.3-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.4 Diagramme de classe de conception «gérer section»

    Diagramme de classe de conception figure -5.2.4-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.5 Diagramme de classe de conception «gérer commentaire»

    Diagramme de classe de conception figure -5.2.5-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.6 Diagramme de classe de conception «gérer media»

    Diagramme de classe de conception figure -5.2.6

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.7 Diagramme de classe de conception «gérer rédacteur»

    Diagramme de classe de conception figure -5.2.7-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.8 Diagramme de classe de conception «gérer contact»

    Diagramme de classe de conception figure -5.2.8-

    [ANALYSE ET CONCEPTION]

    Chapitre3
    partie 2

    3.2.9 Diagramme de classe de conception «afficher article»

    Diagramme de classe de conception figure -5.2.9- 3.2.10 Diagramme de classe de conception «ouvrir article»

    Diagramme de classe de conception figure -5.2.10-

    3 .2.11 Diagramme de classe de conception globale

    Diagramme de classe de conception figure -5.2.11-

    Conclusion

    Ce chapitre a été consacré à la conception. Après avoir effectué une étude préliminaire, passant par les étapes du processus de développement UP en faisant appel aux diagrammes d'UML. Et dans le chapitre suivant nous allons passer a l'étape d'implémentation de notre magazine en ligne.

    Implémentatzón '

    Introduction

    A ce stade du processus, les cas d'utilisation sont terminés, le problème a été analysé en profondeur .Nous avons défini une conception mieux appropriée aux besoins de l'application. Nous pouvons alors entreprendre la dernière activité du Processus Unifié qu'est de même composé de deux parties (implémentation et test), ayant comme objectif d'aboutir à un produit final, exploitable par les utilisateurs. Dans cette phase nous allons présenter les outils de développement que nous avons utilisé, l'architecture matérielle mise en place, implémenter tous les cas d'utilisation, et enfin les tester.

    I. L'arborescence du site :

    L'arborescence d'un site représente les différentes pages de celui-ci, organisées logiquement et hiérarchiquement sous forme d'un arbre. La première page doit être la page d'accueil (la racine), et les autres pages apparaissent en suite dans un ordre logique.

    L'arborescence aide l'internaute a comprendre la structure du site. La consultation et la mémorisation des pages seront ainsi plus faciles, rapide et efficace.

    Apres avoir fait la nomenclature des contenus du site et les regrouper par thématique nous avons pu distinguer les diverses sections de ce dernier.

    Dès lors que les principales sections sont identifiées, nous avons déterminé leurs organisations et leur découpage en catégorie.

    La structure que nous avons donné a notre site a permis d'organiser les données en gardant ses objectifs, elle a était choisi afin de faciliter la navigation dans le site.

    [IMPLEMENTATION]

    Chapitre4

    1. Partie Lecteur :

    [IMPLEMENTATION]

    Chapitre4

    1. Partie Administrateur/Rédacteur:

    [IMPLEMENTATION]

    Chapitre4

    II. Choix des outils de développement

    Le développement d'un site web dynamique demande l'inclusion de script et de code pour garantir le dynamisme des pages et la liaison avec la base de données.

    1. Le langage de programmation : PHP5

    Pour réaliser notre site, nous avons utilisé le langage de programmation PHP dédié à la création des applications web dynamique, celui-ci nous l'avons manipulé dans un environnement de développement intitulé PHP5 qui est un langage de script libre, très puissant, rapide et principalement exécuté par le compilateur php. Un script PHP est multiplateforme, très bon support des bases de données (Oracle, Microsoft, MySQL).

    2. Autres outils

    JavaScript : c'est un langage de programmation qui est inclue dans le code HTML. Il permet d'apporter des améliorations au langage HTML en permettant d'exécuter des commandes.

    Les outils de développement web : HTML (HyperText Markup Langage), CSS (Cascade Style Sheet) seront aussi utilisés pour réaliser les interfaces du site. Ainsi Apache HTTP Server, souvent appelé Apache, est un logiciel permettant à des utilisateurs d'accéder à des pages web.

    3. Choix du SGBD : MySQL

    MySQL (My Structured Query Language) est un Système de Gestion des Bases de données (SGBD) Open Source très rapide, robuste et multiutilisateur. Le serveur MySQL supporte le langage de requêtes SQL, langage standard de choix des SGBD modernes. Il est facilement accessible en réseaux et supporte des connexions sécurisées grâce au protocole SSL. La portabilité du serveur MySQL lui permet de s'exécuter sur toutes les plateformes et d'être intégré à plusieurs serveurs web.

    4. Serveur utilisé : WampServer 2.2D

    WampServer est une plateforme de développement Web de type WAMP, permettant de faire fonctionner localement (sans se connecter à un serveur externe) des scripts PHP. WampServer n'est pas en soi un logiciel, mais un environnement comprenant deux serveurs (Apache et MySQL), un interpréteur de script (PHP), ainsi qu'une administration pour les deux bases SQL PhpMyAdmin et SQLiteManager.

    WampServer 2.2D

    [IMPLEMENTATION]

    Chapitre4

    III. Conception de la base de données

    1. Les tables de la base de données

    La base de données du site doit en principe contenir 8 tables :

    Base de données (base_mag)

    1.1 La table Section

    Cette table stocke les informations des sections ,elle contient 10 champs ( idsection avec le type de valeur int : c'est une clé primaire (identification),nom avec le type de valeur varchar(45) :nom de la section ,pub_section avec le type de valeur tinyint(1) : stocké la valeur 1 pour publier et 0 pour dépublier la section , orderS avec le type de valeur tinyint(2) :ordonner la section, alias_s avec le type de valeur varchar(255) : stocké l'alias de url récriture de la section, key_section avec le type de valeur text :pour les mots clés de chaque section pour les référencements des moteurs de recherche, desc_section avec le type de valeur longtext : stocké la description pour le référencement de la section dans les moteur de recherche , last_vistS avec le type de valeur datetime : la dernier fois qu'ils ont visiter tels section , nb_vistS avec le type de valeur int : nombre de visiteurs) (dateCS avec le type de valeurs datetime : mettre les sections supprimés dans la corbeille.

    Table Section

    1.2 La table Catégorie

    Cette table stocke les catégories de la sections , elle contient 11 champs ( idcatégorie avec le type de valeur int : c'est une clé primaire (identification), idsection avec le type de valeur int : c'est une clé secondaire pour faire la jointure avec la table section, nom_catégorie avec le type de valeur varchar(45) :nom de la catégorie ,pub_catégorie avec le type de valeur tinyint(1) : stocké la valeur 1 pour publier et 0 pour dépublier la catégorie, orderC avec le type de valeur tinyint(2) :ordonner la catégorie, alias_C avec le type de valeur varchar(255) : stocké l'alias de url récriture de la catégorie, key_ catégorie avec le type de valeur text :pour les mots clés de chaque catégorie pour les référencements des moteurs de recherche , desc_catégorie avec le type de valeur longtext : stocké la description pour le référencement de la catégorie dans les moteur de recherche , last_vistC avec le type de valeur datetime : la dernier fois qu'ils ont visiter tels catégorie , nb_vistC avec le type de valeur int : nombre de visiteurs) (dateCC avec le type de valeurs datetime : mettre les catégories supprimés dans la corbeille.

    Table catégorie

    1.3 La table Article

    Cette table stocke les articles, elle contient 18 champs ( idarticle avec le type de valeur int : c'est une clé primaire (identification), idcatégorie avec le type de valeur int : c'est une clé secondaire pour faire la jointure avec la table catégorie , idsection avec le type de valeur int : c'est une clé secondaire pour faire la jointure avec la table section, titre avec le type de valeur varchar(150) :le titre de l'article ,pub_ article avec le type de valeur tinyint(1) : stocké la valeur 1 pour publier et 0 pour dépublier l' article, introarticle avec le type de valeur Mediumtext : l'introduction de l'article, contenu avec le type de valeur longtext : contenu de l'article, créer_par avec le type de valeur varchar(45) : l'éditeur de l'article, modifier_par avec le type de valeur varchar(45) : un champs pour stocké un autre éditeur ou bien le même éditeur , date_de_creation avec le type de valeur datetime :la date de la création de l'article, date_de_modification avec le type de valeur datetime : la date de la modification de l'article, orderA avec le type de valeur tinyint(2) :ordonner l' article, alias_A avec le type de valeur varchar(255) : stocké l'alias de url récriture de l' article, key_ article avec le type de valeur text :pour les mots clés de chaque article pour les référencements des moteurs de recherche , desc_ article avec le type de valeur longtext : stocké la description pour le référencement de l' article dans les moteur de recherche , last_vistA avec le type de valeur datetime : la dernier fois qu'ils ont visiter tels article, nb_vistA avec le type de valeur int : nombre de visiteurs) (dateCA avec le type de valeurs datetime : mettre les articles supprimés dans la corbeille) .

    Table article

    1.4 La table FrontPage

    Cette table stocke les articles de la page d'accueil, elle contient 3 champs (idfrontpage avec le type de valeur int : c'est une clé primaire (identification), idarticle avec le type de valeur int : c'est une clé secondaire pour faire la jointure avec la table article, orderArt avec le type de valeur tinyint(2) : ordonner la page).

    Table frontpage

    1.5 La table Media

    Cette table stocke les images, les sons ,les vidéos, les fichiers flash, elle contient 5 champs(idmedia avec le type de valeur int : c'est une clé primaire (identification) , idarticle avec le type de valeur int : c'est une clé secondaire pour faire la jointure avec la table article pour relier chaque article au plusieurs media, nom_media avec le type de valeur varchar(45) : le nom du media, type avec le type de valeur varchar(45) : stocké les médias soit sons, vidéo, images, lien avec le type de valeur text : la source des fichiers medias ).

    Table media

    1.6 La table Comment

    Cette table stocke les commentaires ,elle contient 8 champs(idcomment avec le type de valeur int : c'est une clé primaire (identification), idarticle avec le type de valeur int : c'est clé secondaire pour faire la jointure avec la table article , iduser avec le type de valeur int : c'est clé secondaire pour faire la jointure avec la table user pour afficher le nom du rédacteur ou bien l'administrateur , nomComment avec le type de valeur varchar(60) : stocké le nom du visiteur commenté, commentaire avec le type de valeur text : stocké le contenu des commentaire, dateComment avec le type de valeur datetime : la date du commentaire, pub_comment avec le type de valeur tinyint(1) : stocké la valeur 1 pour publier et 0 pour dépublier le commentaire, orderComment avec le type de valeur int : ordonner les commentaires).

    Table comment

    1.7 La table User

    Cette table stocke les informations de l'administrateur et du rédacteur ,elle contient 5 champs(iduser avec le type de valeur int : c'est une clé primaire(identification), user_name avec le type de valeur varchar(20) : stocké le pseudo pour l'identification, mot_de_passe avec le type de valeur varchar(12) : stocké le mot de passe pour l'identification, type avec le type de valeur varchar(45) : stocké le type de candidat es que administrateur ou rédacteur, e_mail_user avec le type de valeur varchar(45) : pour l'information de la communication).

    Table user

    1.8 La table contact

    Cette table stocke les contacts, elle contient 5 champs(idconatact avec le type de valeur int : c'est une clé primaire(identification) , nom avec le type de valeur varchar(25) :le nom du contact, sujet avec le type de valeur varchar(50) : sujet du conatct, e_mail avec le type de valeur varchar(20) : email du contact, message avec le type de valeur text : le contenu du contact).

    Table contact

    IV. Description de l'application

    1. Description général

    L'application est un site web, l'exécution se fait par l'accès a la page principale, c'est la page d'accueil qui est réservée aux visiteurs, elle contient des interfaces faciles a manipuler. L'organisation des pages est réaliser en utilisant les tables et les feuilles de style CSS.

    2. Description des pages du site

    2.1 Page d'accueil

    Elle contient la charte graphique et un moteur de recherche.

    La charte graphique

    La barre de menu contient des boutons.

    Barre de menu

    Le corps du site contient des articles, des photos, et un ensemble de pub.

    Interface du site

    2.2 Page Inscription

    Elle contient un formulaire d'inscription dans lequel n'importe quel visiteur peut s'inscrire pour devenir rédacteur afin de publier des articles.

    Page d'inscription

    2.3 Page Authentification

    L'utilisateur (Administrateur / Rédacteur) doit s'authentifier pour effectuer des opérations.

    Page d'authentification

    2.4 Page d'administrateur

    Elle contient une barre de menu, un tableau d'affichage, bouton de suppression et un bouton de publication.

    Page d'administrateur

    V. Quelque exemple de code source

    1. Code Connexion

    <?php

    // Se connecter au serveur

    $connexion = mysql_connect ($host,$user,$password);

    mysql_select_db ($base,$connexion);

    // Se connecter avec l'encodage utf8 pour lire les caractères français $charset = 'SET NAMES utf8';

    mysql_query ($charset) or die ( mysql_error($charset));

    ?>

    2. Code Index du site (Page d'accueil)

    <html xmlns=" http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <?php

    require 'Dispatcher.php';

    ?>

    <title><?php echo $title; ?></title>

    <meta name="keywords" content="<?php echo $key; ?>" />

    <meta name="description" content="<?php echo $disc; ?>" />

    <link href="style/style.css" rel="stylesheet" type="text/css" />

    <?php echo $javascript; ?>

    </head> <body> <div id="header">

    <div id="image-header"><img src="img/logo-sante.png" width="350" height="150" /></div>

    <form action="site.php" method="get"><div id="recherche"><div id="teterecherche"></div><div id="texte-recherche"><input name="recherche" type="text" /></div><div id="bouton"><a href=""><img src="img/btn-go.gif" width="14" height="15" border="0" /></a></div></div></form>

    </div>

    <div id="menuhtc"><?php echo $menu; ?></div><p class="inscription"><a href="inscriptionredacteur.html">inscriver vous</a></p>

    <div id="left"><?php // echo $topArt; ?></div>

    <div id="centre"><?php echo $contenu; ?></div> <div id="right">

    </div> </body> </html>

    3. Partie du code Index (Partie Administrateur)

    if(isset($_POST['user']) && isset($_POST['mdp'])){

    // DS constant slash pour windows antislash pour linux DIRECTORY_SEPARATOR = variable environment

    define('DS',DIRECTORY_SEPARATOR); require '..'.DS.'Dispatcher.php';

    $user = new user();

    $donne = $user->findUser();

    foreach ($donne as $um){

    if($_POST['user'] != $um['user_name'] || $_POST['mdp'] != $um['mot_de_passe'] || $um['type'] != 'Administrateur'){

    // fermer la session et la redirigée vers index.php avec un message d'erreur session_destroy();

    header('location: index.php?message=Erreur...!!!');

    //sortie de la boucle

    break;

    }

    4. Partie du code Index 2 (Administrateur) </head>

    <body>

    <div id="header">

    <?php

    echo '<p class="bonjour" >Bonjour '.$_SESSION['username'].'</p>';

    ?>

    <p><a href="deconnexion.php">Déconnexion</a></p> </div>

    <div id="nav">

    <ul>

    <li><a href="index2.php?c-panel">C-Panel</a></li> <li><a href="index2.php?section=1">Sections</a></li>

    <li><a href="index2.php?categorie=1">Categories</a></li> <li><a href="index2.php?article=1">Article</a></li>

    <li><a href="index2.php?commentaire=1">Commentaire</a></li>

    <li><a href="index2.php?media=1">Media</a></li>

    <li><a href="index2.php?contact=1">Contact</a></li> <li><a href="index2.php?Utilisateur=1">Utilisateur</a></li> </ul>

    </div>

    <div id="content">

    Partie du code View

    // Publier les articles dans la page d'accueil if ( isset ($_GET [ 'actfp'])){

    $idart = $_GET [ 'actfp'];

    $tabfp = $frontPage->findFrontPage(array('conditions'=>'orderArt=(SELECT Max(orderArt) FROM frontpage)'));

    $rows = $frontPage->rows;

    if($rows == 0){

    $datafp = array('articleid'=>$idart,'orderArt'=>1); $frontPage->saveFrontPage($datafp); header('location:index2.php?article='.$_GET['article']);

    }

    foreach($tabfp as $fp){

    $orderfp = $fp['orderArt']+1;

    $datafp = array('articleid'=>$idart,'orderArt'=>$orderfp); $frontPage->saveFrontPage($datafp);

    $artpage = $_GET['article']; header('location:index2.php?article='.$artpage);

    }

    }

    Partie du code Section

    // fonction pour afficher le page section

    public function findSection($data=array()){

    $conditions = "1=1";

    $fields = "*"; $limit = " ";

    $order = "orderS ASC";

    $max = " ";

    if(isset($data['conditions'])){$conditions = $data['conditions'];} if(isset($data['fields'])){$fields = $data['fields'];}

    if(isset($data['limit'])){$limit = $data ['limit'];}

    if(isset($data['order'])){$order = $data ['order'];}

    if(isset($data['max'])){$order = $data ['max'];}

    $sql = "SELECT " .$fields. " FROM section " .$max." WHERE " .$conditions." ORDER BY "

    .$order." ".$limit." ";

    $req = mysql_query ($sql) or die (mysql_error());

    7. Code Inscription

    if(isset($_GET['inscription'])){

    if($_GET['inscription'] == 'redacteur' ){

    $this->contenu = '<form id="from" name="inscrie" action="inscription-valide.html"

    method="POST" enctype="application/x-www-form-urlencoded">

    <table align="left" width = "100%">

    <tr> <td>Nom:</td>

    <td><input id="text" name="nom" type="text" /></td>

    </tr>

    <tr> <td>Prenom:</td>

    <td><input id="text" name="prenom" type="text" /></td>

    </tr>

    <tr> <td>Pseudo:</td>

    <td><input id="text" name="user_name" type="text" /></td>

    </tr>

    <tr>

    <td>Mot de passe:</td>

    <td><input id="text" name="mot_de_passe" type="password" /></td>

    </tr> <tr>

    <td>Vérifier mot de passe:</td>

    <td><input id="text" type="password" /></td>

    </tr> <tr>

    <td>Email:</td>

    <td><input id="text" name="email" type="text" /></td>

    </tr> <tr>

    <td>date de naissence:</td>

    <td><input id="text" name="date_naissence" type="text" /></td>

    </tr> <tr>

    <input type="hidden" name="date_insc" value="'.date('y-m-d G:i:s').'" />

    <input type="hidden" name="act_dact" value="2" />

    <td colspan="2" align="center"><input id="bouton" type="submit" value="Inscrie" /></td> </tr>

    </table>

    </form>';

    }

    if($_GET['inscription'] == 'erreur'){

    $this->contenu = '<div id ="erreur-vide">

    <h3>remplir les champs !!!</h3>

    <p id="retour"><a href="inscription-redacteur.html">Retour</a></p>

    </div>';

    if($_GET['inscription'] == 'valide' ){

    if(isset($_POST)){ $user->saveUser($_POST);

    $id = $user->id;

    $redacteur = $user->findUser(array('conditions'=>'iduser = '.$id.' '));

    foreach ($redacteur as $red){

    $this->contenu = $red['iduser'];

    } } } }

    2. Code Déconnexion

    <?php

    //ouvrir une session

    session_start();

    // effacer les variable de session

    session_unset();

    // fermer la session session_destroy(); header('location:../index.php');

    Conclusion :

    Dans ce chapitre, nous avons décrit brièvement le processus de réalisation de notre application en spécifiant l'environnement de développement, l'implémentation de la base des données et la démarche suivie pour la réalisation. En effet, nous avons achevé l'implémentation et les tests de tous les cas d'utilisation, tout en respectant la conception élaborée. En d'autres termes, nous détenons la version finale du logiciel, installée dans notre environnement de développement.

    Conclusion Générale

    Ce projet de fin d'étude consiste a réaliser un site web dynamique pour un magazine en ligne.

    Au cours de ce mémoire, nous avons présenté les différentes étapes de la conception et la réalisation de notre application.

    Afin de satisfaire les besoins des utilisateurs nous avons commencé la conception en utilisant le formalisme UML et UP et la mise en oeuvre des bases de données avec le gestionnaire de bases de données MYSQL ensuite l'implémentation des requêtes SQL pour la manipulation des données et enfin la concrétisation de l'application sous l'environnement de programmation PHP.

    Ce projet a fait l'objet d'une expérience intéressante, qui nous a permis d'améliorer nos connaissances et nos compétences dans le domaine de la programmation. Nous avons appris à mieux manipuler les langages PHP, HTML, MYSQL et Java Script.

    Ainsi à travers ce site web nous pourrons gérer ces activités par le monde et offrir à cette structure une chance de s'imposer et d'entrer de plein pied dans le monde compétitif de la communication en mettant en ligne le site web sur un hébergeur pour matérialiser sa consultation par des milliers d'internautes.

    En effet, ce travail étant une oeuvre humaine, n'est pas un modèle unique et parfait, c'est pourquoi nous restons ouverts à toutes les critiques et nous sommes prêts à recevoir toutes les suggestions et remarques tendant à améliorer d'avantage cette étude. Etant donné que tout travail informatique a été toujours l'oeuvre d'une équipe.

    Bibiographie

    N° page

    [1] : Dominique Vauquier "Vers un monde lisible»

    [2] : Chantal Morley "Clés d'accês à UML»

    [3] : Laurent Piechocki/ Frédéric Di Gallo " Cours UML»

    [4]: Benoît Charroux/ Aomar Osmani / Yann Thierry-Mieg "Modèles UML»

    [5] : Alexandre Brillant "Introduction à UML»

    [6] : Violaine Louvet "Processus Unifié »

    Ressources utilisées

    1/ http:// www.Lgl.isnetne.ch

    2/ http://UML.free.fr

    3/ http://Laurent-piechoki.developpez.com/tutoriel/Lp/cours/

    4/http://ww.OMG.org/

    5/ http://ww.site du zéro.fr/

    6/ http://en.wikipedia.org/wiki/Unified Modeling Language/

    7/ http://www.lecompagnon.info/internet/

    8/ http://www.lecompagnon.info/internet- courte histoire

    9/ http://info.sio2.be/infobase/9/5.php 10/ http://www.ventsolaire.net/articles/47/Fonctionnement-d-un-site-web.html 11/ http://www.memoireonligne.com






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je ne pense pas qu'un écrivain puisse avoir de profondes assises s'il n'a pas ressenti avec amertume les injustices de la société ou il vit"   Thomas Lanier dit Tennessie Williams