Archives du mot-clé FabCMS

Supprimer une constante en PHP

Supprimer une constante en PHP, voilà une idée bien bizarre ! Effectivement, si l’on veut modifier ou supprimer une constante alors il ne devrait pas s’agir d’une constante mais d’une variable. Je suis tout à fait d’accord sur ce point !

Alors pourquoi vouloir supprimer une constante ? J’ai pris l’habitude d’écrire des tests unitaires pour les logiciels que je développe. Cela me permet de m’assurer qu’ils fonctionnent correctement et de faire évoluer le logiciel de façon plus ou moins importante sans « casser » le reste de l’application. Le problème c’est que j’ai un fichier qui défini une constante. Pour les tests sur ce fichier, je définis une constante à une valeur particulière mais dans les autres fichiers de tests cette constante doit reprendre sa valeur normale… L’idée ici est donc de supprimer la constante à la fin du fichier de tests pour permettre de la redéfinir dans les autres.

Continue la lecture

Upload de fichier avec barre de progression en PHP

Il y a une petite nouveauté dans PHP 5.2 qui est passée un peu inaperçu, c’est la possibilité de suivre l’avancement de l’upload d’un fichier.

Je me suis un peu amusé à tester ça en local et ça marche :) Bon, le problème c’est qu’il faut l’extension APC pour pouvoir lire dans le cache PHP. Je vous aurai bien mis une petite démo en ligne mais mon hébergeur n’a pas installé l’extension et je ne peux pas la charger dynamiquement avec la fonction dl.

Du coup, je me demande si ça vaut vraiment la peine d’implémenter ça dans l’E2T… Combien d’hébergeurs propose APC ? Je doute qu’il y en ait beaucoup malheureusement. C’est dommage car le système est assez simple à mettre en place, quelques lignes de code (PHP et Javascript) suffisent.

Je pensais aussi l’utiliser dans FabCMS mais je vais finalement me diriger vers quelque chose en flash…

Multi-Upload en php/javascript

Ça y est ! Je viens de terminer la dernière fonctionnalité de mon CMS perso pour la prochaine version. Il s’agit d’un gestionnaire de fichiers. Le fonctionnement est plus ou moins similaire au gestionnaire de pages sauf que cette fois c’est des fichiers physiques. Par chance, j’avais déjà écrit une classe php pour gérer les fichiers physiques… sur un FTP distant. Comme je n’en ai plus besoin (les images et mon site sont chez le même hébergeur), j’ai dû écrit une nouvelle classe pour un dossier qui serait disponible localement.

Une des fonctions du gestionnaire est bien sûr de pouvoir envoyer des nouveaux fichiers. Le bût d’un CMS est normalement de pouvoir gérer tout son site via une interface web, il faut donc quelque chose d’assez ergonomique et rapide. Souvent le problème pour ce genre de fonction c’est l’upload de plusieurs fichiers. Si votre formulaire ne propose d’uploader qu’un seul fichier, cela va vite devenir chiant. Il y a bien une solution qui consiste à afficher plusieurs champs « fichier » dans la page mais nous allons être limité avec le temps d’exécution de php. Vous pourrez donc au maximum uploader que 2-3 fichiers en même temps…

Heureusement, il existe une autre solution : l’excellente classe javascript MultiUpload de Nem. Vous saisissez les fichiers à envoyer et seulement après vous validez le formulaire. Les fichiers seront envoyés un par un mais sans intervention de la part de l’utilisateur. Bien sûr, il faut toujours saisir les fichiers un par un mais ce n’est pas gênant pour une quantité raisonnable de fichiers (moins de 20).

Il reste maintenant plus que quelques petits détails ainsi que mettre à jour mes modules et je pourrais mettre à jour mon site :D