SOUTENANCE PUBLIQUE
DIPLÔME UNIVERSITAIRE DE TECHNICIEN
MISE EN PLACE D’UNE SOLUTION WEB EN PHP
Armel Roland DIAMESSO
IHEM...
Introduction
 Afin de valider concrètement ma formation par alternance en Informatique
de gestion, option Génie Informati...
Mise en place d’une solution web en PHP
CHATTOON : mon application web
exemplaire
 À la fin de mon stage, j’ai élaboré une solution web complète, pour
l’agence M...
Présentation de Chattoon
 Le Chattoon est un site web dynamique. Il met en scène les éléments
classiques attendus pour to...
Description du Chattoon
 Chattoon est une plateforme de partage en interne, une sorte d’intranet de
l’agence. Il offre l’...
Objectifs du Chattoon
 accès sécurisé : authentification à l’espace membre
 Délivrance d’information intègre: publicatio...
Ebauche de solution
 Préparation de l’application
 Outils: méthode, langage et application
Méthode d’étude: MERISE
 Merise est une méthode d’analyse qui permet de concevoir et
développer des systèmes d’informatio...
Conception de la base de données
 Chattoon est un système qui manipulera plusieurs données, il faut donc
assurer la sauve...
Modèle de données de Chattoon
 Construire un modèle de données, c’est mettre à plat et décrire
toutes les informations qu...
Modèle conceptuel de données
Pour élaborer le modèle conceptuel de données, il faut
d’abord dégager les différentes entité...
Modèle physique de données
 Notre choix étant fait pour le type de stockage (un SGBD relationnel),
nous pouvons transform...
Outils
 Langages: HTML, CSS, Javascript, PHP
 Application: SublimText, WAMPSERVER
Bootstrap
 Bootstrap est un Framework côté client, spécialisé en CSS, permettant à
organiser le code informatique pour la...
PHP
 Langage de programmation web, permettant de développer des sites web
dynamiques, particulièrement lorsqu’ils sont re...
WAMPSERVER
 WampServer est une plate-forme de développement Web sous Windows pour des
applications Web dynamiques regroup...
Sublime Text
 Sublime Text est un éditeur de texte générique codé en C++ et Python, disponible sur
Windows, Mac et Linux....
PDO: PHP Data Object
PDO
 Extension PHP permettant de travailler de façon unifiée peut importe le SGBD
 PDO est un socle commun pour les conn...
Architecture PDO
PHP PDO
PDO
SQL Serveur
PDO
Postgré
PDO
Oracle
PDO
MySQL MySQL
PHP et les base de données
Connexion au SGBD
Sélection de la base de données
Elaboration des requêtes
Exploitation des rés...
Fichier de connexion
<?php
define('USER', 'root');
define('PASS', '');
define('DSN', 'mysql:host=localhost;dbname=publicat...
Gestion d’erreurs
 Par défaut, PDO utilise le mode silencieux ; les erreurs sont cependant
stockées et consultables en fa...
Exemple
 <?php
 $sql='SELECT * FROM articles ORDER BY date_pub DESC LIMIT 0,9;';
 $Error_info = $cnx->errorInfo();
 $s...
Exploitation
Hébergement
 Demande de nom de domaine chez l’ACNIC (Agence Congolaise de Nommage
Internet du Congo).
 http://www.mag-sy...
Olympe
 Plateforme d’hébergement libre.
 http://mag-sys.olympe.in
Démonstration
 Pour des raisons de connexion, l’application sera démontré en local.
Fin de l’exposé
 Merci à tous !
Prochain SlideShare
Chargement dans…5
×

Mise en place du Chattoon en PHP

283 vues

Publié le

Soutenance publique - DUT

Publié dans : Logiciels
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
283
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Je suis Armel Roland DIAMESSO, étudiant à IHEM – ISTI en Informatique de gestion option Génie Logiciel.
    Je fais face à vous ce matin pour défendre mon thème par le biais de mon rapport de stage, passé au sein de MAG-SYS.
  • Ce qui m’a permis de mettre en place une solution web afin de concrétiser mon apprentissage.
  • Ainsi pour illustrer mes connaissance sur PHP et les possibilités offertes par son modèle objet sur le web, j’ai élaboré une solution web dynamique
    Pour le service interne du MAG – SYS, un système de partage en interne j’ai nommé CHATTOON.
  • L’objet de cette solution est la publication d’articles et évènements, ainsi que la messagerie
    interne.
    Le Chattoon représente le prototype même du site dynamique.
    Il met en scène les éléments classiques attendus pour tout service web
    professionnel :
     création de sessions personnalisées ;
     accès à des services réservés ;
     délivrance d’informations ;
     parcours d’un catalogue.
  • Chattoon est une plateforme de partage en interne. Il offre la possibilité aux agents de la structure de
    publier des articles, de partager des fichiers et de se faire des mails. Le système n’est pas très éloigné des principes d’un blog sur
    internet, mais contrairement au blog, le Chattoon est ouvert à plusieurs utilisateurs d’un même cercle
    Qui se partagent des informations. Et seul les membres de ce cercle ont accès à ces services.
  • Cela dit, chaque agent devra créer un compte sur la plateforme, qui lui permettra de se connecter à chaque visite et
    de se créer un profil qui va permettre à d’autres agents de l’identifier dans
    l’annuaire de l’entreprise.
    Chaque visiteur s’identifie à son arrivée à partir d’un login, ce qui lui permet
    d’accéder aux services de la plateforme. Une fois connecté, les différents
    utilisateurs vont pouvoir se contacter, en parcourant l’annuaire, et publier sur la plateforme.
  • Connaissant les attentes de notre système, un choix technologique s’impose pour la conception de cette application.
    Il faut alors préparer la conception du Chattoon.
  • Dans le génie logiciel, on dispose de plusieurs méthode d’études:
    AXIAL : analyse et conception des systèmes d’informations assistés par logiciel (IBM, 86).
    SADT : Structured Analysis and Design Technique (Softech, 77).
    MERISE : Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprises (Tardieu, 83).
    SSADM : Structured Systems Analysis and Design Method (CCTA, 80).
    RUP : Rational Unified Process (IBM, 2003).

    Toutes ces méthodes sont basées sur le même principe : découpler l’analyse du
    problème de son implantation sur machine.
    MERISE impose de découper l’analyse des données en deux phases.

    Une première étape conceptuelle permet de décrire les entités et les relations
    (associations) entre elles, sans entrer dans les contraintes du système de stockage.
    Une solution abstraite, indépendant de toute technologie informatique particulière.

    La deuxième étape consiste à traduire, pour un type de stockage donné, le modèle
    conceptuel en un modèle physique adapté. Dans cette étape, les entités du modèle
    conceptuel sont transformées en tables et les associations donnent lieu à la création
    de contraintes d’intégrité entre tables (clés étrangères).

    Ainsi cette méthode nous permettra de concevoir une base de données pour notre système.
  • Une base de données permettra la sauvegarde, la manipulation et la définition de l’ensemble de données circulant dans Chattoon.
    Pour ce faire nous avons opté pour MySQL, car une base de données web libre jusqu’à lors, puissante et légère qui a fait ses preuve sur le web.
  • Pour mettre en œuvre cette base de données, il va falloir se construire un modèle de données.
    Construire un modèle de données c’est simplement dire quelles sont les informations qui devront êtres conservées
    Pendant et après l’exécution du programme.

    Pour permettre à la base de données de conserver, manipuler et assurer la gestion des accès concurrents
    à une même information, il va falloir en amont décrire ces informations. Le modèle de données constitue cette description.
  • Plus ancienne que UML, MERISE reste la méthode de référence pour cette description.
    Comme dit plus tôt, la conception d’une base de données avec MERISE se fait à un niveau conceptuel puis à un niveau physique.

    Dans le cas de Chattoon, il est donc nécessaire en premier lieu d’identifier pour
    chaque classe d’objets les informations à stocker de manière permanente. Si l’on
    considère par exemple le cas d’un utilisateur, il est nécessaire de mémoriser son
    pseudo ou login, son email, le mot de passe associé et son pôle de travail. À ceci
    s’ajoute un identifiant unique, qui va nous servir de clé d’accès à toutes ces
    informations (dans notre cas le login est utilisé comme identifiant). On obtient
    ainsi l’entité suivante :

    Chaque attribut de l’entité dispose d’un type, qui n’est pas le type physique qui
    sera utilisé au final, mais plutôt un type logique. Cette technique assure une
    relative indépendance du modèle conceptuel par rapport au SGBD qui
    implémentera le modèle physique. Ainsi, VARCHAR30 indique une chaîne de
    caractères de taille variable (d’où le VARCHAR) d’au maximum 30 caractères.
    Nous devons procéder de même pour toutes les entités manipulées dans
    Chattoon, sans oublier de préciser les différentes associations.

    Une association va mettre en évidence la relation entre deux ou plusieurs
    entités. On précisera en général les attributs qui sont corrélés et les cardinalités.
    On obtient ainsi le MCD suivant pour le Chattoon


  • Notre choix étant fait pour le type de stockage (un SGBD relationnel), nous
    pouvons transformer ce modèle conceptuel en un modèle physique, qui va
    décrire non plus des entités mais des tables et des contraintes portant sur celles -
    ci.

    On obtient alors notre modèle de données final.
  • Une fois que nous avons notre base de données, il va falloir à présent porter un choix sur la technologie à utiliser pour l’implémentation
  • Sur le web on rencontre pas mal de langage traitant sur la question d’ergonomie, tel CSS qui aujourd’hui est devenu
    La référence même du webdesign. On ce qui concerne le chattoon, nous avons utilisé aussi
    Jquery qui est une bibliothèque javascript, pour le comportement graphique de certains éléments
    du site, et bien entendu HTML pour l’affichage sur le navigateur.
    Tous regroupé au sein d’un seul et même frontend spécialisé en CSS : la version 3 de Bootstrap.
  • PHP avec son modèle objet, nous permettra de développer le côté dynamique du site web. L’interacton avec le serveur de base de données.
  • PHP peut s’utiliser sur de nombreuses plates-formes. Le système
    d’exploitation le plus utilisé sur les postes de travail restant MS Windows, il
    est bien entendu possible d’y installer une plate-forme WAMP, regroupant le trinôme (Windows
    Apache MySQL et PHP).
    Il existe plusieurs distributions permettant d’installer en quelques clics une
    plate-forme WAMP. La plus intéressante éttant WampServer.

    Celle-ci permet en plus de disposer d’un environnement Windows Apache
    MySQL PHP, de passer de PHP 4 à PHP 5 en un clic de souris.
  • la coloration syntaxique personnalisable, l’auto complétion, le système de plugins avancé,
    l’énorme richesse fonctionnelle, la portabilité et la simplicité d’édition de code, l’organisation de l’espace de travail
    De sublime text suffiraient pour porter notre choix sur ce puissant éditeur de code.
  • Connaissant nos outils, voyons comment le modèle objet de PHP nous aidera à concevoir notre application
  • Il existe plusieurs possibilités pour utiliser une base de données avec PHP. On peut,
    pour chaque type de SGBD, utiliser une extension native dédiée (mysqli pour MySQL,
    oci8 pour Oracle). Bien que ces extensions aient des similitudes entre elles, on aura
    alors à manipuler des fonctions spécifiques différentes selon le SGBD. Avec PHP, on
    peut utiliser PDO par exemple. Il s’agit d’une extension qui permet de travailler de
    manière unifiée quel que soit le SGBD.
    Pour Chattoon nous allons utiliser cette extension, car elle constitue une méthode
    résolument tournée vers l’avenir, offrant beaucoup de souplesse et de puissance.
  • PDO est un socle commun pour les connecteurs vers les SGBD. Il s’occupe d’offrir
    des fonctions de base ainsi que d’unifier les interfaces utilisateur. Il ne s’agit pas à
    proprement parler d’un système d’abstraction aux bases de données, bien qu’il
    puisse servir en ce sens. Mais plutôt il nous permettra de se connecter à n’importe quelle base de données.
  • L’utilisation de la base de données avec PHP se fait conventionnellement en cinq étapes:
    - connexion au SGBD
    - Sélection de la base de données
    - Elaboration des requêtes
    - Exploitation des résultats
    - Fermeture de la connexion
    Cependant, cette dernière n’est pas indispensable car la
    connexion est automatiquement fermée après l’exécution du script.
  • PDO utilise un code d’erreur unifié pour nous faciliter un éventuel changement de SGBD.
    Bien entendu, PDO nous donne aussi accès aux codes et aux messages d’erreurs natifs associés à la base que nous utilisons.
    D’autres parts, avec PDO, nous pouvons définir le déclencheur d’erreurs. Nous pouvons demander à PDO :
    de ne pas afficher les erreurs (défaut) ;
    d’utiliser le mode d’erreur classique (lance une erreur de niveau E_WARNING)
    d’utiliser les exceptions.
  • Par exemple dans ce bout de code où nous faisons une sélection dans la base de données, nous
    Utilisons les codes d’erreur pour afficher un message si une erreur se produit lors de l’exécution de la requête.
  • Le « point CG » (.cg) étant l’identité visuelle de la République du Congo sur internet, le
    MAG-SYS souhaite héberger Chattoon sous le nom de domaine mag-sysinfo.cg. Ainsi en
    attendant la disponibilité de ce nom de domaine chez l’ACNIC (l’agence congolaise de
    nommage Internet du Congo), notre site sera temporairement hébergé chez Olympe,
    une plateforme d’hébergement libre sur internet (http://www.olympe.net).
  • Olympe est une plateforme d’hébergement libre de site internet. Il offre la possibilité d’ajouter un nom de domaine
    Au compte qui héberge le site. Voila pourquoi, pour le moment, le site sera disponible sous le nom de domaine
    Mag-sys.olympe.in. Cette adresse est imposé par l’hébergeur.
  • Mise en place du Chattoon en PHP

    1. 1. SOUTENANCE PUBLIQUE DIPLÔME UNIVERSITAIRE DE TECHNICIEN MISE EN PLACE D’UNE SOLUTION WEB EN PHP Armel Roland DIAMESSO IHEM-ISTI – 2012 – 2013 Informatique de Gestion – Génie Logiciel
    2. 2. Introduction  Afin de valider concrètement ma formation par alternance en Informatique de gestion, option Génie Informatique, à IHEM – ISTI, mon établissement me confronte à un jury pour défendre et soutenir publiquement mon thème : La mise en place d’une solution web en PHP.
    3. 3. Mise en place d’une solution web en PHP
    4. 4. CHATTOON : mon application web exemplaire  À la fin de mon stage, j’ai élaboré une solution web complète, pour l’agence MAG-SYS. Cette solution a pour but d’illustrer les possibilités offertes par le langage de programmation PHP. Elle est un système de partage en interne pour le MAG-SYS, un projet nommé CHATTOON.
    5. 5. Présentation de Chattoon  Le Chattoon est un site web dynamique. Il met en scène les éléments classiques attendus pour tout service web professionnel :  création de sessions personnalisées ;  accès à des services réservés ;  délivrance d’informations ;  parcours d’un catalogue.
    6. 6. Description du Chattoon  Chattoon est une plateforme de partage en interne, une sorte d’intranet de l’agence. Il offre l’accès à des services de partage aux agents de l’agence.
    7. 7. Objectifs du Chattoon  accès sécurisé : authentification à l’espace membre  Délivrance d’information intègre: publication d’article et commentaire  Parcours d’un catalogue : annuaire membre, messagerie
    8. 8. Ebauche de solution  Préparation de l’application  Outils: méthode, langage et application
    9. 9. Méthode d’étude: MERISE  Merise est une méthode d’analyse qui permet de concevoir et développer des systèmes d’informations informatique.  C’est l’acronyme de Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprises (Tardieu, 83).
    10. 10. Conception de la base de données  Chattoon est un système qui manipulera plusieurs données, il faut donc assurer la sauvegarde et l’accès partagé à l’information.  Pour manipuler et modifier ces données, une base de données sera indispensable, ce qui implique le choix d’un SGBD. MySQL serra notre SGBD (Système de Gestion de Base de Données) de prédilection qui va permettre de stocker et manipuler l’ensemble de données circulant dans Chattoon.
    11. 11. Modèle de données de Chattoon  Construire un modèle de données, c’est mettre à plat et décrire toutes les informations qui devront être conservées, même après l’exécution d’un programme.  Pour permettre à la base de données de conserver, manipuler et assurer la gestion des accès concurrents à une même information, il va falloir en amont décrire ces informations. Le modèle de données constitue cette description.
    12. 12. Modèle conceptuel de données Pour élaborer le modèle conceptuel de données, il faut d’abord dégager les différentes entités de la base de données, spécifier leurs attributs, et décrire leurs contrainte de stockage
    13. 13. Modèle physique de données  Notre choix étant fait pour le type de stockage (un SGBD relationnel), nous pouvons transformer ce modèle conceptuel en un modèle physique, qui va décrire non plus des entités mais des tables et des contraintes portant sur celles - ci.
    14. 14. Outils  Langages: HTML, CSS, Javascript, PHP  Application: SublimText, WAMPSERVER
    15. 15. Bootstrap  Bootstrap est un Framework côté client, spécialisé en CSS, permettant à organiser le code informatique pour la mise en forme des pages web : organisation, aspet visuel, animation …
    16. 16. PHP  Langage de programmation web, permettant de développer des sites web dynamiques, particulièrement lorsqu’ils sont reliés à des bases de données.
    17. 17. WAMPSERVER  WampServer est une plate-forme de développement Web sous Windows pour des applications Web dynamiques regroupant le serveur web Apache2, le langage de scripts PHP et la base de données MySQL. Il possède l’environnement PHPMyAdmin pour gérer plus facilement les bases de données.
    18. 18. Sublime Text  Sublime Text est un éditeur de texte générique codé en C++ et Python, disponible sur Windows, Mac et Linux. Depuis la version 2.0, l'éditeur prend en charge 44 langages de programmation majeurs, tandis que des plugins sont souvent disponibles pour les langages plus rares.
    19. 19. PDO: PHP Data Object
    20. 20. PDO  Extension PHP permettant de travailler de façon unifiée peut importe le SGBD  PDO est un socle commun pour les connecteurs vers les SGBD. Il s’occupe d’offrir des fonctions de base ainsi que d’unifier les interfaces utilisateur.
    21. 21. Architecture PDO PHP PDO PDO SQL Serveur PDO Postgré PDO Oracle PDO MySQL MySQL
    22. 22. PHP et les base de données Connexion au SGBD Sélection de la base de données Elaboration des requêtes Exploitation des résultats Fermeture de la connexion
    23. 23. Fichier de connexion <?php define('USER', 'root'); define('PASS', ''); define('DSN', 'mysql:host=localhost;dbname=publication'); try { $dbh = new PDO(DSN, USER, PASS); } catch (PDOException $e) { print "Erreur ! : " . $e->getMessage() . "<br/>"; die(); } ?>
    24. 24. Gestion d’erreurs  Par défaut, PDO utilise le mode silencieux ; les erreurs sont cependant stockées et consultables en faisant appel aux méthodes errorCode() et errorInfo().
    25. 25. Exemple  <?php  $sql='SELECT * FROM articles ORDER BY date_pub DESC LIMIT 0,9;';  $Error_info = $cnx->errorInfo();  $sth=$cnx->query($sql) or Die(‘Error Sql ::’.$cnx->errorCode().  ‘<br>’. $Error_info);  $result = $sth->fetchAll();  ? >
    26. 26. Exploitation
    27. 27. Hébergement  Demande de nom de domaine chez l’ACNIC (Agence Congolaise de Nommage Internet du Congo).  http://www.mag-sysinfo.cg
    28. 28. Olympe  Plateforme d’hébergement libre.  http://mag-sys.olympe.in
    29. 29. Démonstration  Pour des raisons de connexion, l’application sera démontré en local.
    30. 30. Fin de l’exposé  Merci à tous !

    ×