Articles

Hébergements multi-PHP : la théorie et la pratique

  • Ecrit par Damien Seguy
  • mercredi 12 septembre 2007
Image pour le titre du contenu

This document is also available in English en 



Je me souviens avoir longuement étudié le marché lorsque je suis passé de mon antique Apple ][c à un Macintosh LC : parmi les raisons qui avaient poussé mon frère Ghislain et moi vers cette machine, outre le financement des parents et notre bon ami Olivier, il y avait la possibilité de récupérer toutes nos vieilles applications (on parlait alors de programmes) sur la nouvelle machine. Le mac LC avait effectivement une carte d'émulation de l'Apple //c qui permettait ce transfert en douceur.

Rétrospectivement, bien sur, nous avons eu notre Mac LC, mais jamais nous n'avons utilisé simultanément les anciens programmes et les nouveaux. Je serais sûrement content de passer une soirée de nostalgie à relire mes premiers programmes et documents (je sais encore où sont les disquettes et la machine!). Toutefois, cela se limitera aussi à une soirée, et à la compagnie de Ghislain. Le passé est passé, passons à autre chose.

Cette petite introduction résume les différents sentiments qui m'habitent quand je lit les chroniques qui parlent de faire cohabiter PHP 4 et PHP 5. Le sujet revient sur le devant de la scène avec la mort de PHP 4, et l'immense base installée d'application et site PHP 4. Si PHP 5 est la norme en 2008, que vont devenir toutes ces applications? La solution idéale est de faire fonctionner simultanément PHP 4 et 5 pour assurer la migration la moins heurtée.
Les solutions existent : un proxy qui dirige différentes requêtes vers le serveur PHP 4 ou 5 en fonction des besoins; une installation double module/cgi; une installation en fonction du domaine  (php4.domaine.com et php5.domaine.com) ;une configuration .php4 et .php5; des dossiers différents (http://www.gentoo.org/proj/en/php/php4-php5-configuration.xml); etc. Il y a régulièrement des articles pour réaliser cette installation, et si vous manquez d'idées, alors cherchez donc les articles d'installations simultanées PHP 3 et PHP 4 (http://www.weberdev.com/ViewArticle/Setup-and-Install-Apache-and-PHP4-on-Windows).

Indicateur d'installations multiples PHP par version majeure

A partir de l'histoire d'introduction, je me suis demandé si on avait un indicateur de mesure du nombre d'installation PHP multiples. Evidemment, je me suis tourné vers mon fidèle robot php version, pour extraire ce type d'information.

Pour avoir des installations distinctes, je me suis basé sur les adresses IP. Pour chaque adresse IP numérique qui dispose d'au moins 2 domaines installés, quel est le nombre de versions de PHP distinctes qui peuvent être trouvées.

Le résultat est le suivant :

Code
95% des installations utilisent tout le temps la même version majeure de PHP pour tous les domaines sur la même IP. 5% utilise 2 versions de PHP, et 0,0086% utilisent les trois versions majeures de PHP. C'est donc une faible minorité, quoique bien présente, qui tente le grand pont. Personne (ou presque) ne continue de supporter les 3 versions.


Indicateur d'installations multiples PHP par version intermédiaire


Code
Après les versions majeures (3,4,5), j'ai fait la même analyse sur les versions exactes (5.2.0, 5.2.1, 4.4.7, 3.0.18, etc). Les chiffres sont légèrement supérieurs au graphique précédent, puisque nous incluons aussi les installations multiples internes aux versions majeures : par exemple, une installation multiple entre PHP 4.3.10 et 4.4.7 ne serait pas comptée dans le graphique précédent, mais elle l'est maintenant.

Ce qui devient amusant, c'est que certaines IP affichent jusqu'à 16 installations simultanées! (Notons même qu'il y a plusieurs IP distinctes qui affichent ce score, quoique pas plus d'une demi-douzaine...).

Alors que 93,14% des sites utilisent une seule version de PHP, et 6,37% en affiche 2, à peine 0,3% des installations utilisent 3 versions de PHP ou plus : les chiffres sont encore plus bas pour les installations encore plus compliquées. On peut donc rester avec un chiffre de 6% d'installations PHP bicéphales. Cela me semble proche de la probabilité de supporter deux systèmes simultanément : 1 sur 20.

En résumé

En résumé, il y a assurément un marché de l'hébergement multiple PHP 4 et 5, mais il n'est pas immense. Même si la population d'utilisateurs de PHP est grande, il y a peu de monde qui tente de faire le grand écart entre différentes versions.

Supplément curieux

En travaillant à cet article, je me suis finalement posé une question subsidiaire : peut-on produire un indicateur de compatibilité basé sur le nombre d'installation double? L'idée est la suivante : si deux versions de PHP sont très incompatibles, alors les utilisateurs qui tentent la migration auront plus souvent recours à une installation double. L'immense majorité (au moins 90%) fera le saut d'un seul coup, mais il reste 10% de timoré qui s'assurent en ayant les deux versions simultanément. Et ce type de situation se répétera d'autant plus que la migration présente des incompatibilités.

On pourrait donc définir un coefficient de compatibilité : ce serait le pourcentage d'installation multiples, rapporté au nombre d'installation d'origine ou final. Voici un premier jet :

version brut relative refined
3.0 248 36.80 7359.05
4.0 65 2.19 220.64
4.1 139 2.79 128.53
4.2 164 3.88 204.88
4.3 2526 3.96 14.56
4.4 13953 14.57 31.84
5.0 586 6.66 196.07
5.1 1841 10.40 150.48
5.2 11464 43.22 370.01


La colonne brute indique le nombre de site à version multiple contenant la version de la première colonne. La colonne relative est un pourcentage, par rapport à la version d'origine (la colonne brute, divisée par le nombre de site utilisant uniquement la version de la colonne de gauche). Enfin, la colonne refined prend en compte les parts de marché de chaque version. Le résultat n'est guère concluant...

Voici ci-dessous une liste des différents installations doubles que le projet phpversion a pu détecter, avec leur nombre respectif.

Si vous avez une idée pour interpréter ces données, faites moi signe.


3.0 4.0 4.1 4.2 4.3 4.4 5.0 5.1 5.2
3.0 246 16 24 16 50 170 1 0 7
4.0 16 251 19 23 53 209 18 25 33
4.1 24 19 593 21 88 519 25 42 244
4.2 16 23 21 872 127 806 27 190 112
4.3 50 53 88 127 2230 1084 125 373 404
4.4 170 209 519 806 1084 12966 113 734 9200
5.0 1 18 25 27 125 113 396 49 77
5.1 0 25 42 190 373 734 49 1498 329
5.2 7 33 244 112 404 9200 77 329 10696

Vous pouvez constater qu'il y a énormémement d'installations multiples dans la même version de PHP : presque 13000 installations sont des installations doubles PHP 4.4. : elles représentent des installations du type 4.4.4 et 4.4.7. A chaque fois, ce sont les plus nombreuses.

Note finale : si vous avez des interprétations de ces données, ou souhaitez plus de détails sur certains aspects, laissez moi un message.

Note : j'ai cherché à produire ces chiffres sous forme graphique, avec un format 3D, 2 axes, tel que cette image  mais je n'ai rien trouvé de pratique pour cela : jpgraph, microsoft Excel, Open Office ou KeyNote ne propose ce type de graphiques. Si vous avez une piste, qui fonctionne sur OSX, je suis preneur.
< Précédent   Suivant >

Commentaires

Vous pouvez ajouter votre commentaire!


Vous devez vous connecter pour commenter