• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Php sous Windows - webcamps Paris

  • 2,457 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
2,457
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
12
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Projet CodePlex « Microsoft SQL Server Driver for PHP » : http://sqlsrvphp.codeplex.com/
  • 120 secs

Transcript

  • 1. PHP et Microsoft, quoi de neuf ?
    Pierre Couzy – Microsoft France
    pierre.couzy@microsoft.com
    http://blog.couzy.com/
  • 2. Existedepuisunedécennie
    Pratiqué – en développement – par la majorité des développeurs PHP
    Et pourtant, Microsoft a longtempsmené la vie dure à PHP
    PHP sur Windows ?
  • 3. L'Open Source TechnologyCenter
    3 objectifs simples :
    Impliquer (et s’impliquerdans) les Communautés
    Garantir le bon fonctionnement des projets sur les OS Windows
    Ouvrir nos produits et services à des environnements traditionnellement non Microsoft
  • 4. OSTC : un peu d'histoire …
    Commencé en 2004
    2 ordinateurs
    uneseulepersonne
  • 5. L'OSTC : aujourd'hui
    Hébergé à Redmond
    Composéd’experts en logicielslibres et Linux
    Tests d'interopérabilité des logiciels libres avec des technologies Windows
    Tests de performances de Windows et de la stack des logicielslibres
  • 6. Redmond Open Source Lab
    Plus de 400 serveurs de différents types (Gumstix, Intel, AMD, Blades, clusters HPC clusters et des machines IBM P6)
    La disponibilité de plus de 340 distributions Linux
    La plus haute densité de calcul de tous les laboratoires de Microsoft Redmond
  • 7. La plateforme Windows pour PHP
  • 8. Industrialiser une distro PHP
    PHP 5.2
    PHP 5.3
  • 9. Passage à Visual C++ 9
    PHP 5.2
    PHP 5.3
  • 10. De CGI à FastCGI
  • 11. FastCGI ?
  • 12. Wincache
    V1
    Cache d’OpCodes
    Cache de fichiers
    Cache de résolution de noms de fichiers
    30 juin 2010 : sortie de la V1.1
    Cache d’objets (syntaxe identique à APC)
    Stockage de session (avec persistance disque)
    Support des notifications du filesystem(invalidation)
    Où ? http://www.iis.net/download/wincacheforphp
    Quelle licence ? BSD
  • 13. Exemple : index.php (drupal 6)
  • 14. Quels gains de performance ?
  • 15. Drivers PHP pour Sql Server
  • 16. Nous apprenons …
    V1 :
    Driver natif,
    Licence MS-PL
    V2 :
    driver natif,
    driver PDO,
    Licence Apache 2
    http://www.microsoft.com/opensource/directory.aspx
  • 17.
  • 18. Packaging …
  • 19. Installation de tout ça..
    Une partie est dans PECL
    http://pecl.php.net/package/WinCache/
    Une partie est sur CodePlex
    http://sqlsrvphp.codeplex.com
    Une partie est sur la page de Pierre Joye…
    APC, mongo, Oauth
    http://downloads.php.net/pierre/
    .
  • 20. Installation & administration
    PHP Manager
    Web PI
  • 21. IIS ? http://php.iis.net
    Fichiers .htaccess
    Reverse Proxy
    URL Rewriting
    Forums
    Galerie

  • 22. Les outils
    Sortie cet été de WebMatrix
    En beta 3 pour le moment
    http://web.ms/webmatrix
  • 23. Cloud Computing, la suite
    www.windowsazure4e.org
  • 24. Cloud Computing, la suite
  • 25. DrupalCon San Francisco
  • 26. PDO::__construct($dsn[, $username[, password[, $driver_options()]]])
    Everyonedoesitdifferently
    Inconsistentbehaviorfrom PDO for $driver_options
    Solution: custom attributesonly in constructor
    PDO::lastInsertId([$name])
    Failurebehaviorcompletelyundefined
    Manyotherimplementationsdon’tthrow exception evenwhenPDO::ATTR_ERRMODEis set to PDO::ERRMODE_EXCEPTION
    Solution: all errorssuppressed
    SQLPHP: challenges: API definitions
  • 27. Drupal 7 features a completely refactored database layer.
    It is based on PDO (PHP Data Objects), a very thin abstraction layer provided by PHP 5.
    Made possible by test-driven development
    Three supported databases in core:
    MySQL (5.0+)
    PostgreSQL (8.3+)
    SQLite (3.6.8+)
    Databases can also be supported out of contrib.
    SQL Server (2005+)
    Drupal 7 et SQL Server
  • 28. Range queries pour d’autresmoteurs:SELECT * FROM table ORDER BY date LIMIT 20,10
    SQL Server a que TOP(n) et des fonctions de fenêtrage, donc la requête se transforme en :SELECT sub2.*,ROW_NUMBER() OVER(ORDER BY sub2._l2) AS _lFROM ( SELECT 1 AS _l2, sub1.* FROM ( SELECT TOP(30) * FROM table ORDER BY date ) AS sub1) as sub2WHERE _l BETWEEN 20 AND 30
    Aussi performant, mais pas intuitif 
    Un exempleintéressant
  • 29. Sémantiques des requêtes MERGE
    Dans Drupal, l’implémentation variait d’un moteur de bases de données à un autre
    Le travail sur Sql Server a mis en évidence ce problème et apporté des questions intéressantes pour Drupal :
    “INSERT, if fails UPDATE”, ou
    “UPDATE if there is a row matching a set of conditions, INSERT otherwise”?
    Un autreexemple
  • 30. Sql Server s’estplutôtbienmarié avec Drupal :
    MySQL: 850 loc
    PostgreSQL: 1008 loc
    SQLite: 1177 loc
    SQL Server: 1724 loc
    Le travail s’estbien passé grâce aux suites de test de Drupal.
    99% des tests passentdepuis la version alpha
    Et au final ?
  • 31. Une page de publicité
    http://www.maplateformeweb.com