Dévelopeur d'applications web

Ce site ne sera plus alimenté de contenu après août 2014. Tous les nouveaux articles seront redigés pour www.waitingforcode.com

La règle d'or de sécurité sur le web consiste à ne jamais faire confiance à un tiers. Si l'on ne respecte pas cette condition, une nouvelle attaque qu'on va découvrir risque d'endommager notre application. Il s'agit du web parameter tempering. Dans la première partie de l'article on verra de quoi on va parler. Ensuite, dans la seconde partie, on montrera comment une application web codée sans imagination, peut mettre en danger même de plus beaux business models. En dernier, on présentera ... Plus →

01-07-2014 00:00

Le contexte permet de comprendre pas mal de choses, également en développement. Certaines situations exigent sa présence pour pouvoir déterminer la stratégie à prendre. C'est d'ailleurs le mot-clé qui définit le design pattern de cet article. Il s'agira bel et bien du patron de conception appelé strategy (stratégie). Son but consiste à créer une surcouche qui va être utilisée par le contexte dans la réalisation d'une opération. L'opération à réaliser sera ... Plus →

01-07-2014 00:00

Le contrôle sur le code ressemble souvent à la promenade avec son chien. Il suffit de lui relâcher un peu sa laisse afin qu'il soit capable de faire des dégâts (nous renverser, faire peur ou mordre quelqu'un). Dans le développement c'est pareil. Plus de liberté on laisse aux traitements, plus de possibilités qu'on rencontre des bugs. Une approche qui vise à limiter les dégâts causés par l'application s'appelle la programmation défensive. Cette approche sera sujet de l'article. Au ... Plus →

16-06-2014 06:37

Les expressions régulières sont un outil très puissant dans le développement. Sans elles, il serait quasiment impossible d'analyser un document ou de vérifier la cohérence de certains modèles des mots comme URLs. Cependant, elles ne sont pas sans failles et doivent être utilisées correctement pour apporter un réel gain à l'application. A travers cet article on verra le fonctionnement des expressions régulières. Tout d'abord on se concentrera à le décrire. On abordera alors la notion ... Plus →

Spring par pratique : Tests unitaires sur Maven

Maven permet, comme Apache Ant, d'exécuter les tests unitaires et de consulter ses résultats sous un format souhaité (fichier ou output directemenet dans la console). Cependant, quelques problèmes peuvent se produire lors du transfert des tests sous Maven. On les découvrira à travers cet article. Comme on l'a indiqué dans l'article consacré au transfert d'un projet sur Maven, Maven impose une structure propre à la suite des tests automatiques. Juste au titre d'un bref rappel, les tests ... Plus →

Maintenant, quand on connaît les bases de Maven, on peut s'occuper d'organiser notre projet selon l'architecture standard du Maven. Différences dans la structure Apache Ant, sans son extension Ivy, ne permet pas gérer les dépendances par un fichier de configuration. On est obligés de télécharger les packages et de les placer dans le classpath (/lib dans notre structure). C'est là ou Ant va aller chercher les packages lors de la compilation. Sous Maven on n'a plus besoin de stocker les ... Plus →

Un conseil Symfony2

Problème avec les valeurs par défaut pour un champ type checkbox ?

La gestion des formulaires sous Symfony2 correspond parfaitement au slogan de jQuery "write less, do more". En effet, il suffit de déterminer les validateurs une fois et après seulement les adapter en fonction du groupe du formulaire. Egalement la définition des champs est très intuitive. La récupération des données saisies, en cas d'une erreur de validation, est aussi automatique. Cependant, il se peut que vous renctonreriez un problème avec les champs du type checkbox. Supposons, qu'on veut construire un checkbox qui prendra pour valeur des chiffres (integers) correspondant aux identifiants aux apparements recherchés (1 pièce, 2 pièces, 3 pièces etc.) :

protected static $types = array(1 => '1 room', 2 => '2 rooms', 3 => '3 rooms');
Après une validation incorrecte, on retourne sur la page avec le formulaire pré-rempli. Pour être sûr que la liste des checkboxes va avoir les champs pré-cochés (par exemple 1 room et 3 rooms), il faut s'assurer que les types des valeurs sauvegardées sont égales à celles de la variable statique $types. Souvent il faut faire une boucle pour régler un éventuel problème avec les valeurs pré-cochés dans multiple checkboxes sous Symfony2 :
    foreach($values as $v => $val)
    {
      $vals[] = (int)$val;
    }