SlideShare une entreprise Scribd logo
1  sur  30
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
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.
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 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.
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.
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.
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
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’informations informatique.
 C’est l’acronyme de Méthode d’Etude et de Réalisation Informatique pour les
Systèmes d’Entreprises (Tardieu, 83).
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.
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.
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
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.
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 mise en forme des pages web :
organisation, aspet visuel, animation …
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.
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.
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.
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 connecteurs vers les SGBD. Il s’occupe
d’offrir des fonctions de base ainsi que d’unifier les interfaces utilisateur.
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ésultats
Fermeture de la connexion
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();
}
?>
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().
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();
 ? >
Exploitation
Hébergement
 Demande de nom de domaine chez l’ACNIC (Agence Congolaise de Nommage
Internet du Congo).
 http://www.mag-sysinfo.cg
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 !

Contenu connexe

Tendances

Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxFehmi Arbi
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking Khaled Fayala
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile Raoua Bennasr
 
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaRéalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaBachir Benyammi
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Ayoub Mkharbach
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
 
Conception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASConception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASAhmed MAALEJ
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...Madjid Meddah
 
PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...Rami Raddaoui
 
Présentation (Mémoire fin étude )
Présentation (Mémoire  fin étude )Présentation (Mémoire  fin étude )
Présentation (Mémoire fin étude )Ramzi Noumairi
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Anas Riahi
 
Présentation finale
Présentation finalePrésentation finale
Présentation finaleheniBa
 
Application web et mobile.potx
Application web et mobile.potxApplication web et mobile.potx
Application web et mobile.potxBelwafi Bilel
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Ayed CHOKRI
 
rapport de stage
rapport de stagerapport de stage
rapport de stageMarouane Gh
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFEHedi Riahi
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesTahani RIAHI
 

Tendances (20)

Presentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicauxPresentation pfe Système de gestion des rendez-vous médicaux
Presentation pfe Système de gestion des rendez-vous médicaux
 
Conception et réalisation d’une application Mobile banking
Conception et réalisation d’une application  Mobile banking  Conception et réalisation d’une application  Mobile banking
Conception et réalisation d’une application Mobile banking
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis GhardaïaRéalisation d’un site web pour la Clinique des Oasis Ghardaïa
Réalisation d’un site web pour la Clinique des Oasis Ghardaïa
 
Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...Présentation pfe - Etude, conception et réalisation d'une application web de ...
Présentation pfe - Etude, conception et réalisation d'une application web de ...
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
présentation PFE (2)
présentation PFE (2)présentation PFE (2)
présentation PFE (2)
 
Conception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VASConception et mise en place d'un Workflow du département VAS
Conception et mise en place d'un Workflow du département VAS
 
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
CONCEPTION ET REALISATION D ’ UNE APPLICATION WEB POUR GESTION DE P ROJETS DE...
 
PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...PFE::Conception et développement du Back Office d'une application mobile de g...
PFE::Conception et développement du Back Office d'une application mobile de g...
 
Présentation (Mémoire fin étude )
Présentation (Mémoire  fin étude )Présentation (Mémoire  fin étude )
Présentation (Mémoire fin étude )
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
Présentation finale
Présentation finalePrésentation finale
Présentation finale
 
Application web et mobile.potx
Application web et mobile.potxApplication web et mobile.potx
Application web et mobile.potx
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
rapport de stage
rapport de stagerapport de stage
rapport de stage
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Presentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'EtudesPresentation de soutenance du Projet Fin d'Etudes
Presentation de soutenance du Projet Fin d'Etudes
 

Similaire à Mise en place du Chattoon en PHP

Progicielde gestationintégré SAP
Progicielde gestationintégré SAPProgicielde gestationintégré SAP
Progicielde gestationintégré SAPkk kk
 
Présentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayPrésentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayTechnocite
 
Drupagora 2013 : introduction drupal
Drupagora 2013 :  introduction drupalDrupagora 2013 :  introduction drupal
Drupagora 2013 : introduction drupalCyril Reinhard
 
Competitive collaboratives solutions - Enjeux et Réponses
Competitive collaboratives solutions - Enjeux et RéponsesCompetitive collaboratives solutions - Enjeux et Réponses
Competitive collaboratives solutions - Enjeux et RéponsesEric Herschkorn
 
Ugif 09 2013 open source
Ugif 09 2013   open sourceUgif 09 2013   open source
Ugif 09 2013 open sourceUGIF
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSoft Computing
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
 
Présentation CMS ( Joomla )
Présentation CMS ( Joomla )Présentation CMS ( Joomla )
Présentation CMS ( Joomla )Gaspar Daniel
 
Flat File CMS - AgoraCMS 2014
Flat File CMS - AgoraCMS 2014Flat File CMS - AgoraCMS 2014
Flat File CMS - AgoraCMS 2014Laurent Séguin
 
Sujets PFE 2019 - Advyteam
Sujets PFE 2019 - AdvyteamSujets PFE 2019 - Advyteam
Sujets PFE 2019 - AdvyteamAdvyteam
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDaniella Mbuta
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxHamzaElgari
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureNicolas Georgeault
 

Similaire à Mise en place du Chattoon en PHP (20)

Progicielde gestationintégré SAP
Progicielde gestationintégré SAPProgicielde gestationintégré SAP
Progicielde gestationintégré SAP
 
Présentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël LaunayPrésentation Ecreall - Mickaël Launay
Présentation Ecreall - Mickaël Launay
 
Drupagora 2013 : introduction drupal
Drupagora 2013 :  introduction drupalDrupagora 2013 :  introduction drupal
Drupagora 2013 : introduction drupal
 
Competitive collaboratives solutions - Enjeux et Réponses
Competitive collaboratives solutions - Enjeux et RéponsesCompetitive collaboratives solutions - Enjeux et Réponses
Competitive collaboratives solutions - Enjeux et Réponses
 
Ugif 09 2013 open source
Ugif 09 2013   open sourceUgif 09 2013   open source
Ugif 09 2013 open source
 
SAS Forum Soft Computing Théâtre
SAS Forum Soft Computing ThéâtreSAS Forum Soft Computing Théâtre
SAS Forum Soft Computing Théâtre
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'art
 
Presentation joomla
Presentation joomlaPresentation joomla
Presentation joomla
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
Resume SGBDR
Resume SGBDRResume SGBDR
Resume SGBDR
 
Web content management wcm
Web content management wcmWeb content management wcm
Web content management wcm
 
Présentation CMS ( Joomla )
Présentation CMS ( Joomla )Présentation CMS ( Joomla )
Présentation CMS ( Joomla )
 
Flat File CMS - AgoraCMS 2014
Flat File CMS - AgoraCMS 2014Flat File CMS - AgoraCMS 2014
Flat File CMS - AgoraCMS 2014
 
Sujets PFE 2019 - Advyteam
Sujets PFE 2019 - AdvyteamSujets PFE 2019 - Advyteam
Sujets PFE 2019 - Advyteam
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
 
Base donnes my_sql
Base donnes my_sqlBase donnes my_sql
Base donnes my_sql
 
Cms oss-27012006
Cms oss-27012006Cms oss-27012006
Cms oss-27012006
 
Partie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptxPartie 1_Matriser les bases PHP v0555555555555.pptx
Partie 1_Matriser les bases PHP v0555555555555.pptx
 
BreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec AzureBreizhCamp - Drupal7 dans le cloud avec Azure
BreizhCamp - Drupal7 dans le cloud avec Azure
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 

Mise en place du Chattoon en PHP

  • 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. 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. Mise en place d’une solution web en PHP
  • 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. 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. 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. 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. Ebauche de solution  Préparation de l’application  Outils: méthode, langage et application
  • 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. 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. 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. 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. 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. Outils  Langages: HTML, CSS, Javascript, PHP  Application: SublimText, WAMPSERVER
  • 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. 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. 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. 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. PDO: PHP Data Object
  • 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. Architecture PDO PHP PDO PDO SQL Serveur PDO Postgré PDO Oracle PDO MySQL MySQL
  • 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. 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. 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. 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();  ? >
  • 27. Hébergement  Demande de nom de domaine chez l’ACNIC (Agence Congolaise de Nommage Internet du Congo).  http://www.mag-sysinfo.cg
  • 28. Olympe  Plateforme d’hébergement libre.  http://mag-sys.olympe.in
  • 29. Démonstration  Pour des raisons de connexion, l’application sera démontré en local.
  • 30. Fin de l’exposé  Merci à tous !

Notes de l'éditeur

  1. 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.
  2. Ce qui m’a permis de mettre en place une solution web afin de concrétiser mon apprentissage.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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
  12. 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.
  13. 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
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. Connaissant nos outils, voyons comment le modèle objet de PHP nous aidera à concevoir notre application
  19. 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.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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).
  25. 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.