planetePHP.fr
Remi Collet Remi Collet 2017-01-20T06:53:19+01:00

PHP version 7.1.0 est sorti !

La RC6 était bien GOLD, donc la version 7.1.0 GA vient juste d'être publiée, à la date prévue.

Un grand merci à tous les développeurs qui ont contribué à cette nouvelle version majeure de PHP, et à tous les testeurs des versions RC qui ont permit de livrer un version de qualité.

Les RPM sont disponibles dans le dépôt remi-php71 pour Fedora  23 et et Enterprise Linux  6 (RHEL, CentOS) ainsi qu'en Software Collection dans le dépôt remi-safe.

Lire l'annonce de version PHP 7.1.0 Release Announcement (en anglais).

La tribu s’agrandit:

Tribe.jpg

Lire aussi :

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir le mode d'installation, ou utiliser l'assistant de configuration.

Remplacement du PHP par défaut du système par la version 7.1 (le plus simple) :

yum-config-manager --enable remi-php71
yum update php\*

emblem-important-2-24.pngIl est possible que la mise à jour échoue si des extensions installées ne sont pas encore disponibles pour PHP 7, cela évite de casser une installation sans avertissement, grâce à la protection de la compatibilité de l'ABI (php(zend-abi)). Après vérification, il peut donc être nécessaire de désinstaller certaines extensions avant la mise à jour. Normalement, l'ensemble des extensions compatibles PHP 7 sont aussi disponibles pour PHP 7.1 (sauf phalcon).

Installation en parallèle, en Software Collection de PHP 7.1 (x86_64 uniquement, recommandée pour les tests) :

yum install php71

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.

la suite...

AFUP AFUP 2017-01-06T00:00:00+01:00

Prenez note des événements majeurs de l'AFUP pour 2017 !

11 février, 15h30, Assemblée générale

  Lors de cette AG, le bureau 2016/2017 présentera son bilan, les compositions du bureau et du conseil de surveillance 2017/2018 seront renouvelées et la ville de destination du PHP Tour 2018 sera désignée suite à une présentation de chaque équipe en compétition. Indiquez votre présence ou déléguez votre pouvoir si ce n'est pas déjà fait ! Connectez-vous au back-office pour nous faire part de votre intention.

L'AG sera précédée de la journée de développement : dès 10h30 venez coder avec nous.

 

18-19 mai PHP Tour 2017 à Nantes

Le PHP Tour a déjà fait étape dans la cité de la duchesse Anne en 2012. Nous en gardons un tel souvenir que nous n’avons pas hésité lorsque l’AFUP Nantes nous a proposé de revenir aux portes de la Bretagne ! Rejoignez-nous pour 2 jours 100% PHP en présence de toute la communauté.

Pour rappel le CFP est toujours en cours, et vous pouvez également voter pour les talks qui vous intéressent !

 

À l'automne prochain Forum PHP 2017

  Est-il encore nécessaire de le présenter ? Le plus grand rendez-vous francophone annuel de toutes les communautés PHP, professionnelles et open-source, dédié au langage et à son écosystème se tiendra au Beffroi de Montrouge fin octobre ou début novembre. Tenez-vous prêt à réserver vos places, chaque année l'événement annonce complet !

 

Toute l'année, en région avec les antennes AFUP

Une dizaine d'antennes couvre déjà le territoire, et d'autres vont faire leur apparition en 2017 : visitez notre carte interactive pour trouver l'antenne la plus proche de chez vous, et contactez-la pour connaître ses prochains événements ! Spoiler alert : elles vous réservent une super-surprise au printemps... On vous en dit plus bientôt.

À très bientôt donc, c'est sûr !

jy[B]log jy[B]log 2016-12-22T16:26:00+01:00

Xulfr.org est mort, vive Xulfr !

En 2003, j'ouvrais le site xulfr.org, pour publier de la documentation sur XUL, et pour promouvoir cette technologie, utilisée par Mozilla pour réaliser l'interface du navigateur Firefox entre autres, et utilisée donc dans le développement des extensions de ce navigateur.

Depuis quelques années, Mozilla abandonne peu à peu XUL au profit de HTML5. D'ailleurs nombre d'innovations apparues dans XUL ont évolué et ont été standardisées en dehors de XUL, pour être utilisable dans le monde web : modèle de boite flexbox en CSS, WebComponents avec le shadow tree, etc..

Depuis quelques années donc, je délaissais peu à peu l'animation et la maintenance du site xulfr.org. On peut même dire que le site était complètement à l'abandon ces 2-3 dernières années. Et plus le temps passait, plus je songeais à fermer le site. D'ailleurs il y a un peu plus d'un an, j'avais annoncé sur le site sa prochaine fermeture (news que j'ai supprimé depuis).

En fait, je voulais fermer le site, non pas parce que je voulais qu'il disparaisse, mais parce que sa maintenance devenait de plus en plus problématique, et que je n'avais plus le temps de m'en occuper. En effet, les applications sur lesquelles étaient basées le site, comme Dotclear pour la partie news, ou Phorum pour la partie forum, nécessitaient d'être mis à jour. Cependant la mise à jour de Dotclear demandait pas mal de boulot, puisque c'était une vieille version 1.2.3 datant de 2005, et celle de Phorum était impossible puisque cette application n'est plus maintenue depuis 2008. J'avais pourtant bien fait quelques évolutions il y a quelques années, en remplaçant le wiki, basé à l'origine sur PHPWiki, par une application wiki fait maison, mais que je n'ai jamais eu le temps de terminer (entre autre, il n'était pas possible d'éditer les pages, ce qui était balo pour un wiki).

Bref, xulfr était basée sur des applications, certainement trouées au niveau sécurité, mais aussi qui devenaient de plus en plus incompatible avec les versions successives de PHP. J'avais dû les patcher par le passé pour corriger quelques incompatibilités au rythme des déménagements d'un serveur à l'autre. Mais la semaine dernière ça a été la catastrophe, en installant le site sur une Debian récente avec PHP 5.6 (le serveur actuel sur lequel il est installé devant être éteint ces prochaines semaines). Le bon vieux dotclear provoquait des erreurs dans tous les sens. Phorum tournait tant bien que mal. Le wiki tenait presque la route.

Manquant de courage, j'avais décidé alors Lundi de ne pas faire cette migration vers un nouveau serveur, et de fermer définitivement le site : une page bouchon avec un joli message d'adieu sur mon serveur perso, des redirections et des configurations "http 310 gone" bien placées, un message sur twitter et l'affaire était pliée.

la suite...

Nicolas Hachet Nicolas Hachet 2016-12-18T16:37:21+01:00

12 plateformes pour développer votre chatbot sans écrire de code

Avec l’arrivée massive des chatbots, ces robots conversationnels permettant un dialogue entre une application et un utilisateur, de nombreuses solutions Web se développent et arrivent sur le marché des bots. Les plateformes sont généralement multi-channels : Facebook Messenger, Twitter, Slack, Telegram, Hipchat, pour ne citer qu’eux. Ces solutions ont le mérite de proposer la création Continue Reading

Cet article 12 plateformes pour développer votre chatbot sans écrire de code est apparu en premier sur Blog PHP de Nicolas Hachet.

Nicolas Hachet Nicolas Hachet 2016-12-18T15:38:54+01:00

Android : 5 applications GPS gratuites sans connexion 3G/4G

Il y a quelques années, je vous présentais Mappy GPS Free, application Android gratuite permettant d’installer un GPS sur votre smartphone sans nécessairement être connecté aux réseaux 3G ou 4G. Petit update 2016 pour vous présenter aujourd’hui 5 applications GPS gratuites pour Android  qui permettront de vous guider sans avoir besoin de télécharger les cartes au fur Continue Reading

Cet article Android : 5 applications GPS gratuites sans connexion 3G/4G est apparu en premier sur Blog PHP de Nicolas Hachet.

Remi Collet Remi Collet 2016-12-16T15:45:08+01:00

Ma station de travail PHP

Je vois régulièrement passer des questions sur l'utilisation d'anciennes versions de PHP sur Fedora (qui fournit la 5.6) ou de versions plus récentes sur RHEL / CentOS (qui fournit la 5.4).

Un développeur utilisant PHP a souvent besoin de tester son travail avec plusieurs versions. Donc voici un petit descriptif de la station de travail que j'utilise quotidiennement

Système d'exploitation : Fedora 23 Workstation x86_64 (mais les exemples fonctionnent aussi sur RHEL ou CentOS 7)

Dépôts tiers : rpmfusion (pour écouter de la musique en travaillant) et évidement remi

# wget http://rpms.remirepo.net/fedora/remi-release-23.rpm
# dnf install remi-release-23.rpm
# dnf config-manager --set-enabled remi

 

Installation des versions de PHP

J'utilise les Software Collections qui permettent d'installer plusieurs versions en parallèle sans toucher au système de base, les versions de PHP 5.4, 5.5, 5.6, 7.0 et 7.1 sont disponibles dans mon dépôt, donc:

# yum install  php54 php54-fpm php54-php-mbstring php54-php-mysqlnd ...
# yum install  php55 php55-fpm php55-php-mbstring php55-php-mysqlnd ...
# yum install  php56 php56-fpm php56-php-mbstring php56-php-mysqlnd ...
# yum install  php70 php70-fpm php70-php-mbstring php70-php-mysqlnd ...
# yum install  php71 php71-fpm php71-php-mbstring php7-php-mysqlnd ...

Les utilisateurs de RHEL peuvent aussi utiliser les SCL officielles disponible dans le canal RHSCL (php54, php55, rh-php56 et rh-php70).

Les utilisateurs de CentOS peuvent aussi utiliser les SCL, maintenues par le SIG, disponibles dans le dépôt centos-sclo-sclo.

 

Configuration de l'environnement Web

PHP FastCGI Process Manager

Je n'utilise pas mod_php qui n'autorise qu'une seule version du module, mais FPM.

Je ne suis pas en production mais sur une station de développement, donc afin de limiter la charge, je modifie la configuration de chaque FPM pour utiliser le mode "ondemand". J'utilise aussi un port réseau différent pour chaque version

Example, pour PHP 7.0, dans le fichier /etc/opt/remi/php70/php-fpm.d/www.conf

listen = 127.0.0.1:9070
pm = ondemand

Je configure le port pour SELinux

# semanage port -a -t http_port_t -p tcp 9070

Et ensuite j'active le service

# systemctl start php70-php-fpm
# systemctl enable php70-php-fpm

Et j'applique pour chaque version.

la suite...

jy[B]log jy[B]log 2016-05-20T16:57:00+02:00

Défi 2016 redéfinit

En début d'année, je m'étais lancé un défi : un commit par jour sur des projets open-sources.

Ça fonctionné... pendant 86 jours. Au bout de 86 jours j'ai arrêté de vouloir commiter tous les jours, pour plusieurs raisons.

  1. Même si je suis un indécrottable geek dans l'esprit, et que je ne peux pas m’empêcher de coder même pendant les vacances, il y a des jours où je n'ai pas envie, où je suis trop fatigué, ou que l'emploi du temps (en particulier celui relatif à la vie familiale) ne me permet pas d'avoir du temps à consacrer au code. Il y a des jours comme ça où ce n'est pas possible. Cela serait possible si je vivais seul, sans ami, dans une cave coupée du monde. Mais ce n'est pas le cas. C'est le souci que j'avais crains en me lançant ce défi, et j'ai eu raison.
  2. Il y a des commits qui demandent plusieurs heures de travail. Je parle des vrais commits, ceux qui apportent un plus, des fonctionnalités complètes. Pas des commits "WIP", "WIP", "WIP", "DONE!!". Et donc il était très compliqué certains jours de produire un commit, faute d'avoir plusieurs heures devant soi à consacrer aux projets open-source.
  3. Il m'arrivait des jours où j'avais du temps, mais que j'oubliais (carrément) d'aller contribuer sur un de mes projets, et du coup je m'y mettais dans l'urgence à 23h. Pas vraiment l'heure idéale pour avoir les idées claires et pour produire du bon code.

Vers la fin de cette série de 86 jours, je commençais donc à avoir de plus en plus de mal à avoir ce commit quotidien, voir même à avoir d'envie de le faire. Je commençais alors à ruser : si je savais que le lendemain je n'allais pas avoir de temps, mais que j'en avais le jour même, je préparai un patch et le lendemain je n'avais plus qu'à lancer la commande commit. Et j'avais ainsi mon petit carré vert sur github pour la journée, même si je n'avais finalement contribué que 30 secondes. Il m'arrivait aussi de bosser sur un long truc sur un projet précis, sur plusieurs jours, et je prenais alors 5-15 minutes chaque jour pour aller committer un truc facile sur un autre projet, afin d'avoir mon petit carré vert du jour. Ça faisait avancer (un tout petit peu) cet autre projet, mais ça m'obliger à me concentrer au final sur 2,3 4 projets à la fois.

Vous trouvez peut-être cela ridicule ? Je vous rassure, moi aussi. Limite honte d'ailleurs de vous avouer tout ça. C'est pourquoi j'ai arrêté cette idée d'avoir un carré vert tous les jours. D'autant plus qu'au final, ça me mettais autant de pression, sinon plus, que lorsque je ne faisais rien. Durant ces 86 jours, j'ai fini par oublier l'objectif premier (celui de faire avancer les projets) et me suis finalement focaliser sur la manière de dérouler le tapis vert github.

Bref, au bout de 86 jours, c'est à dire le 26 mars, j'en ai eu marre.

la suite...

Pascal Martin (n+1).zéro Pascal Martin (n+1).zéro 2016-05-18T00:00:00+02:00

PHPTour 2016 Clermont-Ferrand : j'y serai, pour un atelier !

Le PHPTour aura lieu cette année les 23 et 24 mai — oui, dans moins d’une semaine — à Clermont-Ferrand !

Logo PHPTour 2016


Le programme a été publié il y a plusieurs semaines de cela, avec de nombreux nouveaux conférenciers, venant pour plusieurs de la région !

Les inscriptions sont encore ouvertes pour quelques jours : il est encore temps de prendre votre place1 ;-)


Je n’ai pas encore dressé mon programme précis pour ces deux jours, mais voici quelques conférences qui ont pour l’instant retenu mon attention — et je me suis abstenu de copier-coller la moitié du programme :

  • « PHP microservices beyond the trench », Vincent Vermersch & Etienne Roudeix
  • « Lancez-vous dans l’open source ! », Matthieu Napoli
  • « PHP Meminfo ou la chasse aux memory leaks », Benoit Jacquemont
  • « En route vers le multi-tâche ! », Julien Bianchi
  • « How I learned to stop worrying and love Regular Expressions », Jordi Boggiano
  • « Advanced package development », Hannes Van De Vreken

Cet événement sera également, j’espère, l’occasion de rencontrer un bon nombre d’entre vous !


Cette année, j’animerai un atelier de trois heures, intitulé « Créer un site pour tester du code sous plusieurs versions de PHP avec Docker ».
J’en reproduis la description ci-dessous :

Vous écrivez une portion de code PHP et aimeriez savoir comment elle se comporte sous plusieurs versions ? Sous PHP 7.0, 5.6, 5.5, HHVM,… ?

Pendant cet atelier, je nous propose de mettre en place un site Web permettant de saisir du code PHP.
Celui-ci sera exécuté dans un conteneur Docker, en isolation du système. Puis dans plusieurs conteneurs, chacun avec une version de PHP différente. Les résultats de ces exécutions seront retournés à l’utilisateur, affichés sur le site.
Si vous connaissez 3v4l.org, c’est un peu, dans l’idée, ce que nous allons commencer à redévelopper ;-)

Cet atelier vous permettra de jouer avec Docker et PHP : utiliser des images existantes, créer la vôtre. Vous repartirez avec des idées pour continuer à faire évoluer l’application développée pendant ces quelques heures.

la suite...

Perrick Penet (onpk.net) Perrick Penet (onpk.net) 2016-05-13T10:53:59+02:00

La révolution numérique est derrière nous

"We are being increasingly driven by the growth of the large companies," Levy said. "What you did not see on the list is layoffs from Apple or Google or Facebook or LinkedIn ... which are all expanding. This is the era of the large companies."

C'est à travers cette extrait d'un article du Mercury News intitulé Tech layoffs more than double in Bay Area que je vois pointer une tendance forte longuement décrite par Carlota Perez : la révolution numérique est désormais derrière nous.

We're right in the middle, between installation and deployment periods

C'est le même sentiment qui m'interpelle quand je vois le peu de techs ou de devs dans l'incubateur d'Euratechnologies : il y a beaucoup plus de profils "communication / marketing / commercial". Quand bien même celui-ci est beaucoup plus grand qu'avant. On peut même lever des fonds significativement sans avoir un véritable CTO dans l'équipe des fondateurs : What A Nice Place l'a prouvé.

Et que dire du projet de Peggy dans un registre largement plus "bootstrap" : sans site officiel, elle devrait se lancer avec une page Facebook, une adresse email, un PDF envoyé mensuellement et une plateforme tierce pour le paiement. Même pas besoin d'un dev PHP !

Kévin Dunglas (Lapin Blanc) Kévin Dunglas (Lapin Blanc) 2016-05-10T17:53:36+02:00

DunglasActionBundle 0.3.0 released!

DunglasActionBundle is an alternative controller system for the Symfony framework relying on autowiring and inspirited by the ADR pattern. Thanks to this bundle, controllers, commands and event listeners are automatically detected and registered as services. All their dependencies are also automatically registered. See the GitHub repository for an extensive documentation.

A lot of work have been done in  during the last months to improve the reliability and the usability of the bundle. Today I’m proud to announce a new release of this bundle (0.3.0). It is available on GitHub and includes the following changes:

  • Actions and controllers (src/*Bundle/Action and src/*Bundle/Controller directories), commands ( src/*Bundle/Command) and event listeners ( src/*Bundle/EventListener) are auto-registered by default
  • The name of auto-registered services are now the Fully Qualified Name of the registred class
  • Directories containing classes to auto-register as services are now configurable
  • Directories of third-party bundles (vendor/) are not tracked by default anymore
  • It’s not necessary anymore to clear the cache manually when a new class is added or removed from a tracked directory
  • If the class of an automatically registred service implements the ContainerAwareInterface, the container is automatically injected into it
  • It’s now possible to automatically add custom tags to auto-registered services
  • The custom routing annotation loader has been removed thanks to a bug fix in Symfony core (this feature still works out of the box)
  • The “autodiscover” feature has been removed, paths must be configured explicitly (regex supported)
  • The bundle can now be configured using the XML format
  • PHP 5.5 support has been added
  • Lot of a bug fixes

Thanks to @Ener-Getick, @stof and @weaverryan for their contributions and good design advices.

If you like this bundle, please give it a star on GitHub!

 


Flux ATOM

Flux RSS
Twitter

Les sources

Ajouter une source ?

Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org

Infos