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 […]
Ne pas partager mes modifications si les tests échouent !
A chaque fois que je partage mes modifications sur le code que je viens de faire en faisant un : $ git push je devrais au préalable avoir lancé mes tests (unitaires et/ou fonctionnels) mais il m'arrive d'oublier. Et comme pour toutes les tâches de ce genre il faut automatiser au maximum pour ne pas […]
Des vraies sessions
Je continue encore et toujours l'amélioration du code de Phyxo. J'ai fini de regrouper toutes les requêtes SQL dans des classes spécifiques (repositories). J'en ai profité aussi pour : arrêter de maintenir plusieurs thèmes trop anciens et j'utilise désormais un thème par défaut basé sur bootstrap […]
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 […]
Application horloge qui plante sous LineageOS 15.1
J'ai mis à jour dernièrement un OnePlus One dans la version 15.1 de LineageOS. Sans raison apparente l'application horloge qui sert par exemple à se réveiller en musique le matin plante dès qu'on la lance. Je redémarre le téléphone sans plus de réussite. En creusant un peu, j'ai fini par trouver une […]
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.
Intrégration de Symfony dans Phyxo

Une première étape dans la modernisation du code de Phyxo est l'intégration de Symfony ainsi que quelques composants.
Comment moderniser une vieille application PHP ?
J'ai contribué pendant de nombreuses années à PhpWebGallery Piwigo. J'y ai pris beaucoup de plaisir et j'ai rencontré des gens formidables. J'ai même contribué à faire entrer l'application dans debian en tant que package. Pour diverses raisons, j'ai fini par ne plus contribuer à Piwigo. Mais j'avais toujours besoin d'une galerie photos et plutôt que de repartir de zéro, j'avais décidé de faire un fork de Piwigo. Ainsi est né Phyxo qui depuis continue d'évoluer petit à petit.
La côte de granit rose
Ce n'est le pays bigouden où se réfugient certains mais la vue n'est pas trop mal : […]
Phyxo en version 1.8.0
Je viens de publier la version 1.8.0 de Phyxo. Cette version ajoute un thème responsive (basé sur bootstrap) dans la partie administration. Comme d'habitude, vous devriez voir apparaître la nouvelle version depuis votre interface d'administration et pouvoir ainsi mettre à jour en quelques clics. Si […]