Comment reconnaitre un bon programmeur
« ..ce qui fut fatal pour une majorité de startups e-commerce dans les années 90, ce sont les mauvais programmeurs. Beaucoup de ces entreprises furent lancées par les entrepreneurs qui pensaient que pour qu’une startup fonctionne il suffisait d’avoir une idée claire et d’embaucher des programmeurs pour l’implémenter. C’est bien plus dur — voire même impossible en fait — parce que les entrepreneurs ne peuvent pas distinguer les bons programmeurs des moins bons... »
Savoir repérer les bons développeurs c'est aussi pour les développeurs une façon de savoir comment être bon. La moitié des critères avancés dans cet article donnent l'impression qu'il faut être né programmeur pour être bon (être passionné, curieux, autodidacte et intelligent), mais ce savoir-faire s'acquière aussi (par les projets personnels, la diversification des technologies maîtrisées et diplômes validés).
Configurer WAMP avec PHP 5.3.1 pour Symfony 2.0
Symfony 2 va révolutionner le développement web. Sa nouvelle architecture et sa flexibilité permettront une prise en main plus rapide, une réutilisation de code plus facile et des performances adaptées à la taille de chaque application.
Le nouveau framework est en développement, mais si comme moi vous voulez explorer les fonctionnalités de ce trésor, voici comment bien démarrer sous Windows.
Le pack d'installation fournit un fichier check.php permettant de vérifier la compatibilité de votre environnement PHP avec les pré-requis du nouveau framework.
La distribution WAMP correspond quasiment à la configuration suggérée pour Symfony 2.0 (dans la version dev du 10/03/2010 en tout cas).
Contrairement à ce qui avait été annoncé, c'est PHP 5.3.1 qui est recommandé au lieu de la 5.3.0 (voir changelog).
I18n du routing pour les modules d’admin Symfony
L'internationalisation d'une application (i18n) consiste à servir les pages dans la langue de l'utilisateur. Par défaut, les modules d'admin de Symfony gèrent l'i18n. Ainsi, il est simple de traduire ces modules. Dans cet article je vais vous expliquer :
- comment gérer plusieurs langues pour l'interface de vos modules d'administration en indiquant la langue dans l'URL
- et comment basculer en un clic d'une langue à une autre.
Cet article est écrit pour Symfony 1.4 avec l'admin-generator Doctrine. Nous utiliseront également le plugin sfLanguageSwitchPlugin.
Plugin sfDoctrineAdminGeneratorWithShowPlugin pour Symfony 1.4
Une question récurrente sur les forums traitant du framework Symfony :
A quoi sert le paramètre with_show dans le fichier generator.yml ?
Aussi surprenante soit-elle, la réponse usuelle à cette question est :
Par défaut, à rien...
Alors comment afficher les détails d'un objet dans une page d'administration sans que celles-ci soient modifiables ? il est bien nécessaire d'activer l'action show. Les plugins sfDoctrineAdminGeneratorWithShowPlugin et sfPropelAdminGeneratorWithShowPlugin ont été créés pour compenser ce manque. Malheureusement ils ne fonctionnent que pour Symfony 1.2 et 1.3.
Détecter le contexte d’exécution sous Symfony
Lorsqu'on développe avec le framework Symfony, ou plus généralement en PHP, il est parfois nécessaire de connaitre le contexte dans lequel est exécuté le code pour adapter les actions effectuées. Ainsi, il est possible d'identifier au moins 4 contextes d'appel pour lesquels je vous propose une méthode de détection :
- Depuis la console (communément appelé CLI)
- Depuis une adresse locale (localhost)
- Depuis une requête AJAX (ou XMLHttpRequest JavaScript)
- En mode debug
- Contexte d'exécution
Développer un plugin pour MySQL Workbench
MySQL Workbench est un logiciel de modélisation de bases de données pour MySQL. Successeur du feu DB Designer, il offre une ergonomie d'utilisation, une stabilité et un éventail de fonctionnalité très étendu :
- Modélisation des tables et des relations spécifiquement pour MySQL,
- Génération des scripts SQL et de la base de données MySQL,
- Création des diagrammes à partir d'une base MySQL existante ou d'un script SQL.
Mais pour un projet contenant de nombreuses tables, il est parfois nécessaire d'effectuer des traitements automatiques sur celles-ci. MySQL Workbench est un logiciel "programmable", c'est-à-dire qu'il est possible de développer des script/plugins pour automatiser certaines tâches telles que :
- génération de code (comme le schema.yml de Doctrine),
- création de documentation,
- modifications du schéma ...
Le langage de programmation est LUA, celui-ci a une syntaxe proche de python, quelques exemples de code sont disponibles sur le wiki de MySQL.
Vue au format JSON sous Symfony
Contrairement à ce que son nom indique, l'AJAX utilise de plus en plus le format JSON pour échanger des données entre le navigateur et le serveur. Le framework PHP Symfony se déclare "Easy AJAX", il l'est pour l'intégration de JavaScript, mais la création de vues non-HTML n'est pas toujours évidente. Cet article propose deux méthodes pour générer du code JSON depuis Symfony avec ou sans aide au débuggage.
Les usages sont multiples, par exemple :
- Auto-complétion d'un champ avec le plugin sfFormExtraPlugin,
- les événements issus de la base de données à afficher dans un calendrier FullCalendar,
- ou une galerie photos AJAX avec minishowcase.


