Le piège des Frameworks.
Tout d'abord veuillez tolérer peut être mon manque de vision mais c'est mon premier post et c'est aussi mon premier blog, je vais en profiter car depuis quelques mois j'essai de repasser ma carrière professionnelle et de mettre le point sur mes visions futur concernant le développement en général.
Si je devais présenter ma carrière je dirais que je suis de formation .net j'ai manipulé pas mal de temps l'asp.net le vb.net et le C# en gros le "méchant" Microsoft, j'ai fais aussi quelques petits projets en Java, objective C (Iphone), C++, et depuis plus d'un an j'ai découvert le Django et surtout le monde du python. Bon là la question que vous vous poser sans doute c'est quel est le rapport avec le titre de l'article? Et où je veux revenir avec tout ça?
Je me souviens quand j'ai commencé ma première année de développement et que j'ai fait la transition vers le .net je me suis dit woooow ce Framework c'est le top. Ce qui sûr c'est que maintenant je ne répondrai pas du tt de la même façon. Mais qu'est ce qui a changé depuis? Je dirai que c'est à 100% ma vision de voir les choses qui a changé et qui changera encore d'ailleurs, je suis vraiment ouvert pour le moment à de nouvelles idées et de nouvelles perspectives.
Pour en revenir sur .net personnellement je le définirai comme une boite noire qui te masque la vrai réalité, une réalité à laquelle un jour ou l'autre tu seras amené à confronter, je vais prendre l'exemple concret de l'asp.net vu que j'ai pas mal d'amis qui bossent dessus. Alors quand on ajoute un treeview ou un datagridview par exemple avec une source de données on ne sait absolument pas quel sera résultat html de l'objet en question est-ce un tableau, des divs, des ul...? Là ce n'est qu'un simple exemple et il en a vraiment beaucoup. Pire encore et ce que je considère comme le plus dangereux avec Microsoft c’est qu’elle te pousse à utiliser les outils de la famille (Crystal Report, sqlServer ...) et heureusement que le capitalisme a toujours une fin car le monde évolue et on peut jamais faire tout soit même d'ailleurs à ce propos j'ai lu un truc qui m'a vraiment marqué et dont la traduction est :
Aussi stupide que ça sonne, c'est la brutale vérité: Quel que soit intelligente, créative et innovatrice que votre organisation est Il y a beaucoup de personnes plus intelligentes, plus créatives et plus innovatrices à l'extérieur de votre organisation qu'à l'intérieur.
Je pense que ça résume pas mal le sujet. Le plus rigolo dans tout ça c'est que après 2ans asp.net j'ai découvert que je ne maitrise même pas les bases du JavaScript ni même de l'html, "l'expérience qui ne sert à rien quoi". et depuis un an j'ai eu la chance de passer vers un autre Framework open source basé sur python qui d'ailleurs avec lequel j'ai fait ce blog : Django, alors le Django et d'après ma vision c'est l'outil qui te rend le beaucoup code plus élégant, réutilisable et ouvert "le Framework pour des perfectionnistes" (sympa d'ailleurs le slogan, très attirant je trouve), sans parler de l'API qui te facilite vraiment la vie avec le mapping objet, l’interaction avec la base de données, le system de templates intégrée, les templatetags, les filtres ... . Bref tout ce qui peut rendre ton code le plus simple possible car après tout comme j'ai pu entendre :) " Un programme informatique est fait pour être lu par des personnes et accidentellement exécuté par des machines ". en gros le bonheur parfait jusqu'au jour ou j'ai décidé avec mon boss après mainte réflexion de passer aux base de données orienté document et aux architecture REST distribué pour plus de rapidité et pour éviter le bricolage SGBDR ---> POO.
C'est la que je me suis rendu compte que je suis tombé pour la 2ème fois dans le même piège des Framework et que vu que le Django ne supportait pas ce genre de base de données je devais trouver des librairies qui me permettent de faire le mapping objet et par conséquent je perdais toute la réutilisabilité du Django.
Heureusement la communauté python est fascinante avec énormément d'expérience, et après quelques minutes de discussion sur Freenode que je me suis enfin rendu compte que les Framework sont le piège des développeurs et du développement en général et que dans le réalité il n'y a pas une chose qui fait tout "le Framework" mais beaucoup de librairies et d'outils ouvert qui collaborent, et le développeur ne doit pas être lié à une technologie mais il doit avoir le choix entre les outils qu'il va utiliser selon son projet.
Pour les personnes intéressées il y a des projets pythons qui essaient de faire la glue comme le Turbogear ou le Pylons et ça fait d'ailleurs partie :) de l’essentiel mes projets d'avenir.
Commentaires (9):
Un grand merci pour vos encouragement.
@reda: Je sais que tu aimes le débat, et ça m'interesserais toute idée qui pourrait améliorer ce blog.
@moncif: merci pour ton commentaire, je sais que tu es interessé par le jquery moncif et j'essairai de faire des articles interessants sur ses nouvelles fonctionnalités surtout avec le CSS3.
@Fatima-Zahra: J'aurai pas grand chose concernant l'EDI :), par contre peut être quelques tutoriaux pour passer vers de nouvelles technologies. Merci pour le commentaire je sais que tu seras une fidèle lectrice.
@Ahmed: alors pour toi Samoud je répondrai que oui les gens ne se pose jamais la question quand ils ont le résultat qu'ils cherchent, mais ce que je cherche à faire passer dans l'article c'est que le monde évolu plus vite qu'une grande structure.
Bonjour Amine; Tu a tellement raison, merci pour cette analyse que trouve très réaliste, et j'espère que le changement que tu as entamé t’apporte beaucoup de réussite dans ta carrière. Bon courage
@Youssef : Merci youssef, vraiment très gentil de ta part, je te souhaite également toute la réussite.

