Sortie de PHP 7.0 - un nouveau départ

Posté par  . Édité par rogo, Lucas, M5oul, Benoît Sibaud, jcr83, claudex, Adrien Dorsaz, palm123, Xavier Teyssier, Bruno Michel, Storm, Anonyme, jihele et Jarvis. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
67
8
déc.
2015
PHP

La version 7.0 de PHP a été annoncée ce jeudi 3 décembre 2015. Elle améliore très significativement les performances, ajoute de nouvelles fonctionnalités et fait un ménage conséquent. Le pari d'une modernisation complète de ce langage phare du développement web est-il réussi après deux années complètes de développement ? Début de réponse dans cette dépêche.

PHP 7.4

55
29
nov.
2019
PHP

Il y a bien longtemps qu’une nouvelle version de PHP n’avait pas été commentée ici. En fait, depuis la sortie de la version 7.0 qui s’est faite dans la douleur après l’abandon de la version 6. Le langage sort désormais avec une nouvelle version chaque fin d’année. La rétrocompatibilité est un point qui n’est pas négligé d’une version à l’autre, d’où une évolution plutôt lente.
La majorité des logiciels peut migrer sans trop d’appréhension. Depuis plusieurs versions, l’amélioration des performances est un point essentiel du fait de la concurrence avec HHVM, développé par Facebook. Au final, cette version, qui est la dernière de la branche 7, apporte un système de type plus fort, plus de performance et fait en sorte de diminuer le code cérémonial, aka boilerplate.

La version 8.1 de PHP et création de la fondation PHP

Posté par  . Édité par xdelatour, Florent Zara, Xavier Teyssier, windu.2b, Benoît Sibaud, palm123 et Pierre Jarillon. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
44
2
déc.
2021
PHP

En fin d’année 2021 et sur la lancée habituelle PHP passe en version 8.1. Tout comme les autres versions, elle sera maintenue activement pendant deux années et elle recevra seulement des correctifs de sécurité une année de plus.

Élephant PHP sur un ordinateur portable

État d'insécurité chez PHP

Posté par  (site web personnel) . Édité par Lucas Bonnet et Bruno Michel. Modéré par Bruno Michel. Licence CC By‑SA.
Étiquettes :
44
4
fév.
2012
PHP

Il y a quelques mois était publiée la version 5.3.7 de PHP, sans s'assurer que certains bugs critiques, comme celui de la fonction crypt(), avaient été corrigés.

Cela avait conduit a une sortie précipitée de PHP 5.3.8 contenant les correctifs nécessaires avec une alerte pour la version 5.3.7 .

Beaucoup ont alors espéré que les développeurs de PHP allaient changer de méthodes de travail.

Le 10 janvier sortait la version 5.3.9 de PHP qui contenait, entre autres, un correctif pour une vieille faille de sécurité qui permettait de fabriquer facilement des collisions dans une hashtable conduisant à un déni de service (faille déjà mentionnée ici-même).

Le hic fut que le correctif introduisait une nouvelle faille de sécurité qui, pour éviter de permettre de faire des collisions, permettait une exécution arbitraire de code.

Le 2 février fut publié la version 5.3.10, qui corrige la faille introduite par le correctif précédent.

Sortie de PHP 5.4

Posté par  (site web personnel, Mastodon) . Édité par baud123, Nÿco, olivierweb, Anonyme, Bruno Michel, GeneralZod, beckbeckbondieu, Benoît Sibaud et detail_pratique. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
42
2
mar.
2012
PHP

Une nouvelle version majeure de PHP vient de sortir, après de nombreuses RC (Release Candidate) : PHP 5.4.

Les principales améliorations sont :

  • Une nouveauté grammaticale : les "traits" (en anglais)
  • Nouvelle syntaxe courte pour les tableaux, inspirée de celle de Javascript
  • Un serveur web intégré pour faciliter le développement
  • PHP-FPM (FastCGI Process Manager) a été amélioré et n'est plus marqué expérimental
  • Un grand nettoyage dans les options de configuration : en particulier, les magic quotes, register_globals et le safe mode ont totalement disparu
  • Et de manière générale, une amélioration des performances et de l'utilisation de la mémoire

En outre, durant le développement de cette version 5.4, la gestion du projet s'est grandement améliorée, avec un passage à Git et un processus de décision plus communautaire.

Plus de détails en seconde partie.

Merci à Nÿco, olivierweb, detail_pratique, baud123, Bruno Michel, GeneralZod, beckbeckbondieu, et Stéphane Aulery pour leur participation à la rédaction de cet article.

The Hack language : PHP avec un peu de typage statique

Posté par  . Édité par Davy Defaud, BAud, V, chicco, claudex, ZeroHeure, Fabrice Le Fessant, olivierweb et Bruno Michel. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
42
23
mar.
2014
PHP

Facebook vient enfin d’annoncer son nouveau langage de programmation pour le Web, plus d’un an après les premiers déploiements en interne. Baptisé Hack et entièrement interopérable avec PHP, il s’exécute sur leur machine virtuelle maison (HHVM) et permet aux développeurs qui le souhaitent d’ajouter un peu de typage statique dans leur développement PHP. Il semble que pour Facebook, cette dose de typage supplémentaire était devenue indispensable à la maintenance sur le long terme de leur grande base de code.

D’un point de vue performance, la machine virtuelle HHVM utilise des techniques de compilation à la volée, alors que, précédemment, ils utilisaient pour le code en production un compilateur de PHP vers C++. Sur le code du site Facebook lui‐même, ils annoncent un gain de performance de ×10 en temps processeur. De manière plus générale, HHVM vise à terme une compatibilité complète avec PHP 5 — aujourd’hui, 98,5 % de compatibilité —, dans ce cas, ils annoncent un gain de ×2 par rapport à la version actuelle de Zend.

Au delà du gain en CPU dû à la machine virtuelle, cette annonce montre aussi que les questions de fiabilité et le typage statique commencent à faire leur chemin. La complexité croissante des applications Web en font une question centrale pour l’avenir. Même si Facebook a fait le choix conservateur de typer PHP plutôt que tout traduire vers un langage fortement typé (à cause de l’énorme masse de code déjà écrite), il est frappant de noter que le compilateur Hack lui‐même et le tutoriel en ligne sont implémentés en OCaml.

Dans son annonce officielle Facebook remercie d’ailleurs l’équipe Gallium de l’INRIA pour le compilateur OCaml, et le projet Ocsigen (CNRS, INRIA, Université Paris Diderot) pour le compilateur js_of_ocaml. La machine virtuelle HHVM est écrite en C++.

Les nouvelles fonctionnalités de PHP 8

41
28
nov.
2020
PHP

La version 8 de PHP est sortie le 26 novembre 2020, nous allons donc voir ensemble les nouvelles fonctionnalités qui ont été intégrées dans cette version.

Pour ne pas faire trop long, on se limitera aux choses nouvelles par rapport à PHP 7.4, et on regardera les nouvelles fonctionnalités principales, pour une liste exhaustive consultez le journal des modifications officiel.

PhotoShow, une galerie web pour votre serveur

Posté par  . Édité par jarjar, Nÿco, baud123 et Benoît Sibaud. Modéré par Nÿco.
41
2
déc.
2011
PHP

PhotoShow est une galerie de photos en PHP à installer sur votre serveur.

PhotoShow se base sur le système de fichiers pour gérer les fichiers, et ne requiert donc pas de base de données. Si Javascript est activé sur votre navigateur, la gestion des utilisateurs, albums, et images se fait aisément via glisser-déposer (drag-n-drop), de même que le téléversement (upload) d'images.

Le tout est totalement libre (sous licence GNU GPL 3) et gratuit.

Sortie de PHP 5.6

Posté par  . Édité par palm123, Stéphane ESCAICH, Benoît Sibaud et cfx. Modéré par Ontologia. Licence CC By‑SA.
Étiquettes :
40
9
sept.
2014
PHP

Ultime version de la branche 5.x, PHP 5.6.0 apporte quelques possibilités de développement, un débogueur interactif et corrige quelques 150 bogues.

Les principales nouveautés sont :

  • Les expressions de constantes scalaires
  • Fonctions à nombre d'arguments variable ainsi que l'opérateur ... pour empaqueter/dés-empaqueter les arguments
  • L'opérateur ** pour l'exponentiation
  • L'extension du mot-clé use pour importer les fonctions et les constantes
  • Un débogueur interactif : phpdbg intégré comme module SAPI.
  • La ré-utilisabilité de php://input faisant passer $HTTP_RAW_POST_DATA en déprécié.
  • Les objets GMP (GNU Multiple Precision) supportent maintenant la surcharge des opérateurs et le transtypage en types scalaires.

Plus de détails sont disponibles dans la suite de cette dépêche.

KaraDAV, un serveur WebDAV léger, compatible avec les applications ownCloud et NextCloud

Posté par  (site web personnel, Mastodon) . Édité par Xavier Teyssier, palm123 et Benoît Sibaud. Modéré par devnewton 🍺. Licence CC By‑SA.
40
27
oct.
2022
PHP

KaraDAV est un nouveau serveur de fichiers WebDAV simple, léger, rapide et très fonctionnel, sous licence
AGPLv3.

Il a plusieurs particularités :

  • compatible avec les clients mobile et desktop ownCloud et NextCloud
  • interface web avec WebDAV Manager.js
  • édition de documents via un navigateur web, via Collabora ou OnlyOffice

Indefero 1.0 est disponible après 21 mois de travail

Posté par  (site web personnel) . Modéré par baud123.
38
19
avr.
2010
PHP
Après environ 21 mois de développement et 31 versions préliminaires, Indefero 1.0 est disponible. Ce qui a démarré pendant l'été 2008 en réaction épidermique à l'impossibilité d'exporter ses données de l'offre GoogleCode est devenu maintenant un joli projet soutenu par une communauté fort sympathique.

Indefero est une forge logicielle écrite en PHP sous licence GPL et vous permet de gérer de multiples projets avec le gestionnaire de révisions de code de votre choix comme Subversion, Git ou Mercurial. Chaque projet peut être marqué comme public ou privé et dispose des outils habituels pour être bien géré avec :
  • une documentation au format Wiki,
  • un gestionnaire de défauts et requêtes,
  • un navigateur pour voir le code,
  • un fil de l'évolution du projet
  • mais aussi un module de revues de code.

Simplicité, liberté et efficacité sont les maîtres mots d'Indefero. N'hésitez pas à l'essayer, une version hébergée vous permet de le faire en quelques clics. D'ailleurs, dans la suite de cette dépêche, je vous raconte un peu le pourquoi de cette version hébergée.

Et voici Movim 0.5 « Snowball » !

Posté par  (site web personnel) . Édité par Nÿco, Benoît Sibaud et claudex. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
36
2
juil.
2012
PHP

Une fois n’est pas coutume, Movim est de nouveau très en retard. Ceci dit, cette version pourrait être considérée comme majeure dans le processus de développement tant les évolutions sont importantes.

Movim (My Open Virtual Identity Manager) est un réseau social décentralisé écrit en PHP basé sur XMPP. Si vous avez perdu le fil, voici un petit résumé des derniers mois. La 0.4 a été bouclée le 28 novembre 2011 et publiée le 5 février 2012 avec la finalisation de pod.movim.eu. Elle apportait un lot impressionnant de nouvelles fonctionnalités et fut complétée par deux mises à jour intermédiaires. Movim 0.4.1 qui est arrivé le 17 mars 2012 (corrections de bugs), puis Movim 0.4.2 le 27 mai 2012 en sous-marin (aucune communication hors réseaux sociaux) qui simplifie le processus d’installation.

Logo XMPP

Première beta de POCHE 1.0 disponible

33
8
août
2013
PHP

POCHE est une application web pour gérer une liste de lectures à lire plus tard. Grâce à un bookmarklet, vous sauvegardez facilement un lien dans votre POCHE. POCHE sauvegarde le contenu entier d’un lien : les textes et les photos sont enregistrés sur votre serveur (mais pas la pub!). Ensuite vous pouvez lire une page dans une vue confortable.

Logo Poche

C'est une alternative open source à Pocket / Readability / Instapaper. Vos données vous appartiennent et ne dépendent pas d'une société. Pour éviter ce qui nous est arrivé avec Google Reader, prenez les devants avec Pocket & co.

Un an après le premier commit, nouvelle version pour wallabag

33
4
avr.
2014
PHP

Il y a un an démarrait le projet wallabag (qui s’appelait alors poche). C’est une application qui vous permet de mettre de côté un article que vous souhaitez lire plus tard. Ce n’est pas uniquement un gestionnaire de favoris pour sauvegarder un lien, ça sauvegarde également tout le contenu de l’article et uniquement le contenu (c’est‐à‐dire que les éléments superflus — comme la publicité — ne sont pas conservés).

Un nouvelle version vient de sortir ce 3 avril et voici les nouveautés.

Une feuille de route pour wallabag v2 et une date annoncée !

Posté par  (site web personnel) . Édité par Benoît Sibaud, Nÿco et palm123. Modéré par patrick_g. Licence CC By‑SA.
33
20
fév.
2016
PHP

Petit rappel sur ce qu'est wallabag : c'est une application de lecture différée, à la manière des solutions privatrices que sont Pocket, Readability, Instapaper ou encore Evernote. Pas le temps de lire cette dernière dépêche de LinuxFr.org ? Vous l'ajoutez en un clic et vous la lisez où vous voulez, quand vous voulez. Ça nettoie l'article en supprimant les pubs, les menus ou encore les trolls.

Wallabag

Puisque des images valent mieux qu'un long discours, jetez un œil à cette bande dessinée qui vous expliquera vraiment ce qu'est wallabag (vous pouvez basculer en français grâce au lien en haut à droite).

Condorcet PHP — Gestion des élections alternatives

32
16
avr.
2020
PHP

Condorcet PHP est une bibliothèque logicielle libre (licence MIT) écrite en PHP et/ou un programme en ligne de commande. Il permet de gérer une élection, de l’enregistrement des votes, jusqu’au calcul des résultats par des algorithmes de votes dits « alternatifs », la plupart d’entre eux étant liés aux critères de Condorcet.

Il dispose d’une API riche permettant une gestion intelligente et avancée des bulletins et des résultats, incluant des outils statistiques, de sécurité ainsi qu’une prise en compte des problématiques de cache et performances. Condorcet reste très simple à utiliser pour un besoin standard grâce à des méthodes et commandes explicites de haut niveau, ainsi qu’à de multiples formats utilisables.
Son architecture modulaire permet d’étendre ou de personnaliser ses usages et algorithmes. Condorcet peut aussi s’interfacer avec des bases de données, supprimant toutes limites tant au nombre de votes gérés, promettant des performances linéaires en temps de calcul et stables en mémoire, parfaitement praticables avec un petit ordinateur domestique, même pour les plus improbables démesures.

Initialement conçu en 2014 comme un très simple et monolithique code répondant à un besoin unique ; puis en tant que petit projet étudiant à l’ambition croissante, et fut de nombreuses fois réécrit au fil des gains de compétence de son développeur principal et de la maturation du projet.

wallabag a 10 ans et sort sa version 2.6 pour l'occasion

32
28
juin
2023
PHP

wallabag est une application open source (licence MIT) qui sauvegarde des articles et vous permet de les lire plus tard, sur votre smartphone, votre tablette ou votre liseuse.

Logo Wallabag

wallabag 🦘 fête ses 10 ans 🎂 ! Pour célébrer cet anniversaire, nous sommes heureux de vous annoncer la sortie de la version 2.6.0. (NdM: une version 2.6.1 est parue pour corriger un problème de mise à jour). Nous avons travaillé sur celle-ci pendant un an et je souhaite remercier chaque personne ayant contribué. J’espère que vous allez adorer les nouvelles fonctionnalités et les bugs que nous avons corrigés.

Dix ans pour un logiciel développé par des bénévoles et encore activement utilisé, je crois que nous commençons à arriver dans la cour des grands et je suis fier de l’équipe derrière ce beau projet.

Roundcube 0.7 pointe le bout de son nez

Posté par  (site web personnel) . Édité par Nÿco. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
31
16
déc.
2011
PHP

Roundcube, le célèbre client en ligne de couriel viens d'annoncer la disponibilité de la version stable 0.7. Moins de trois mois après la dernière version, le rythme des versions majeur s'accélère (précédemment environ six mois), sans doute encore une victime de l'effet Google Chrome.

Roundcube est de plus en plus populaire et est même intégré à Kolab Groupware ou Mac OS X Lion Server. Pour rappel, Roundcube est publié sous licence GPLv2 et est en écrit en PHP, utilise une base de données SQL (MySQL, PostgreSQL, SQLite ou MSSQL).

Sortie de GLPI 0.85

Posté par  . Édité par BAud, Nÿco, Nils Ratusznik, Benoît Sibaud, Anonyme, François, Davy Defaud, palm123 et ZeroHeure. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
31
26
nov.
2014
PHP

Après plusieurs mois de développement, l’équipe du projet GLPI a le plaisir de vous annoncer la sortie de GLPI version 0.85. Pour rappel, GLPI est une solution open-­source de gestion de parc informatique et de servicedesk, GLPI est une application Full Web pour gérer l’ensemble des problématiques de gestion de parc informatique : de la gestion de l’inventaire des composantes matérielles ou logicielles, à la gestion de l’assistance aux utilisateurs.

GLPI

Beaucoup de nouveautés attendues depuis longtemps sont maintenant présentes dans cette dernière mouture, comme la prise en compte complète du référentiel de bonnes pratiques ITIL (ce qui inclut la gestion des changements) ou encore l'intégration de la gestion de projets directement dans le cœur de GLPI.

Cheky

Posté par  (site web personnel) . Édité par Nils Ratusznik, Pierre Jarillon, Benoît Sibaud, ZeroHeure et Davy Defaud. Modéré par ZeroHeure. Licence CC By‑SA.
Étiquettes :
31
29
mai
2017
PHP

Cheky (anciennement LBCAlerte) est un logiciel sous licence GPL v3 permettant de recevoir des alertes pour Leboncoin.fr et SeLoger.com.

Les alertes peuvent se faire sous plusieurs formes :

  • envoi de courriel ;
  • envoi de SMS via l'API Free Mobile et OVH Telecom  ;
  • envoi de notification (Pushbullet, Pushover, etc.) ;
  • par flux RSS.

La fonction secondaire de Cheky est de vous permettre de sauvegarder les annonces Leboncoin (avec contenu + photos). Cette sauvegarde conserve les annonces en cas de suppression ou de modification sur Leboncoin.

Pour en savoir plus, voyez la suite…

API Platform 2 : un cadriciel pour créer des API Web hypermédia en quelques minutes

29
10
déc.
2016
PHP

Après une année de développements et plus de 700 commits réalisés par plus d’une centaine de contributeurs à travers le monde, la nouvelle version d’API Platform vient d’être publiée. API Platform v2 est une réécriture profonde du cadriciel (framework) incluant une refonte complète de la conception, des ajouts de nouvelles fonctionnalités et des corrections de bogues.

API Platform est un framework libre (licence MIT) écrit en PHP 7 et basé sur Symfony destiné à la création d’API Web modernes, puissantes et sécurisées. Cet outil est particulièrement adapté à la construction de systèmes d’informations « API-centric » basés sur l’hypermédia et le Web des données (linked data). Il permet de réaliser facilement des applications d’une seule page (single‐page applications) ou dédiées aux mobiles en utilisant des bibliothèques JavaScript telles que React ou AngularJS.

Le sponsor principal d’API Platform est la société coopérative lilloise Les-Tilleuls.coop. Il s’agit d’une SCOP spécialisée dans la conception et la réalisation de logiciels comptant une vingtaine de salariés qui pratiquent l’autogestion et se partagent les bénéfices engrangés de manière égalitaire.

Capture d'écran

En seconde partie de la dépêche, vous trouverez une traduction en français de l’annonce de sortie de cette version deux, qui revient sur les fonctionnalités principales du cadriciel.

Facebook libère son compilateur PHP just-in-time HipHop Virtual Machine (ou HHVM)

Posté par  (site web personnel) . Édité par Benoît Sibaud, Nÿco, Malicia, patrick_g et Nils Ratusznik. Modéré par Mouns. Licence CC By‑SA.
28
13
déc.
2011
PHP

HipHop pour PHP transforme le code source PHP en C++ en utilisant g++. Il a été développé par Facebook et son code source a été mis à disposition en 2010.

Facebook a ajouté sur le compte GitHub du projet HipHop l'HipHop Virtual Machine (HHVM). Selon Facebook, celui-ci permettrait d'augmenter l'exécution du code PHP de 60 % (par rapport à HipHop) et d'utiliser 90 % de mémoire en moins (NdM : information erronée démentie depuis).

NdM : l'HipHop pour PHP est sous licences PHP 3.01 et Zend 2.0. Le README indique qu'il est disponible sous Linux et FreeBSD.

Sortie de txt2tags en version PHP

Posté par  (site web personnel) . Édité par Davy Defaud, Florent Zara, Xavier Teyssier et patrick_g. Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
28
28
sept.
2012
PHP

Txt2tags vous connaissez ?

C’est le grand perdant du « lightweight markup war » (la guerre des langages de balisage légers) : bien que plutôt logique dans sa syntaxe, d’ailleurs proche de la syntaxe de Creole, ce dernier justifiant ses choix dans une étude fort détaillée, donc applicable dans une certaine mesure à txt2tags, extensible sans produire des dérivés incompatibles entre eux (on expliquera comment plus loin), créé avant toutes les autres syntaxes wiki légères, il arrive pourtant bon dernier en termes de part de marché, c’est‐à‐dire d’utilisation, face à MediaWiki, Markdown, ReStructuredText, etc.

Pourquoi ? Divers paramètres entrent sans doute en compte dans cet état de fait. Néanmoins, txt2tags ayant été programmé en Python, on peut imaginer que ce langage n’étant pas disponible sur la plupart des hébergements mutualisés, il n’était pas question de l’utiliser dans des projets nécessitant un wiki en ligne, d’où un délaissement du langage de la part des utilisateurs potentiels.

Ce créneau a donc été pris dans une large part par l’implémentation en PHP de Markdown, que l’on retrouve absolument partout, et du coup la syntaxe Markdown étant connue, elle a été démocratisée selon un cercle vicieux qui a fait que de nombreux services l’ont pris en compte par ailleurs, même en utilisant une autre implémentation (Ruby, etc.). Ainsi, Markdown, ou l’une de ses versions modifiées initiées pour pallier ses limitations de base, comme Markdown Extra ou GitHub Flavored Markdown, sont la syntaxe par défaut de Diaspora, LinuxFr.org, Tumblr, GitHub, etc.

Mais la lutte n’est pas finie !