I share so I am Contributions et réflexions

8juin/100

Comment reconnaitre un bon programmeur

How to recognise a good programmer

How to recognise a good programmer sur Inter-Sections

« ..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).

Lire l'article original

19mar/102

sfWidget rendu via un composant Symfony

Les formulaires créés en utilisant Symfony sont composés de widgets et de validators. Les widgets décrivent l'apparence des champs du formulaire alors que les validators décrivent leur contenu. Il est actuellement possible de choisir parmi plus de 80 types de widget différents (entre ceux de l'API et les plugins). Ils correspondent globalement à des éléments d'interface standardisés.

Si vous avez essayé de créer votre propre widget, vous avez du vous apercevoir que le rendu est fait a l'intérieur de la fonction sfWidget->render(). Ce qui suffit pour des rendus simples, mais s'avère inapproprié lorsque votre champ de formulaire se complexifie. La structure vue-contrôleur du framework n'est pas respectée.

Pour compenser ce manque, j'ai créé un widget dont le rendu se fait via un composant (component) ou une vue partielle (partial). Ce widget est destiné à faciliter la création de champ de formulaire spécifiques pouvant utiliser entre autre AJAX, le profil de l'utilisateur, l'objet sfContext et sfRequest...

10mar/100

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).

Pré-requis Symfony 2.0

Symfony 2.0 requière PHP 5.3.1 alors que WAMP propose par défaut la 5.3.0

Contrairement à ce qui avait été annoncé, c'est PHP 5.3.1 qui est recommandé au lieu de la 5.3.0 (voir changelog).

Taggé comme: , , Lire la suite
6fév/103

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.
Drapeaux des langues

Basculer rapidement entre les langues.

Cet article est écrit pour Symfony 1.4 avec l'admin-generator Doctrine. Nous utiliseront également le plugin sfLanguageSwitchPlugin.

10jan/104

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.

7jan/106

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 :

  1. Depuis la console (communément appelé CLI)
  2. Depuis une adresse locale (localhost)
  3. Depuis une requête AJAX (ou XMLHttpRequest JavaScript)
  4. En mode debug
  5. Contexte d'exécution
23déc/095

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.
mysql-workbench-diagram

Diagramme sous MySQL Workbench

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 :

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.

21déc/093

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 :

Taggé comme: , , Lire la suite