PHPPRO

PHP Professionnel pour les entreprises

Interface ArrayAccess : où des objets que l'on utilise comme des array

Cette semaine j'ai fait découvrir l'interface ArrayAccess à un des développeurs Parisiens que je coache.
Cette fonctionnalité lui a permis d'appréhender facilement les tests unitaires sur du code legacy, je reviens sur cette "expérience"

Lire la suite »

Comment maîtriser la montée de version d'un framework dont votre application dépend ?

Vous utilisez très certainement un ou plusieurs framework comme fondations de votre projet / application (Symfony, Zend Framework, CakePHP...). Une des premières évolutions majeures (d'un point de vue technique, mais pas fonctionnel) consiste en la montée de version des frameworks dont vous dépendez. ...

Lire la suite »

Don't reinvent the wheel ... invent the car !

Vous avez déjà croisé des projets / équipes qui décident d'utiliser le dernier framework en vogue ? oui, certainement.
Par contre avez-vous déjà croisé des projets / équipes qui décident d'en changer (de framework) car ils se rendent compte que le choix n'est plus forcément pertinent ou le plus meilleur ? moi, non, pourtant c'est bien connu le la version parfaite d'un framework sur tous les sujets et ad vitam eternam n'existe pas...

Lire la suite »

Marathon de l'industrialisation : où comment outiller vos troupes en les motivant

Depuis quelques temps j'ai mis en place une activité spéciale que je propose à mes clients : Le Marathon de l'Industrialisation.
L'idée: focaliser toute l'équipe de développement au même moment sur un temps court, pour améliorer significativement les pratiques, et ce grâce à l'adoption de nouveaux (variable en fonction des clients) outils et techniques de développement. Je vous livre ici un de mes supports utilisé en Juin 2009 chez un de mes clients.

Lire la suite »

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 »

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 »

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 »

Service/Adapter : mes adapters sont trop gros mon capitaine !

Si vous implémentez le pattern Adapter, ou bien si vous suivez mes posts, vous avez entendu parler de la notion d'Adapter. Mon point de vue sur la question est qu'ils doivent être minimals (1 à 2 lignes par méthodes, aucune logique autre que l'appel à une méthode native php / extension). On arrive alors de temps en temps à une problématique : les adapters ont tendance à vouloir "grossir", quand on veux "généraliser" la logique dans le service (et qu'on relègue l'implémentation dans l'adapter). La contrainte des 1 à 2 lignes est alors difficile à respecter... ou presque !

Lire la suite »

Tests d'intégration, quézako ?

Les tests unitaires c'est bien, mais ce n'est pas suffisant, surtout quand on a besoin de tester que notre application s'intègre effectivement bien avec un webservice d'un de nos fournisseurs... Parlons de tests d'intégration, donc.

Lire la suite »

Tests Unitaires : ma philosophie via un exemple

Je vois souvent des tests dit unitaires chez mes clients, mais qui se connectent à la base de données, font des requêtes réseaux...
Voici une petite présentation de ce que personnellement j'appelle tests unitaires, par l'exemple.

Lire la suite »

10 conseils pour réussir son projet de développement en équipe

Voici 10 conseils pragmatiques que j'utilise au quotidien chez mes clients...

Lire la suite »

Constuire une librairie "maison" : ou comment capitaliser à moyen terme

Vous avez déjà développé des dizaines de milliers de ligne de code.
Vous avez déjà contribué à plusieurs (2, 5, 10 ...) projets d'applications PHP dans votre entreprise.
Vous avez déjà, comme moi, eu ce sentiment quand vous étiez sur le développement d'un morceau de code, que vous aviez déjà codé cela une fois, mais impossible de vous souvenir "comment" et "où" retrouver le code.
"Ah, si j'avais un listing bien organisé de tout ce que j'ai codé rangé par fonctionnalité..."

Lire la suite »

Chasser les dépendances implicites : où comment rendre votre code moins obscur

En PHP, comme dans beaucoup d'autres langages, nous pouvons faire des fonctions et des méthodes qui prennent des arguments.

Prenons la fonction suivante : ...

Lire la suite »

De la nécessité de vérifier l'état des connexions/requêtes à la base

Imaginez un site marchand sur lequel olivier@email.fr a un compte et sur lequel il fait un achat d'ordinateur, au moment de la validation et du paiement, nous écrivons en base de données : ...

Lire la suite »

- page 1 de 2

Thème original par N.Design Studio - Adapté par Pixials - Propulsé par Dotclear
Fil des billets Administration