PHP
                                                     Web Services




           PHP et Web Services
11 février 2010 -...
PHP
                                                                      Web Services

                               Pla...
PHP
                                                                                     Web Services

                   ...
PHP
                      Web Services

PHP professionnel ?
PHP
                                                                                 Notions d’environnement

            ...
PHP
                                                                                Notions d’environnement

             ...
PHP
                                                                                          Notions d’environnement

   ...
PHP
                                                                          Notions d’environnement

                   ...
PHP
                                                                                             Notions d’environnement

...
PHP
                                                                                 Notions d’environnement

            ...
PHP
                                                                      Notions d’environnement

                       ...
PHP
                                                                   Notions d’environnement

                          ...
PHP
                                                                           Notions d’architecture

                   ...
PHP
                                                        Notions de génie logiciel

                      PHP - notions...
Web Services
                                                                    Notions d’architecture

                 ...
Web Services
                                                                              Notions d’architecture

       ...
Web Services
                                                                Notions d’architecture

                     ...
Web Services
                                                           Notions d’architecture

                   Web Ser...
Web Services
                                                              Notions de génie logiciel

                   W...
Web Services
                                                         Architecture avancée

                   Web Service...
PHP
                                                        Web Services




Guillaume Jarysta-Dautel   Devolia Europe
+33...
Prochain SlideShare
Chargement dans…5
×

Conference Php Web Services

2 653 vues

Publié le

Conférence "PHP et Web Services" - Université de Tours - Master CCI - 11 février 2010

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

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive
  • CGI
    - Exécution avec les droits du serveur web
    - Limitation des risques

    CLI
    - Exécution avec des droits définis
    - Accès à des ressources sensibles
    - Script shell
    - Lien Cron
  • Cron
    - Exécution d’un script CLI à une périodicité donnée
    - Pas de mécanisme de sémaphore / jeton : à coder en dur
    - Accès ressources définies selon l’utilisateur exécutant la tâche
  • Core :
    - Syntaxe de base
    - Basic I/O

    Modules :
    - Fonctionnalités additionnelles
    - Choisir ce dont on a besoin / taille du binaire / stabilité du binaire / sécurité des modules

    Pear :
    - Modules complémentaires
    http://php.net/manual/fr/faq.installation.php
  • Modules Apache
    - Ajoute des fonctionnalités à la couche serveur
    - Détectable par PHP (headers) mais peuvent être utilisés de manière transparente

    Mod_rewrite
    - Ré-écriture de la chaîne à la volée : SEO

    http://modules.apache.org/
  • Mod_rewrite
    - Application SEO
    - Lisibilité et clarté de l’arborescence
    - Facilité d’architecture logique
  • Exécution
    - Synchrone : exec, passthru : exécution d’une tâche donnée de courte durée
    - Asynchrone : pcntl : exécution de tâches longues, possibilité de forker
  • BDD supportées : MySQL, Oracle, MS SQL, Tokyo Cabinet / Tokyo Tyrant
  • Configuration PHP :
    - PHP.ini
    - httpd.conf
    - .htaccess
    - Fichier .php
  • CGI
    - Exécution avec les droits du serveur web
    - Limitation des risques

    CLI
    - Exécution avec des droits définis
    - Accès à des ressources sensibles
    - Script shell
    - Lien Cron
  • CGI
    - Exécution avec les droits du serveur web
    - Limitation des risques

    CLI
    - Exécution avec des droits définis
    - Accès à des ressources sensibles
    - Script shell
    - Lien Cron
  • Configuration PHP :
    - PHP.ini
    - httpd.conf
    - .htaccess
    - Fichier .php
  • Configuration PHP :
    - PHP.ini
    - httpd.conf
    - .htaccess
    - Fichier .php
  • Configuration PHP :
    - PHP.ini
    - httpd.conf
    - .htaccess
    - Fichier .php
  • CGI
    - Exécution avec les droits du serveur web
    - Limitation des risques

    CLI
    - Exécution avec des droits définis
    - Accès à des ressources sensibles
    - Script shell
    - Lien Cron
  • CGI
    - Exécution avec les droits du serveur web
    - Limitation des risques

    CLI
    - Exécution avec des droits définis
    - Accès à des ressources sensibles
    - Script shell
    - Lien Cron
  • Configuration PHP :
    - PHP.ini
    - httpd.conf
    - .htaccess
    - Fichier .php
  • Conference Php Web Services

    1. 1. PHP Web Services PHP et Web Services 11 février 2010 - Master CCI - Université de Tours Guillaume Jarysta-Dautel - Devolia CEO
    2. 2. PHP Web Services Plan de la présentation 1/2 1. PHP : notions d’environnement • Architecture CGI / CLI • Cron • Core et modules • Interface Apache et mod Apache • Interface OS • Interface SGBD • php.ini et .htaccess 2. PHP : notions d’architecture • Repository, Dev et Prod 3. PHP : notions de génie logiciel • Templating • Modèles de données SQL • Multilinguisme ETUDE DE CAS • Modèle objet PHP5 • devolia.org • Documentation • secure.devolia.com • API interne / externe • rienamemettre.com • Sécurité
    3. 3. PHP Web Services Plan de la présentation 2/2 4. Web Services : notions d’architecture • XML-RPC, SOAP • XML et JSON • Architecture d’un listener • Web Services asynchrones : ping et callback • Sécurité d’un Web Service ETUDE DE CAS • devolia.org 5. Web Services : notions de génie logiciel en PHP • secure.devolia.com • Moteur de session • rienamemettre.com • SimpleXML • geotwitt • JSON • Gestion des en-têtes 6. Web Services : architecture avancée • Montée en version d’une API externe • Gestion de la charge
    4. 4. PHP Web Services PHP professionnel ?
    5. 5. PHP Notions d’environnement PHP - notions d’environnement 1. Architecture CLI / CGI Système Serveur Module d’exploitation Web CGI - Linux - Apache - PHP - Windows - Lighttpd - Perl - FreeBSD - IIS - C - ... - ... - ... Sources Module CLI - PHP : compilation à la - PHP volée - Perl - C - ... Ressources http://php.net/manual/fr/migration5.cli-cgi.php
    6. 6. PHP Notions d’environnement PHP - notions d’environnement 2. Cron Système Cron Module d’exploitation CLI - Exécution - Linux périodique - PHP - Windows - Perl - FreeBSD - C - ... - ... Sources - PHP : compilation à la volée Ressources http://doc.ubuntu-fr.org/cron
    7. 7. PHP Notions d’environnement PHP - notions d’environnement 3. Core et modules RESEAU CRYPTAGE SGBD GRAPHISME OUTILS COMPRES- BAS SION NIVEAU soap mcrypt mysql gd calendar xmlrpc ... pdo jpeg mbstring zlib pcntl openssl postgresql png ... ... ... ftp ... pdf curl ... kerberos ... Ressources http://php.net/manual/fr/faq.installation.php
    8. 8. PHP Notions d’environnement PHP - notions d’environnement 4. Modules Apache Apache Modules Module CLI - Linux mod_ssl - Windows mod_rewrite - PHP - FreeBSD mod_proxy - Perl - ... ... - C - ... Sources - PHP : compilation à la volée Ressources http://modules.apache.org/
    9. 9. PHP Notions d’environnement PHP - notions d’environnement 4. Modules Apache - exemple mod_rewrite Requête GET /romans/suskind/le_parfum.html mod_rewrite RewriteRule ^/([^/]+)/([^/]+)/([^.]+).html store.php?rayon=$1&auteur=$2&titre=$3 PHP - store.php <h1>Bienvenue dans notre rayon <?php print($_REQUEST[‘rayon‘]); ?></h1> <h2>Votre livre : <?php print($_REQUEST[‘titre‘]); ?> (<?php print($_REQUEST[‘auteur‘]); ?>)</h2>
    10. 10. PHP Notions d’environnement PHP - notions d’environnement 5. Interface OS Exécution d’un programme serveur $return=exec('ln -s /home/'); print($return); pcntl $pid = pcntl_fork(); if($pid == -1){ die('Cannot fork. Too bad, I wanna fork so bad !'); } elseif($pid){ // le père print('Je suis ton père ('.posix_getpid().'), Luke ('.$pid.') !'."rn"); } else{ // le fils print('Noooon ('.posix_getpid().') !'."rn"); } Ressources http://fr.php.net/manual/fr/book.exec.php http://fr.php.net/manual/fr/book.pcntl.php
    11. 11. PHP Notions d’environnement PHP - notions d’environnement 6. Interface SGBD Connexion à MySQL $link=mysql_connect('localhost','login','password'); $db=mysql_select_db('database_name', $link); Couche d’abstraction - PDO $dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2'); $count = $dbh->exec("DELETE FROM fruit WHERE couleur = 'rouge'"); print("Retourne le nombre de lignes effacées :n"); print("Effacement de $count lignes.n"); Ressources http://fr.php.net/manual/fr/book.pdo.php
    12. 12. PHP Notions d’environnement PHP - notions d’environnement 7. php.ini et .htaccess Lecture de la configuration PHP phpinfo(); Droits limitatifs AuthType Basic AuthName "Password Required" AuthUserFile /www/passwords/password.file AuthGroupFile /www/passwords/group.file Require Group admins Ressources http://fr.php.net/manual/fr/configuration.php http://httpd.apache.org/docs/1.3/howto/htaccess.html
    13. 13. PHP Notions d’architecture PHP - notions d’architecture 1. Repository, dev et prod dev prod - Error on - Error silent - Warning on - Warning silent - Audit on - Audit off - Debug on - Debug off Développeurs Repository - Garant de l’intégrité, de la gestion des versions, du travail collaboratif
    14. 14. PHP Notions de génie logiciel PHP - notions de génie logiciel ETUDE DE CAS • Templating • Modèles de données SQL • Multilinguisme • Modèle objet PHP5 • Documentation • API interne / externe • Sécurité
    15. 15. Web Services Notions d’architecture Web Services Usages • Consommation d’un service tiers • Consommation d’un service métier • Consommation d’un service critique • Consommation d’un service asynchrone • Consommation d’un service en situation de mobilité
    16. 16. Web Services Notions d’architecture Web Services - notions d’architecture 1. XML-RPC, SOAP, Corba, IEC, WSDL, à façon... le choix de l’architecture • Type de besoin : privé / public • Besoin d’une vérification simplifiée de la cohérence du message • Poids moyen des échanges • Nature des consommateurs du service • Besoin de certification • Besoin en niveau d’abstraction : WSDL • Interopérabilité des Web Services Ressources http://fr.wikipedia.org/wiki/SOAP http://fr.wikipedia.org/wiki/XML-RPC
    17. 17. Web Services Notions d’architecture Web Services - notions d’architecture 2. XML et JSON • Avantages de XML • Interopérabilité • Formalisme rigoureux • Parseurs multilangages • Explicitement UNICODE • Inconvénients de XML • Lourdeur des en-têtes • Rigidité du formalisme • Avantages de JSON • Interprétation simple en Javascript • Encodage / décodage intégrés à PHP 5 • Flexibilité de l’encodage • Inconvénients de XML • Parseurs généralement non-natifs • Peu robuste
    18. 18. Web Services Notions d’architecture Web Services - notions d’architecture ETUDE DE CAS • Architecture d’un listener • Web Services asynchrones : ping et callback • Sécurité d’un Web Service
    19. 19. Web Services Notions de génie logiciel Web Services - notions de génie logiciel ETUDE DE CAS • Moteur de session • SimpleXML • JSON • Gestion des en-têtes
    20. 20. Web Services Architecture avancée Web Services - Architecture avancée • Montée en version d’une API externe • Gestion de la charge
    21. 21. PHP Web Services Guillaume Jarysta-Dautel Devolia Europe +33 (0) 683 658 342 21 boulevard de Sébastopol guillaume@devolia.fr 75001 Paris - FRANCE www.devolia.fr www.jarysta.com Devolia North America 1138 Broadway, Suite 706 New York, NY 10010 – USA www.devolia.com

    ×