SlideShare une entreprise Scribd logo
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

Rapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelRapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilel
Belwafi Bilel
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
Karim Ben Alaya
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
Ghizlane ALOZADE
 
Présentation de stage au sein d'Innov'3D
Présentation de stage au sein d'Innov'3DPrésentation de stage au sein d'Innov'3D
Présentation de stage au sein d'Innov'3D
Rémi Levilain
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
Harrathi Mohamed
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
Ilyas CHAOUA
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
AchrafAntri2
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
Ramzi Noumairi
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
jihene Ab
 
Soutenance De Stage
Soutenance De StageSoutenance De Stage
Soutenance De Stageguesta3231e
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Ahmed Makni
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Hajer Dahech
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08bouzidi26
 
Presentation pfe 2012
Presentation pfe 2012Presentation pfe 2012
Presentation pfe 2012Sellami Ahmed
 
Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internet
Khadim Mbacké
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
Addi Ait-Mlouk
 
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 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
 

Tendances (20)

Rapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilelRapport PFE Application Web Mobiles belwafi bilel
Rapport PFE Application Web Mobiles belwafi bilel
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
présentation PFE (2)
présentation PFE (2)présentation PFE (2)
présentation PFE (2)
 
Présentation de stage au sein d'Innov'3D
Présentation de stage au sein d'Innov'3DPrésentation de stage au sein d'Innov'3D
Présentation de stage au sein d'Innov'3D
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
 
Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...Présentation PFE (Conception et développement d'une application web && mobile...
Présentation PFE (Conception et développement d'une application web && mobile...
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
Soutenance De Stage
Soutenance De StageSoutenance De Stage
Soutenance De Stage
 
Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...Pfe conception et réalisation d'une application de gestion des processus d'ac...
Pfe conception et réalisation d'une application de gestion des processus d'ac...
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
Realisation d une application de gestion d-un -tablissement priv-e 26-04_08
 
Presentation pfe 2012
Presentation pfe 2012Presentation pfe 2012
Presentation pfe 2012
 
Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internet
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
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 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...
 

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 Launay
Technocite
 
Drupagora 2013 : introduction drupal
Drupagora 2013 :  introduction drupalDrupagora 2013 :  introduction drupal
Drupagora 2013 : introduction drupal
Cyril 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éponses
Eric 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éâtre
Soft Computing
 
Portails Etat De L'art
Portails  Etat De L'artPortails  Etat De L'art
Portails Etat De L'artTugdual Grall
 
Presentation joomla
Presentation joomlaPresentation joomla
Presentation joomla
Cynapsys It Hotspot
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
sahar dridi
 
Resume SGBDR
Resume SGBDRResume SGBDR
Web content management wcm
Web content management wcmWeb content management wcm
Web content management wcm
Ghizlane El Karchouli
 
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 - Advyteam
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
Daniella 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.pptx
HamzaElgari
 
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
Nicolas Georgeault
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
ENSET, Université Hassan II Casablanca
 

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.