Revue de presse Industrialisation PHP de la semaine 24 (2010)
C'est totalement involontaire mais l'actualité fait que la revue de presse de la semaine passée est placée sous le signe des gestionnaires de version.
Pourquoi vous ne devriez pas utiliser la Fork Queue de GitHub
Git est en train de révolutionner le développement collaboratif et plus particulièrement le développement Open Source notamment grâce à GitHub. Contribuer à un projet revient à créer sa propre copie du projet, effectuer ses modifications puis demander au responsable du projet de les intégrer dans le dépôt officiel. Le processus est simple à décrire mais pas forcément facile à maîtriser. Heureusement, Damien Mathieu explique en détails comment faire sur son blog.
Keeping Hudson configuration and data in SVN
Hudson est un outil d'intégration continue issu du monde Java. Bien que relativement simple à mettre en œuvre, lorsqu'on a passé beaucoup de temps ) peaufiner la configuration jusque dans le détail, il est frustrant de la perdre à cause d'un bête problème de maintenance du serveur. La solution que préconise Mike Rooney pour éviter ce genre de désagrément est de sauvegarder automatiquement les fichiers importants dans un dépôt Subversion.
Zoning, wireframe, maquettage, prototype ... : les meilleures pratiques
Certains ont la mauvaise habitude de commencer un projet par la réalisation de maquettes graphiques. En faisant cela, ils mélangent deux étapes très différentes : la conception ergonomique et la création graphique. Commencer par la création graphique amène inévitablement à se concentrer sur la forme au détriment du fond. Il est donc impératif de commencer par construire son interface avant de l'habiller graphiquement.
Introducing Subversion Edge
Subversion a conquis beaucoup de sociétés mais certains le trouvent encore difficile à mettre en place et souhaiteraient une application prête à l'emploi. C'est aujourd'hui possible grâce à Subversion Edge, un logiciel libre édité par CollabNet. Ce dernier propose une intégration d'Apache, Subversion et ViewVC dans une pile très simple à installer. Celle-ci est disponible pour Windows et Linux.
Revue de presse Industrialisation PHP de la semaine 23 (2010)
C'est avec un peu de retard que je vous présente ma revue de presse de la semaine passée.
NGINX + PHP-FPM + APC = Awesome
Apache est un excellent serveur HTTP, robuste et très paramétrable. S'il est suffisant pour la majorité des utilisations, il peine parfois à tenir de forte charges. Il faut alors se tourner vers des serveurs à la couverture fonctionnelle moindre mais taillés pour encaisser de grandes quantités de requêtes. Les deux plus connus dans ce domaine sont LightTPD et nginx. C'est l'installation et le paramétrage de ce dernier que cet article explique en détails. Au passage, l'auteur parle de PHP-FPM, une manière de mettre en œuvre PHP dont on entendra beaucoup parler dans les prochains mois car elle a été intégrée dans le tronc de PHP.
Sikuli
Il existe plusieurs outils, comme Selenium ou Watir, pour automatiser des actions dans des interfaces graphiques notamment pour effectuer des tests d'IHM. La plupart de ces outils utilisent un mécanisme interne à la technologie testée pour pouvoir interagir avec elle. Ils ne peuvent donc pas tester les technologies ne fournissant pas un moyen d'introspection.
Sikuli est un nouvel outil qui fonctionne de manière révolutionnaire. Il se base sur l'affichage de l'interface testée et cela par le biais de captures d'écran. Ce principe ne nécessite aucune manipulation interne de la technologie testée. Il est donc utilisable avec n'importe quelle application pourvu qu'elle produise un affichage. Le concept est un peu difficile à expliquer avec des mots mais la vidéo de démonstration est très explicite.
Why are interfaces widely ignored in the PHP world and what use do they have when working with symfony?
PHP est souvent moqué par les communautés de langage plus fortement orientés objet. La cause a longtemps été un modèle objet très basique. Cependant, depuis l'arrivée de PHP5, il y a déjà presque 6 ans rappelons-le, cette raison est caduque. Certes, le modèle objet de PHP reste perfectible mais pour qui sait l'utiliser pleinement, il est possible de faire de fort belles choses.
Dorénavant, le problème vient surtout des développeurs qui ne tirent pas suffisamment parti de la Programmation Orientée Objet. Christian Schaefer prend l'exemple des interfaces qui sont trop souvent ignorées ou mal utilisées alors qu'elles apportent tant de souplesse lors de la conception d'une application.
Git Reference
Par sa nature décentralisée et sa puissance, Git a révolutionné les usages que nous avions de la gestion de version. Cependant, il n'est pas toujours aisé de l'appréhender, surtout quand on a l'habitude des systèmes centralisés comme CVS ou Subversion.
Pour découvrir Git, il existe un excellent livre, Pro Git, qui est consultable en ligne. Je vous recommande d'ailleurs d'acheter, comme je l'ai fait, une copie papier pour remercier l'auteur. Ce livre a beau être parfait pour comprendre les concepts et les rouages de Git, une référence rapide aux commandes courantes est un compagnon utile lorsqu'on fait ses premières armes. C'est ce que propose Git Reference en décomposant les commandes en différentes catégories : Bases, branches et merges, partage et mise à jour, inspection.

