Dans le cadre du développement de Phyxo, j'utilise Symfony. Je suis en train de préparer la version 4.0.0 de Phyxo et je viens de mettre à jour Symfony en version 7.2.0. La version est très récente et je viens de tomber sur un bug bizarre qui est apparu avec cette mise à jour. An exception has been […]
Mot-clé - php
Phyxo et PHP 8
Phyxo fonctionne sans aucun soucis avec PHP 8, sorti au mois de novembre 2020. Phyxo nécessite php 7.3 au minimum. D'ailleurs je vais changer ce minimum et passer à php 7.4 à minima car le support actif de php 7.3 s'est arrêté au mois de janvier 2021. La version 7.3 ne reçoit plus que des patchs de […]
Atoum ou PHPUnit ou les deux ?
Depuis que j'ai commencé le développement de Phyxo, j'ai utilisé Atoum pour faire des tests unitaires. J'aime l'approche plus "moderne" de la façon d'écrire les tests. Mais depuis quelques temps je commence à écrire des tests fonctionnels de mes contrôleurs et du coup, j'utilise aussi […]
Travailler simultanément sur plusieurs branches d'un même dépôt git
Dans le cadre du développement de Phyxo, il m'arrive de devoir travailler sur plusieurs branches en même temps pour de multiples raisons : vérifier "visuellement" que n'ai rien cassé entre deux versions vérifier un comportement que je trouve étrange sur la version en cours de […]
Installer Phyxo en ligne de commande
Comme de nombreuses applications web, Phyxo peut être installé et configuré depuis un navigateur en donnant les informations d'accès à la base de données, le premier utilisateur,... Mais tout cela peut aussi être fait en ligne de commande. Une fois l'archive décompressée, il suffit d'aller dans le […]
Au revoir Travis
J'ai utilsé pendant très longtemps Travis pour faire de l'intégration continue. J'ai souffert par moment pour faire fonctionner ces tests dans cet environnement pas très convivial. Mais il faut avouer que ne pas avoir à s'occuper des tests étaient bien agréable. Quand le modèle économique de Travis […]
Phyxo 2.0.0
Avec les beaux jours qui arrivent, voici une nouvelle version majeure de Phyxo, la version 2.0.0. J'ai continué les évolutions de nettoyage du code avec : le passage complet à Twig et donc la suppression de Smarty l'utilisation du système de traduction de symfony le passage de toutes les URLs […]
Et une nouvelle version de Phyxo, la 1.10.1
Finalement, j'ai dû sortir la version 1.10.0 un peu trop vite et je sors deux jours après une nouvelle version. Merci à Laurent mon plus fidèle utilisateur. Cette version corrige deux choses : le script de mise à jour depuis la branche 1.9 ne portait pas le bon nom et forcément il n'était pas trouvé […]
Phyxo 1.10.0
Une nouvelle version de Phyxo vient de sortir. Quelques fonctionnalités côté visiteur : un nouveau thème et les anciens thèmes ne sont plus livrés mais sont toujours disponibles en extensions. Sous le capot, j'ai continué le "nettoyage". J'ai commencé à utiliser le système de session de […]
Version de maintenance de Phyxo
Aujourd'hui je viens de publier une nouvelle version de Phyxo, la 1.9.8. Il n'y a pas de nouveauté dans cette version puisque je respecte autant que possible la politique SemVer et comme c'est une version mineure il n'y a que des corrections de bugs. Au menu il y a donc : correction du lien de mise […]
Bonnée année et merci d'utiliser Phyxo
Décidément j'aurai publié de nombreuses versions mineures dans la branche 1.9 de phyxo. Depuis quelques temps j'avais un bug bloquant que je n'arrivais pas à reproduire. Le problème ne semblait se poser que lorsque le serveur http était nginx. J'ai fini par réussir à reproduire le problème de […]
Et une galerie photos pour démarrer une nouvelle année.
Après la galerie photos pour Noël, voici une nouvelle version de Phyxo pour démarrer la nouvelle année en présentant toutes les belles photos prises en cette fin d'année 2018. Bon ce n'est pas que pour le plaisir de publier une nouvelle version, mais c'est aussi pour corriger quelques problèmes […]
Une galerie photos pour Noël !
Pour le réveillon de Noël je viens de sortir une nouvelle version de Phyxo, la version 1.9.5 avec quelques serrages de boulons par ci par là, quelques corrections de coquilles. Comme pour les versions précédentes vous pouvez la récupérer en suivant les liens suivants : au format zip (phyxo-1.9.5.zip […]
Sortie de Phyxo 1.9.3
J'ai sorti il y a 8 jours Phyxo 1.9.2 en pensant avoir corrigé le problème de mise à jour que j'avais rencontré. En fait il n'en était rien. J'ai fait de nombreux essais de mise à jour et cette fois j'ai le plaisir d'annoncer la sortie de Phyxo 1.9.3. J'en ai profité pour mettre à jour symfony vers […]
Sortie de la version 1.9.2 de phyxo
Après quelques ratés, je viens de sortir une nouvelle version de Phyxo, la version 1.9.2. Au menu : un peu de symfony sous le capot, avec la barre de debug notamment, énormement de code modifié pour essayer de moderniser l'ensemble du code de l'application, des mises à jour du thème […]
Regrouper les requêtes SQL
Toujours dans le but d'améliorer le code de Phyxo, après avoir supprimé les fonctions globales (au moins en majeure partie), j'ai voulu m'attaquer à la suppression de l'utilisation de global. Cette tâche étant finalement trop complexe à ne niveau, j'ai plutôt décidé de regrouper toutes les requêtes […]
Eviter les fonctions globales
Dans la lourde tâche qui consiste à améliorer le code de Phyxo, la plus grosse tâche est d'éviter les fonctions globales. Utiliser des fonctions globales a plusieurs inconvénients : oblige à les inclure (avec la fonction include) partout où on en a potentiellement besoin, même si on a passe dans une […]
Rendre obsolète une fonction

Lorsqu'on ajoute des fonctionnalités à une application, on peut être amené à vouloir supprimer une fonction. Une bonne pratique est de d'abord rendre obsolète cette fonction avant de la supprimer. Cela est censé laisser le temps aux développeurs d'adapter le code qui utilise cette fonction. Par […]
Utilisation de la barre de debug de symfony

Pour profiter de la toute nouvelle barre de debug de Symfony dans Phyxo, je vais en profiter pour afficher les requêtes SQL. Il suffit de suivre la documentation du Data Collector Il faut créer une classe qui implémente l'interface DataCollectorInterface ou qui entend la classe DataCollector. Je […]
Gestion des routes dans Phyxo en utilisant le composant Symfony Routing

Pour continuer dans la modernisation du code de Phyxo, passons à la gestion des URLS en utilisant le composant Routing de Symfony. Il faut bien évidemment avoir installer Symfony avant.