L'organisme a publié un rapport qui comprend un graphique d'une année sur l'autre à partir de janvier 2010, jusqu'en 2021. Il en ressort que PHP est utilisé par 78,9 % des sites Web et se positionne loin devant ASP.NET (8,3 %) et Ruby (5,2 %). Java quant à lui est passé en quatrième position et tourne désormais sur 3,6 % de ces sites. Le langage est passé en quatrième position depuis janvier 2021 ; il était alors utilisé par 3,2 % de sites contre 4,3 % pour Ruby.
Parmi le « menu fretin », la seule croissance vraiment impressionnante à observer est celle de Ruby, qui, à 5,2 % ce mois-ci, continue de connaître une croissance ininterrompue dans l'enquête de W3Techs. Ruby on Rails est relativement stable pour ce qui concerne le nombre d'adoptions, selon l'édition de septembre de l'index TIOBE.
Notons qu'ASP.NET, qui détenait une part impressionnante de 24,4 % en 2010 (contre 72,5 % pour PHP à l'époque) a vu ses parts être progressivement réduites au profit d'autres langages comme JavaScript (1,5 % le 14 septembre 2021), Scala (2 %) ou encore Python (1,4 %). En 2013, le langage était passé en dessous de la barre des 20 % et c'est en janvier 2021 qu'il est passé en dessous de la barre des 10 %.
Il ne semble pas non plus qu'il y ait un concurrent clair pour PHP dans les résultats de W3Techs, le déclin inexorable d'ASP.NET au fil des ans n'a pas produit une augmentation significative de PHP ou de tout autre langage.
Concernant les versions de PHP utilisées, la version 7 reste la plus populaire ; plus de la moitié des sites PHP (67,9 %) s'en servent. PHP 5 vient en seconde position avec 31 % d'utilisation, suivi par PHP 8 et ses 1 %.
PHP 8 est disponible depuis fin 2020. Cette version contient donc beaucoup de nouvelles fonctionnalités et d'optimisations, incluant les arguments nommés, les types d'union, attributs, promotion de propriétés de constructeur, l'expression match, l'opérateur nullsafe, JIT (Compilation à la Volée), et des améliorations dans le système de typage, la gestion d'erreur, et de cohérence.
Au lieu de faire des vérifications conditionnelles de nul, vous pouvez utiliser une chaîne d'appel avec le nouvel opérateur nullsafe. Qui lorsque l'évaluation d'un élément de la chaîne échoue, l'exécution de la chaîne complète est terminée et la chaîne entière évaluée à null.
Ainsi, dans PHP 7 vous aviez
Code PHP : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 | $country = null; if ($session !== null) { $user = $session->user; if ($user !== null) { $address = $user->getAddress(); if ($address !== null) { $country = $address->country; } } } |
Dans PHP 8 vous avez son équivalent :
Code PHP : | Sélectionner tout |
$country = $session?->user?->getAddress()?->country;
La nouvelle instruction match est similaire à switch et a les fonctionnalités suivantes :
- Match est une expression, signifiant que son résultat peut être enregistré dans une variable ou retourné ;
- les branches de match supportent uniquement les expressions d'une seule ligne, et n'a pas besoin d'une déclaration break ;
- Match fait des comparaisons strictes.
Ainsi, dans PHP 7 vous aviez :
Code PHP : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | switch (8.0) { case '8.0': $result = "Oh no!"; break; case 8.0: $result = "This is what I expected"; break; } echo $result; //> Oh no! |
Et son équivalent en PHP 8 :
Code PHP : | Sélectionner tout |
1 2 3 4 5 | echo match (8.0) { '8.0' => "Oh no!", 8.0 => "This is what I expected", }; //> This is what I expected |
Mais PHP n'a pas fait parler de lui qu'en positif. En mars, un pirate informatique a compromis le serveur utilisé pour distribuer le langage de programmation PHP et a ajouté une porte dérobée au code source qui aurait rendu les sites Web vulnérables à une prise de contrôle complète, selon des membres du projet open source. Deux mises à jour transmises au serveur PHP Git au cours d'un week-end ont ajouté une ligne qui, si elle était exécutée par un site Web alimenté par cette version détournée de PHP, aurait permis aux visiteurs sans autorisation d'exécuter le code de leur choix. Les commits malveillants ont donné au code la capacité d'injection de code aux visiteurs qui avaient le mot « zerodium » dans un en-tête HTTP.
Zerodium est un courtier qui achète des exploits aux chercheurs et les vend à des agences gouvernementales pour une utilisation dans des enquêtes ou à d'autres fins. La raison pour laquelle les commits ont référencé Zerodium n'est pas claire. Le PDG de la société, Chaouki Bekrar, a déclaré sur Twitter que Zerodium n’était pas impliqué :
« Bravo au troll qui a mis ‘Zerodium’ dans les commits PHP git compromis d’aujourd’hui », a-t-il écrit. « De toute évidence, nous n'avons rien à voir avec cela. Probablement, le ou les chercheurs qui ont trouvé ce bogue / exploit ont essayé de le vendre à de nombreuses entités, mais aucun ne voulait acheter cette merde, alors ils l'ont brûlé pour le plaisir ».
Avant la compromission, le groupe PHP gérait tous les accès en écriture au référentiel sur son propre serveur git http://git.php.net/ en utilisant ce que Nikita Popov, un mainteneur PHP, appelait un système « maison » appelé Karma. Il a fourni aux développeurs différents niveaux de privilèges d'accès en fonction des contributions précédentes. GitHub, quant à lui, avait été un référentiel miroir.
Désormais, le groupe PHP abandonne l'infrastructure git autohébergée et gérée et la remplace par GitHub. Le changement signifie que GitHub est désormais le référentiel « canonique ». Le groupe PHP n'utilisera plus le système Karma. Au lieu de cela, les contributeurs devront faire partie de l'organisation PHP sur GitHub et utiliser l'authentification à deux facteurs pour les comptes avec la possibilité de faire des commits.
Source : W3Techs (1, 2)
Et vous ?
Quel langage utilisez-vous côté serveur en entreprise ou pour vos projets personnels ?
Quelle version utilisez-vous ?
Si vous n'êtes pas passé à la dernière version, pouvez-vous en indiquer la raison ?
Voir aussi :
PHP 8 est disponible et s'accompagne d'optimisations et de nouvelles fonctionnalités, incluant entre autres les arguments nommés, les types d'union, l'opérateur nullsafe, la compilation JIT
Python flirte avec la première place des langages les plus populaires sur l'index TIOBE dans l'édition de septembre, place qui n'a été occupée que par C et Java jusqu'à présent
Compromission du code PHP : les responsables de PHP blâment désormais une fuite de la base de données utilisateurs master.php.net plutôt qu'un problème avec le serveur lui-même
Des hackers détournent le code source de PHP après s'être infiltrés dans le serveur git interne. Quiconque connaissait le mot de passe secret « zerodium » pouvait exécuter du code sur un site en PHP