PHPPRO

PHP Professionnel pour les entreprises

Aller au contenu | Aller au menu | Aller à la recherche

Modèle PDF : où comment éviter de perdre son temps

Chez nombre de mes clients la "génération de PDF" est un vrai sujet / enjeux. Mais que veux-t-on vraiment générer ?

Lire la suite...

Entretien avec un développeur et un chef de projet

Voici le déroulé d'un entretien que j'ai animé en fin d'année dernière dans une petite entreprise qui fait du développement Symfony.
Mon objectif était de comprendre leurs pratiques (de développement), les outils qu'ils utilisent et surtout d'avoir leur ressenti sur leur niveau d'industrialisation et les problèmes qu'ils rencontrent.
Cet entretien téléphonique m'a permi de bien préparé la journée "marathon" d'industrialisation que j'ai effectuée chez eux le lendemain.

Lire la suite...

Le Mode Hébergé (ou Application Service Provider) : où comment changer le business model de votre client

J'ai récemment répondu à un appel d'offres concernant la conception et le développement d'une base de données centralisée sur des données géographiques, je livre ici quelques pensées et remarques liées à cette réponse

Lire la suite...

Complémentarité PHPUnderControl / Phing

Suite à une demande d'un internaute, j'explique la complémentarité entre PHPUnderControl et Phing

Lire la suite...

Les frameworks c'est bien, développer "en dehors" c'est mieux

J'explique mon point de vue sur les frameworks et sur une erreur (de mon point de vue) qui coute cher aux entreprises...

Lire la suite...

SimpleTest, installation via mon PEAR

Pour les besoins de l'AFUP, je dois me mettre un peu à SimpleTest (j'ai plus l'habitude sur PHPUnit). Je n'ai pas trouvé de channel PEAR (a priori) fournissant un package installable via PEAR de SimpleTest et fournissant l'outil en ligne de commande (comme peux le proposer PHPUnit ou d'autres outils). Je vous propose donc celui de mon cru...

Lire la suite...

Cloner une arborescence projet modèle

Vous créez souvent de nouveaux projets pour vous ou pour les autres ?
Vous réalisez souvent des tâches répétitives de "clonage" d'arborescence en changeant certains noms de fichiers ou contenu pour les contextualiser ?
Ce script certainement peut vous aider !

Lire la suite...

Capitaliser, Améliorer et Rationnaliser les développements PHP en interne

Je vous livre ici un document de travail anonymisé sur la présentation d'un outil que je développe pour un client pour cadrer les pratiques de développements, ainsi que les enjeux et la démarche à adopter en interne.

Lire la suite...

Utilisez PEAR pour gérer vos dépendances

PEAR (http://pear.php.net) est très mal connu dans les entreprises (en tout cas celle que je visite...).

Je ne vais pas vous décrire ici tous les fondements et usages de cet outil, cependant, au delà d'une "librairie" vieillotte, il s'agit d'un outil puissant qui vous donne le pouvoir de réutiliser votre code et de gérer vos dépendances.

Lire la suite...

Incompatibilité Phing 2.3.3 et PHPUnit 3.4.x+

Phing, le port de Ant (java) en PHP, propose des tasks (balises xml) permettant d'exécuter des classes PHPUnit (tests unitaires en PHP). La version stable de Phing n'est maintenant plus compatible avec la dernière version stable de PHPUnit (3.4.3 actuellement) voir avec la branche 3.4.x, et on obtient l'erreur :

[PHP Error] require_once(PHPUnit/Util/Log/XML.php): failed to open stream: No such file or directory [line 22 of C:\Program Files\PHP\PEAR\phing\tasks\ext\phpunit\phpunit3\XMLPHPUnit3ResultFormatter.php]

Voici une piste pour y remédier :

Lire la suite...

Session "Oui ! PHP est industriel !" au forum PHP 2009 @Paris

Le forum PHP 2009 de Paris s'est déroulé la semaine dernière, je vous livre le support de session que nous avons utilisé avec Damien Seguy à l'occasion de la présentation de notre session sur l'industrialisation en PHP.

Lire la suite...

Forum PHP AFUP : 12 et 13 novembre 2009, Paris : mon planning

De retour de congé aux pays des requins, je vous livre mon planning prévisionnel pour le prochain évènement PHP parisien de cette semaine, si certains veulent venir discuter PHP / Agilité, ca peut aider !

Lire la suite...

Analyse de dépendances classes/fichiers

Dans mon précédent post sur "Zend Framework 1.8.3 demystified, Act I", je vous avais livré un schéma de dépendances entre packages générés grâce à un de mes outils... Je vous livre maintenant l'outils.

Lire la suite...

Zend Framework demystified, act I...

Voici une vue des dépendances entre package dans Zend Framework 1.8.3 réalisé avec un de mes outils d'analyse de code.

Lire la suite...

PHP : Une plateforme industrialisable au service de l'Agilité

Je publie sur slideshare une version refactorée d'une présentation draft que j'avais réalisé il y a quelques mois pour l'Université du S.I avant de préférer avec Damien Seguy une version plus light... Au programme, PHP et Agilité, encore et toujours ;)

Lire la suite...

Test unitaire: comment bouchonner ?

L'exécution d'un test unitaire nécessite en règle générale la mise en place de bouchon (mock en anglais) qui permettent de simuler les appels systèmes ou d'api sous jacent.
En effet, il peut être difficile de tester une partie de votre code qui a des impacts sur le système externe (enregistrement sur disque, appels réseaux / webservices, stockage mémoire vive, appels base de données...), le principe du bouchon est alors bien pratique pour tester la logique sans déclencher toutes les opérations.

Lire la suite...

Agilité, Tests et Industrialisation en PHP

Je publie sur slideshare la présentation faite ce jour. Je parle de méthodologie agile au travers de l'histoire d'une équipe, et d'industrialisation des développements PHP (Intégration Continue, Tests, ...)

Lire la suite...

PS : c'est vraiment pas mal : [...], me suis bien éclaté aujourd'hui ;-)

Retours sur la satisfaction d'un développeur.

Lire la suite...

La loi de Demeter où le principe de la connaissance minimale

Vous avez certainement déjà fait : $this->getFirstObject()->getSecondObject()->doSomething() ? Vous avez déjà certainement eu des soucis a repasser à différents endroits de votre code quand l'interface du "SecondObject" change, voici un principe de développement logiciel qui alors nous être utile...

Lire la suite...

Faire le ménage dans le code : mettre le code mort à la poubelle ou le garder au cas où ?

Une question d'un développeur:
La prochaine itération va comporter un bon nombre de tâches techniques et nous avons pensé « faire le ménage » dans notre code, mais que faire du code mort ? Faut-il supprimer les sections inutilisées ... en partant du principe qu’elles polluent les classes ... ou bien les conserver si un jour elles venaient à resservir ?" Ma réponse...

Lire la suite...

- page 2 de 5 -