Blog // Exirel.me

DjangoCong 2012 à Montpellier, en face de la mer !

Dans Technique par Florian Strzelecki - 16:14 - 29.11.2011

Tags : Django, Python, Framework, Web, J'aime, Djangocong

J'étais à la DjangoCong 2011, c'était à Marseille, et c'était super. Et ça tombe bien, parce que pour l'édition 2012, j'assiste les organisateurs dans cet évènement, qui a été pris en main par une équipe locale... à Montpellier !

Plus exactement à Carnon-Montpellier, devant une immense étendue de sable chaud et la mer Méditerranée.

Quand ? Le 14 et 15 Avril 2012. Prévoyez vos billets de train !

Où ? À Carnon-Montpellier, dans le Sud de la France. Il y a une gare TGV et tout le confort sur place (la mer, et on l'espère tous du Soleil).

Le lieu ? Dans la journée, ce sera à la Maison Familiale EAGA, et le soir au Gédéon. Oui, ça vend du rêve en barre (j'ai hâte).

Les inscriptions ne sont pas encore ouvertes : elles le seront lorsque l'appel à conférences sera clôturé, c'est à dire aux environs du 13 - 15 Janvier 2012. Donc, si tu as quelque chose à proposer, il est temps de le faire !

La mer devant Carnon-Montpellier

Image : La mer devant Carnon-Montpellier - DjangoCong - DR

Lire la suite - Commentez l'article

Multi-Db avec Zend

Dans Technique par Florian Strzelecki - 18:20 - 07.10.2011

Tags : Framework, Web, Documentation, Programmation, PHP, SQL, loldev, Zend Framework

Depuis que je travaille avec le Zend Framework (et ce n'est définitivement pas par passion ni envie), je ne passe pas une semaine sans avoir besoin d'aller voir dans le code source du framework pour comprendre ce qu'il fait, pourquoi, comment, et en quel honneur.

Et généralement, je me marre - enfin pas vraiment, mais faites comme si.

Cette semaine pour le #loldev du vendredi, c'est la documentation qui m'a donné l'info qui me manquait pour résoudre un problème qui n'est pas trivial à l'origine, mais qui devrait l'être avec un framework web digne de ce nom : comment gérer une application qui doit se connecter à différentes bases de données ?

En voilà une question intéressante... voici ma réponse.

Pages and pages of source code.

Image : Pages and pages of source code. - Neil Crosby (http://www.flickr.com/photos/thevoicewithin/) - Creative-Common By-NC-SA

Lire la suite - 1 commentaire

Ugly code

Dans Technique par Florian Strzelecki - 23:56 - 27.09.2011

Tags : Framework, Programmation, Bonne pratique, Chaton, Optimisation, Problème, loldev

Il est parfois difficile de dire d'un code qu'il est bon ou mauvais, qu'il est moche ou élégant. Parfois, les deux se confondent dans un doute profond sur la nature d'une idée, et sur son implémentation.

Beautiful is better than ugly.

Heureusement, parfois, il y a du code php/java/python/javascript/ruby/perl/autre bien sale et c'est très facile à repérer.

Notez l'effort pour ne pas troller toujours sur le même langage.

Lire la suite - 2 commentaires

(bool) $flag

Dans Technique par Florian Strzelecki - 11:00 - 08.08.2011

Tags : Framework, Web, Programmation, Bonne pratique, PHP, loldev

Je suis toujours autant amusé par ce que je peux trouver dans le code-source du Zend Framework. Oh, rien de grave, cela fonctionne très bien de cette façon là :

public function setNoRender($flag = true)
{
    $this->_noRender = ($flag) ? true : false;
    return $this;
}

Il s'agit d'une méthode de la classe Zend_Controller_Action_Helper_ViewRenderer, qui effectue un traitement fort simple et basique, mais d'une façon que je trouve "inutile".

Je veux dire... si j'analyse ce bout de code d'un coup d'oeil, je peux voir qu'un cast implicite en booléen est effectué, pour ensuite... affecter cette même valeur (mais écrit "explicitement"). En gros, ce bout de code est strictement équivalent au suivant :

$this->_noRender = (bool) $flag;

Pourquoi faire plus compliqué ? Pourquoi s'embêter à écrire explicitement "true" et "false" ?

Oui, c'est du pinaillage. Mais j'aime bien pinailler sur ce genre de choses.

Lien permanent - 5 commentaires

Moins de code, plus de fonctionnalité

Dans Technique par Florian Strzelecki - 19:17 - 10.06.2011

Tags : Framework, Programmation, Bonne pratique, Optimisation

En ce moment, je répète souvent à mes collègues (et à d'autres personnes) la maxime suivante :

Moins de code, plus de fonctionnalité.

C'est devenu mon leitmotiv en ces jours sombres où je dois travailler avec des gens qui n'ont pas encore acquis toutes les compétences nécessaires sur le projet. Et vu mon niveau d'exigence, autant dire que c'est vaguement difficile à gérer pour moi (mais je me soigne).

Pour paraphraser cette pensée, je dirais qu'il ne sert à rien d'écrire beaucoup de lignes de code pour apporter de nombreuses fonctionnalités.

L'important, notamment et surtout dans le cas d'utilisation de framework, c'est de proposer un code simple, facile à étendre, et qui s'intègre bien à son environnement. C'est ma façon à moi de rappeler les principes KISS et DRY : Keep It Simple & Stupid, Don't Repeat Yourself.

Je parle du cas où l'utilisation d'un framework est obligatoire (parce qu'il s'impose de lui-même ou parce qu'il a été arbitrairement imposé), car c'est exactement dans ces moments là qu'il faut rester vigilant.

Dans le cas d'un framework, écrire "moins de code" ne veut pas dire littéralement écrire moins de code, mais plutôt "intégrer parfaitement le moindre code dans le contexte du framework".

Si le framework impose d'écrire une classe, ou plusieurs, pour écrire un "plugin", alors il vaut mieux le faire, plutôt que d'écrire quelque part codé en dur dans le code, la modification voulue.

C'est peut-être paradoxal, mais cela fonctionne mieux. C'est peut-être frustrant, mais cela évite bien d'autres frustrations.

Croyez-moi, il vaut mieux que tout fonctionne toujours parfaitement avec le framework, que tout fonctionne maintenant comme vous le voulez contre le framework.

Parce que le framework lui, il a déjà écrit beaucoup, beaucoup, beaucoup de lignes de code.

Lien permanent - Commentez l'article

Intégrer un Captcha aux formulaires de Django-Comment

Dans Technique par Florian Strzelecki - 14:28 - 21.10.2010

Tags : Django, Python, Framework, Web, J'aime, Documentation, Programmation, Poney

Un billet technique dans lequel j'aborde une solution simple à un problème concret : comment utiliser un captcha avec l'application django-comment fournie de base par le framework Django ?

Je me suis posé cette question lorsque je me suis rendu compte de deux choses :

  • le honeypot de django-comment est totalement inutile
  • bannir des IPs contre le spam est voué à l'échec

Le mieux était donc d'améliorer la sécurité des formulaires de saisie des commentaires. Oui, mais comment ?

C'est ce que nous allons voir dans la suite de l'article !

Jail with a view on Isola Asinara

Image : Jail with a view on Isola Asinara - Dirk Hartung (http://www.flickr.com/photos/dirkhartung/) - Creative Common by-sa

Lire la suite - 1 commentaire

Zend Framework : ça m'énerve !

Dans Technique par Florian Strzelecki - 18:27 - 06.01.2010

Tags : Framework, Ma vie, PHP

Mon dieu, qu'il m'énerve !

Les fins mélomanes (humour humour) auront vu la référence à Helmut Fritz et son morceau "Ça m'énerve", tandis que d'autres compatiront d'emblée à l'idée du temps que j'ai pu perdre à devoir utiliser ce maudit framework.

Parce que, disons le tout haut, et bien clair : Zend Framework est un petit cauchemar au quotidien. Une malédiction pour le développeur que je suis, et surtout, celui que je rêverais d'être à mon travail.

Lire la suite - 18 commentaires

Pourquoi j'ai choisi Django.

Dans Technique par Florian Strzelecki - 21:32 - 07.11.2009

Tags : Django, Python, Framework, Web, J'aime

Quand je dis "choisir", je parle du framework avec lequel j'aime le plus travailler, et celui avec lequel j'ai envie, d'un point de vue professionnel, de travailler.

En dehors de la part d'amour irraisonnée pour une boîte à outil développée en python (je suis un grand romantique par moment), je considère, pour mon choix, plusieurs arguments basés tant sur de la théorie et que de la pratique.

Après tout, il s'agit surtout de mon opinion, et je ne suis pas toujours objectif, il serait idiot de prétendre le contraire - ce qui constitue encore une fois un jugement de valeur... c'est terrible n'est-ce pas ?

Je souhaite partager avec vous mes impressions sur ce framework d'excellence, dans une vague présentation de l'ensemble, et un tour des fonctionnalités qui me rendent fou de joie (au moins tout ça, oui) à chaque fois que j'ai l'occasion de les utiliser.

Je ne vais cependant pas rentrer dans les détails pour chaque point, car la documentation officielle devrait vite vous convaincre de ce que je mets en lumière.

D'ailleurs, vous vous rendrez vite compte que la documentation de Django est tout bonnement excellente !

Lire la suite - 5 commentaires

RSS