BarCamp: OpenCamp / VideoCamp2 / PHPCamp

Publié le 15 May 2008, par Babozor

camp.jpg

Comme vous avez pu vous apercevoir depuis quelques semaines/mois, j’écume les barcamps parisiens (WordCamp et VideoCamp pour mes deux premiers), avec quelques dates pour les prochaines éditions de BarCamp qui m’intéressent:
VideoCamp2 le 7 juin 2008 à la Cartonnerie
PHPCamp le 7 juin 2008 à la Cantine (organisé pas l’AFUP, mais pas encore de wiki??!)
OpenCamp le 28 juin au Musée de l’informatique à la Défense

Oui vous avez bien vu/lu 2 BarCamps en simultané le 7 juin et j’aimerais être aux deux, d’où un profond dilemme pour moi à résoudre (ou alors un bout de l’après midi chez l’un et un autre chez l’autre mais c’est un peu pourri)

Mais c’est quoi un BarCamp?
C’est un évènement participatif, une sort d’anti-conférence… au contraire de celle ci où une personne parle et où le reste de l’auditoire écoute (plus ou moins) sagement, dans les BarCamps tout le monde peut participer, aussi bien pour le choix des différents sujets, que pendant les ateliers.

Comment ça se passe/fonctionne?
1. Présentation – 3 tags
Première étape: la présentation des participants, traitionnellement assez vite, avec un nom/prénom et trois tags qui caractérisent la personne ou ce qu’elle attend/recherche au BarCamp. Pas de blabla inutile (mais si certains ont un peu du mal avec ce concept), pas de pub pour votre boîte… juste l’essentiel

2. Choix des ateliers
Tout le monde est invité ensuite à inscrire sur un tableau les thèmes qu’ils voudraient voir traité durant le BarCamp, c’est complètement libre… l’équipe organisatrice bouge certains ateliers pour tenter de contenter tout le monde et éviter d’avoir des sujets redondants
En général un atelier dure une petite heure.

3. Action
Et voilà c’est parti, choisissez un atelier, participiez, échangez, apprenez, la magie du BarCamp est en route…

Pour ceux qui n’ont jamais tenté l’expérience, je vous incite à le faire un jour ou l’autre, c’est assez unique de voir tous ces gens qui ne se connaissent pas, mais avec un centre d’intérêt commun, qui échangent, discutent (parfois pas sur le sujet du jour, mais on s’en fout en fait)… une expérience unique, j’adore.

Un tshirt PHP pas moche?

Publié le 15 May 2008, par Babozor

tshirtmoche.jpg

On a beau dire ce qu’on veut… un développeur n’est pas un designer (ce n’est pas une critique, juste une constatation… y’a qu’à voir les backOffices pourris et moches qu’on fournit de temps en temps pour s’en convaincre).
J’en veut pour preuve la pénurie de tshirt PHP, avec un vrai design. Je suis en quête d’un chouette tshirt PHP et pour l’instant je me casse les dents. Je cherche rien de funky, juste un tshirt mettable, sans slogan débile, pas de orange sur du vert fluo, un bon tshirt de PHPgeek, mais pas moche.
Le moins pire que j’ai trouvé pour l’instant c’est celui de ZendPHP is the new black” (j’ai pas non plus compris la blague…), qui n’est pas très beau (violet sur fond noir, on repassera).

Vous avez des adresses à me conseiller? (parce que là je cale sévèrement…)

Framwork contre PHP tout nu, le combat continu…

Publié le 10 May 2008, par Babozor

combat_chien.jpg

Voilà un combat qui ne risque pas de s’épuiser de sitôt:
– d’un côté les puristes du code, qui ne jurent que par l’utilisation nue du PHP.
– d’un autre côté, les champions de l’efficacité, qui eux ne jurent que par l’utilisation d’un framework (peu importe lequel, ce n’est pas ici le sujet).

Qui donc est le grand gagnant?
Comme le disait si bien jacques martin, tout le monde à gagné… cela dépend principalement du projet et des contraintes liées à ce projet.

D’un point de vue purement philosophique il est évidemment préférable de partir sur du code nu, ce qui évite de rajouter une couche à votre application, ou même de surcharger votre application avec des librairies ou classes qui ne seront pas ou très peu utilisées. D’un autre côté pour des choses aussi simples et triviales que la connexion à une base de données ou encore un envoi de mail, cela donne un peu l’impression de réinventé pour la vingt neuvième fois la roue…

Si votre objectif principal est la productivité et que vos besoins sont assez communs (pas de développement ultra touchy en vue, de la gestion de contenu complexe certes, mais rien de bien innovant) le choix d’un framework semble tout indiqué. Certes cela risque d’alourdir un peu votre application, vous obligera à vous former pendant quelques jours à l’environnement de travail, à l’organisation du code, mais le gain en temps de développement est indéniable.

Pas vraiment de gagnant donc, juste deux façon différentes de voir le code pour deux types d’applications et d’implémentations différentes.

A noter tout de même qu’après différents tests, Zend Framework semble un assez bon compromis pour économiser du temps de développement et garder une certain liberté, plus une bibliothèque de classes et fonctions qu’un framework à mon goût, très pratique pour implémenter simplement des fonctions standard ou avancées (connexion à une base de données, envoi de mail, fonctions de cache, regardez la liste des fonctions disponibles c’est assez impressionnant) et beaucoup moins contraignant d’utilisation que les autres framework.

Forum PHP Paris 2008: 2 propositions de conférences lancées…

Publié le 10 May 2008, par Babozor

afup_forum_php.jpg

Certains doivent déjà être au courant, mais le Forum PHP Paris 2008 aura lieu le 8 et 9 décembre (c’est organisé par l’AFUP)

C’est Raphaël (désolé si j’ai écorché l’orthographe de ton prénom) notre stagiaire/master serveurs qui m’en a parlé il y a de cela quelques jours, en me disant qu’ils cherchaient des conférenciers…
Je viens donc de poster deux propositions de conférences:
Problématiques liées à un moteur de recherche spécifique sous PHP/MySQL
Organisation (équipe, infrastructure, méthodes, etc…) pour un code portable et efficace sous PHP
Les deux sont destinés aussi bien à une audience technique et/ou fonctionnelle

Vous pouvez vous aussi proposer vos sujets pour la conférence (soumission possible encore jusqu’à demain soir minuit).

Le difficile choix d’un framework php…

Publié le 29 April 2008, par Babozor

framework.jpg

Ah la la, que c’est difficile de choisir un “bon” framework php… chez findawine on en est au stade de la réflexion, qui tient plus du casse tête chinois. Mais comment faire pour choisir de façon cohérente et précise le framework qui nous convient le mieux?

1. Quelle utilité
Une des première question à se poser est: pourquoi je veux adopter un framework?
Et bien évidemment cette première question en appelle d’autres, mais principalement quelles sont les tâches que je veux que le framework prenne en charge et quelles sont celles qui me reviennent.
C’est important puisqu’on peut séparer les frameworks actuels en deux clans: les frameworks complets et les autres (ce qui n’est pas réducteur ou mauvais, c’est juste deux modes de fonctionnement différent).
Le premier clan couvre 98% des problématiques qu’un développeur pourra trouver devant son chemin, alors l’autre est plus là pour aider ou délester le développeur des tâches rébarbatives.

2. Quelles fonctionnalités obligatoires
Une des premières tâche est de faire la liste des fonctionnalités obligatoires que doit avoir le framework, et ainsi analyser ses besoins.
Pour nous:
– Structure MVC stricte
– Scripts exploitable en ligne de commande
– Gestion de profils Base de données (plusieurs types, mais aussi plusieurs serveurs en simultanée)
– Gestion efficace et hautement configurable du cache
– Support full UTF8

3. Quelles fonctionnalités supplémentaires/optionnelles
La tâche suivante est de définir le liste des fonctionnalités supplémentaires ou optionnelles qui peuvent nous rendre la vie un peu plus agréable.
Pour nous:
– Outil scaffolding / Back Office
URL rewriting
– Localisation (multi-langues)
– Connecteurs webservices/api
– Documentation
– Tests unitaires métiers
– Surchargement des fonctions et classes simple
– Possibilité d’ajout de plugins

4. Quelles technologies
Vient ensuite la liste des technologies choisies: pour nous rien de plus facile, du classique: AMP (Apache, MySQL et Apache)

5. Se renseigner
Vient donc la tâche longue et fastidieuse d’aller à la pêche aux infos, trouver des sources, voir les spécifications, vérifier, etc…
Quelques sources pour cela:
liste des framework PHP (via WikiPedia pas complète loin de là, mais un bon début)
un article de JDN développeurs (qui date un peu) sur 12 framework PHP
– un thread du forum developpez.com sur le choix des frameworks php (lancé par l’ami vinch si je ne m’abuse?)
ou encore un comparatif de 10 framework sur PHPit
C’est une liste non exhaustive des différentes sources utilisées…

Nous avons donc établi une liste des différents frameworks qui correspondaient (plus au moins) à nos attentes:
CakePHP
Jelix
CodeIgniter
Copix
Kohama
SolarPHP
Symfony
Zend
eZComponents

6. Coût d’entrée / mise en place / support / communauté / contraintes
Ce sont des éléments extrêmements importants à ne pas négliger… le coût d’entrée et de mise en place est crucial, il vous dira quel sera votre investissement initial et en combien de temps votre équipe sera opérationnelle avec ce nouveau framework.
Il vous faut aussi être conscient des contraintes inhérentes à votre choix: les limitations, les choses que vous ne pourrez pas faire ou qui vous prendront beaucoup plus de temps qu’aujourd’hui… les bibliothèques ou classes que vous risquez de devoir modifier pour matcher vos besoins, la difficulté de ceci, etc…
Enfin en dernier c’est important de savoir quels projets ont déjà été réalisés avec tel ou tel framework, la communauté derrière tel ou tel projet, la roadmap de développement, la fréquence des releases, etc… cela vous permet de vous rassurer (ou vous faire craindre la pire).

7. Tester
Là c’est la partie la plus longue, la plus ingrate et sans aucun doute la plus partiale.
C’est là où vous allez installer et tester le framework. C’est aussi le moment où vous pourrez voir si non seulement les fonctionnalités sont au rendez-vous mais surtout si la façon de coder du framework vous correspond (ça peut paraître annexe, mais pour moi c’est un des points les plus importants). Chacun sait que chaque développeur à sa façon propre de coder, et vous allez voir si le code du framework vous correspond ou pas.
Pour ma part l’installation d’un framework est assez révélateur de la façon de coder des gens… une installation difficile et brouillonne me fais penser que les codeurs n’ont pas suffisamment penser aux autres, alors qu’un framework même avec quelques fonctionnalités en moins mais beaucoup plus accessible me plaît beaucoup plus (mais là c’est mon avis à moi).
Bref, pas de tergiversation, il va falloir s’y mettre.

8. Faire son choix
Le choix en gros revient à deux ou trois framework.
Nous avons éliminer les postulants suivants:
Copix, parceque Jelix semble une évolution plus maintenue et plus avancée de Copix
CodeIgniter (à mon grand regret) car codé en PHP4
Kohama, pour son peu de visibilité (et parceque des frameworks très similaires voir identiques existent déjà)
Zend pour sa lourdeur
eZcomponents idem

Il nous reste donc CakePHP/Jelix contre Symfony (pas encore eut le temps de tester SolarPHP, qui à l’air prometteur mais un peu en dessous de Jelix/Cake en terme de fonctionnalités), la bataille des framework agiles contre l’omnipotent.

Pour l’instant on se donne un peu le temps de la réflexion (une décision comme celle ci est importante et ne se prend pas à la légère) et on continue de tester.

Quelques frameworks qui n’ont pas été retenus mais semblent intéressant/prometteurs:
Atomikframework un seul script 15 Ko, et des capacités très raisonnables (pseudo MVC, système de packages, bdd, cache, erreor, command line, etc… je le test en ce moment à titre perso, c’est très efficace et très agile, j’adore)
Qcodo: pas sûr d’avoir tout compris, mais apparemment un framework événementiel basé sur votre modèle de données. Le principe à l’air sympa, bien que pas exploitable sur ce projet.

Et vous vous utilisez quoi comme framework? Quels sont les critères qui vous ont fait choisir tel ou tel produit?