Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 31KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440
  1. <!doctype html>
  2. <html lang=fr>
  3. <head>
  4. <!-- Always define the charset before the title -->
  5. <meta charset=utf-8>
  6. <title>★ Définition et avantages d&#39;un framework web — Biologeek — David Larlet</title>
  7. <!-- Define a viewport to mobile devices to use - telling the browser to assume that the page is as wide as the device (width=device-width) and setting the initial page zoom level to be 1 (initial-scale=1.0) -->
  8. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  9. <!-- Fake favicon, to avoid extra request to the server -->
  10. <link rel="icon" href="data:;base64,iVBORw0KGgo=">
  11. <link type="application/atom+xml" rel="alternate" title="Feed" href="/david/log/" />
  12. <link rel="manifest" href="/manifest.json">
  13. <link rel="stylesheet" href="/static/david/css/larlet-david-_J6Rv.css" data-instant-track />
  14. <noscript>
  15. <style type="text/css">
  16. /* Otherwise fonts are loaded by JS for faster initial rendering. See scripts at the bottom. */
  17. body {
  18. font-family: 'EquityTextB', serif;
  19. }
  20. h1, h2, h3, h4, h5, h6, time, nav a, nav a:link, nav a:visited {
  21. font-family: 'EquityCapsB', sans-serif;
  22. font-variant: normal;
  23. }
  24. </style>
  25. </noscript>
  26. <!-- Canonical URL for SEO purposes -->
  27. <link rel="canonical" href="https://larlet.fr/david/biologeek/archives/20070117-definition-et-avantages-d-un-framework-web">
  28. </head>
  29. <body>
  30. <div>
  31. <header>
  32. <nav>
  33. <p>
  34. <small>
  35. Je suis <a href="/david/" title="Profil public">David Larlet</a>, <a href="/david/pro/" title="Activité professionnelle">artisan</a> du web qui vous <a href="/david/pro/accompagnement/" title="Activité d’accompagnement">accompagne</a><span class="more-infos"> dans l’acquisition de savoirs pour concevoir des <a href="/david/pro/produits-essentiels/" title="Qu’est-ce qu’un produit essentiel ?">produits essentiels</a></span>. <span class="more-more-infos">Discutons ensemble d’une <a href="/david/pro/devis/" title="En savoir plus">non-demande de devis</a>.</span> Je partage ici mes <a href="/david/blog/" title="Expériences bienveillantes">réflexions</a> et <a href="/david/correspondances/2017/" title="Lettres hebdomadaires">correspondances</a>.
  36. </small>
  37. </p>
  38. </nav>
  39. </header>
  40. <section>
  41. <h1 property="schema:name">★ Définition et avantages d&#39;un framework web</h1>
  42. <article typeof="schema:BlogPosting">
  43. <div property="schema:articleBody">
  44. <img src="/static/david/biologeek/images/logos/frameworks_web.png" alt="vignette" style="float:left; margin: 0.5em 1em;" property="schema:thumbnailUrl" />
  45. <p>J'ai récemment reçu un mail de maxime me rappelant à juste titre que le terme <strong>«&nbsp;framework web »</strong> n'est pas familier pour tous mes lecteurs et qu'un billet à ce sujet serait le bienvenu. Je vais essayer de rester le plus accessible possible en utilisant une métaphore bien connue, après <a href="https://larlet.fr/david/biologeek/archives/20060907-choisir-un-framework-web/">celle de la caisse à outils pour le choix d'un framework web</a>, passons à la cuisine pour les non bricoleurs (comme moi).</p>
  46. <h2>Définition d'un framework web</h2>
  47. <p>L'objectif est de faire un bon gâteau. Généralement, les personnes qui ne savent pas cuisiner ou qui aiment particulièrement une recette très connue choisissent un gâteau tout prêt qui est vendu dans un sachet qu'il suffit de mettre au four, c'est ce que l'on appelle en développement web un <abbr title="Content Management System">CMS</abbr> ou Système de Gestion de Contenu. C'est très pratique et on y a tous goûté un jour mais il est quasi-impossible de changer la recette, au mieux vous pouvez rajouter un peu de nappage sur le dessus mais ça reste succinct... et frustrant. De plus, avouons-le, c'est loin d'être de la grande cuisine, c'est correct mais ça en reste là. Enfin, et c'est souvent le plus gênant, les sachets vendus sont pour 4 et comment faire lorsque vous êtes 6 ou 2&nbsp;?</p>
  48. <p>Heureusement tout ces inconvénients disparaissent lorsque l'on sait cuisiner. On choisit la recette qui nous plaît, les ingrédients parmi les meilleurs et on fait un bon gâteau. Le problème de cette méthode est qu'elle prend du temps. Or, il y a des combinaisons d'ingrédients que l'on retrouve tout le temps comme mélanger des œufs et de la farine ou monter des blancs en neige. Si seulement on pouvait directement avoir accès à ces ingrédients tout prêts&nbsp;!</p>
  49. <p>En cuisine, ce n'est pas évident et cela demanderait un frigo énorme, mais en développement web on a trouvé la parade&nbsp;: les frameworks web.</p>
  50. <p><strong>Un framework web est donc un regroupement de macro-ingrédients qui forment un tout cohérent et que l'on a juste a assembler selon nos besoins pour faire un gâteau avec notre propre recette.</strong></p>
  51. <h2>Avantages d'un framework web</h2>
  52. <p>Liste non exhaustive&nbsp;:</p>
  53. <ul>
  54. <li><strong>Le premier avantage est la liberté</strong>&nbsp;: c'est vous qui décidez de la recette pour arriver au gâteau souhaité et personne d'autre, si vous n'aimez pas le café il suffit de ne pas en mettre, c'est tout simple. Ce soir vous êtes 9&nbsp;? Une petite conversion et le tour est joué. Aïe, ce macro-ingrédient n'existe pas encore. Aucun problème il suffit de le créer vous-même&nbsp;;</li>
  55. <li><strong>Le deuxième est la rapidité</strong>&nbsp;: faire votre gâteau à partir des ingrédients de base prendrait trop de temps, l'objectif est quand même d'être rassasié rapidement . Les macro-ingrédients sont le compromis idéal&nbsp;;</li>
  56. <li><strong>Le troisième est la qualité</strong>&nbsp;: les macro-ingrédients ont été assemblés par des personnes très compétentes qui ont normalement envisagé toutes les possibilités d'assemblage. De plus, ceux-ci sont distincts donc vous pouvez facilement modifier/améliorer le vôtre pour ensuite éventuellement le partager ou directement récupérer celui d'un ami&nbsp;;</li>
  57. <li><strong>Le quatrième est la cohérence</strong>&nbsp;: pour éviter les fautes de goût, tous les macro-ingrédients ont été assemblés dans un but commun qui est de faire de bons gâteau&nbsp;;</li>
  58. <li><strong>Le cinquième est la pérennité</strong>&nbsp;: tout le monde peut monter des blancs en neige, mais il faut toujours retenir ce qu'il faut mettre à la bonne température, combien de temps tourner dans un sens,... le macro-ingrédients «&nbsp;blancs en neige » est toujours fait de la même manière, la meilleure. Et si jamais un jour il en existe un nouvelle encore meilleure, elle sera utilisée sans même que vous le sachiez.</li>
  59. </ul>
  60. <p>Bon je crois que ça suffit pour convaincre les plus piètres cuisiniers (je n'ai pas mentionné les différentes cuisines possibles mais elles sont bien sûr nombreuses, <a href="https://larlet.fr/david/biologeek/archives/20060505-pourquoi-programmer-en-python/">ma préférée étant celle du Python</a>). S'il y a des marmitons inspirés vous pouvez mettre votre recette en commentaire :-).</p>
  61. <p>Dans un registre un peu plus technique/sérieux, vous pouvez lire l'article de Jon initulé <a href="http://www.jondesign.net/articles/2006/mar/31/cms-et-frameworks-web/">CMS et frameworks web</a> ou <a href="http://www.coderbattery.com/top-13-reasons-to-use-a-web-framework-and-never-look-back">Top 13 reasons to use a web framework and never look back</a> de CoderBattery.</p>
  62. </div>
  63. </article>
  64. <footer>
  65. <h6 property="schema:datePublished">— 17/01/2007</h6>
  66. </footer>
  67. </section>
  68. <section>
  69. <div>
  70. <h3>Articles peut-être en rapport</h3>
  71. <ul>
  72. <li><a href="/david/biologeek/archives/20080902-sortie-de-django-10-une-annee-de-nouveautes/" title="Accès à Sortie de Django 1.0, une année de nouveautés">Sortie de Django 1.0, une année de nouveautés</a></li>
  73. <li><a href="/david/biologeek/archives/20080409-google-app-engine-avantages-et-inconvenients/" title="Accès à Google App Engine : avantages et inconvénients">Google App Engine : avantages et inconvénients</a></li>
  74. <li><a href="/david/biologeek/archives/20080211-astuces-et-bonnes-pratiques-django/" title="Accès à ★ Astuces et bonnes pratiques Django">★ Astuces et bonnes pratiques Django</a></li>
  75. </ul>
  76. </div>
  77. </section>
  78. <section>
  79. <div id="comments">
  80. <h3>Commentaires</h3>
  81. <div class="comment" typeof="schema:UserComments">
  82. <p class="comment-meta">
  83. <span class="comment-author" property="schema:creator">shingara</span> le <span class="comment-date" property="schema:commentTime">17/01/2007</span> :
  84. </p>
  85. <div class="comment-content" property="schema:commentText">
  86. <p>Très bonne définission d'un framework web. Je trouve cette métaphore très bien trouvé et je pense que je garderais ce billet en exemple d'explication.<br />
  87. <br />
  88. Merci d'éclairer les novices.</p>
  89. </div>
  90. </div>
  91. <div class="comment" typeof="schema:UserComments">
  92. <p class="comment-meta">
  93. <span class="comment-author" property="schema:creator">pangel</span> le <span class="comment-date" property="schema:commentTime">17/01/2007</span> :
  94. </p>
  95. <div class="comment-content" property="schema:commentText">
  96. <p>Je me demande toujours selon quels critères on peut choisir entre un CMS un framework. <br />
  97. <br />
  98. Jusqu'à présent j'ai toujours opté pour des CMS car je travaillais sur des sites de taille petite ou moyenne, mais j'aimerais bien déterminer plus précisément à partir de quelle &quot;ampleur&quot; le framework devient avantegeux.</p>
  99. </div>
  100. </div>
  101. <div class="comment" typeof="schema:UserComments">
  102. <p class="comment-meta">
  103. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">17/01/2007</span> :
  104. </p>
  105. <div class="comment-content" property="schema:commentText">
  106. <p>@pangel : lorsque le temps d'adaptation aux besoins du CMS devient supérieur à celui d'un développement spécifique via un framework web. À court terme on pense toujours que le CMS est le plus avantageux mais c'est en fait rarement le cas si l'on sait programmer. Un CMS est l'idéal pour un besoin spécifique mais on finit tôt ou tard par vouloir s'en éloigner... et c'est généralement à ce moment là qu'on commence à regretter ce choix ;-).</p>
  107. </div>
  108. </div>
  109. <div class="comment" typeof="schema:UserComments">
  110. <p class="comment-meta">
  111. <span class="comment-author" property="schema:creator">Tartopom</span> le <span class="comment-date" property="schema:commentTime">17/01/2007</span> :
  112. </p>
  113. <div class="comment-content" property="schema:commentText">
  114. <p>Ah ! Bha gloire à Maxime, cela faisait longtemps que je me demandais en quoi consistait vraiment un framework (oui, j'ai cherché et oui c'était pas très clair).<br />
  115. <br />
  116. Super analogie en tout cas.</p>
  117. </div>
  118. </div>
  119. <div class="comment" typeof="schema:UserComments">
  120. <p class="comment-meta">
  121. <span class="comment-author" property="schema:creator">pangel</span> le <span class="comment-date" property="schema:commentTime">17/01/2007</span> :
  122. </p>
  123. <div class="comment-content" property="schema:commentText">
  124. <p>@David : merci pour ta réponse ! je sais maintenant ce qu'il me restera à faire quand le magazine pour lequel je bosse voudra commencer à gagner des sous avec son site - c'est-à-dire ajouter massivement du contenu et de la grosse interactivité :-)</p>
  125. </div>
  126. </div>
  127. <div class="comment" typeof="schema:UserComments">
  128. <p class="comment-meta">
  129. <span class="comment-author" property="schema:creator">giz404</span> le <span class="comment-date" property="schema:commentTime">18/01/2007</span> :
  130. </p>
  131. <div class="comment-content" property="schema:commentText">
  132. <p>Je pense aussi m'orienter vers un framework pour de futurs développements, histoire de pouvoir réellement faire du sur-mesure, tout en restant évolutif. Entrer dans la logique de construction d'un CMS est souvent complexe, et surtout, plus on fait de modifs, et plus on s'éloigne de l'appli originale, ce qui peut poser de gros problèmes lors de mises à jour. Le problème est moins présent avec un framework.</p>
  133. </div>
  134. </div>
  135. <div class="comment" typeof="schema:UserComments">
  136. <p class="comment-meta">
  137. <span class="comment-author" property="schema:creator">JS</span> le <span class="comment-date" property="schema:commentTime">18/01/2007</span> :
  138. </p>
  139. <div class="comment-content" property="schema:commentText">
  140. <p>Hum....<br />
  141. Perso, je suis pas complètement d'accord en ce qui concerne les CMS.<br />
  142. Avec un CMS bien concut, modulaire, tu peux tout a fait ajouter tes briques, le configurer comme tu veux, et si un jour le gateau est pour 2 et le lendemain, c'est un gateau pour 30, y'a pas de soucis...<br />
  143. <br />
  144. En tout cas, jusqu'a présent, tous les sites qu'on a développé dans ma boite sont réalisé avec un CMS, on a développé pas mal de modules, d'appli métiers, etc... Et par rapport à mon expérience des CMS, on gagne encore en rapidité.<br />
  145. <br />
  146. Ca fait 1 an que je bosse avec Plone.</p>
  147. </div>
  148. </div>
  149. <div class="comment" typeof="schema:UserComments">
  150. <p class="comment-meta">
  151. <span class="comment-author" property="schema:creator">David</span> le <span class="comment-date" property="schema:commentTime">18/01/2007</span> :
  152. </p>
  153. <div class="comment-content" property="schema:commentText">
  154. <p>Pour moi qui ce que c'est qu'un framework web, c'est trop métaphorique : à la fin du billet je suis allé faire un tour à la cuisine ! =)</p>
  155. </div>
  156. </div>
  157. <div class="comment" typeof="schema:UserComments">
  158. <p class="comment-meta">
  159. <span class="comment-author" property="schema:creator">NiCoS</span> le <span class="comment-date" property="schema:commentTime">18/01/2007</span> :
  160. </p>
  161. <div class="comment-content" property="schema:commentText">
  162. <p>Joli billet - tout est bien trouvé :-)<br />
  163. <br />
  164. Pour JS, peut-on vraiment considérer Plone comme un CMS ? Je le vois plus comme un CMF (Content Management Framework) qu'un CMS.<br />
  165. <br />
  166. Tant que tu reste dans un principe d'édition/publication, le CMS est gagnant en efficacité et rapidité de dev. Plus tu vas vers des applis métiers, moins cela est possible de le faire avec des CMS, même les plus évolués/modulaires. Je rejoins ainsi David :-)<br />
  167. <br />
  168. C'est vrai que quand on aborde un nouveau projet, on hésite parfois entre les deux. Dois-je partir d'un CMS et prévoir du dev spécifique ou bien partir d'un framework qui va me faciliter tel autre aspect du projet mais m'oblige à recoder la partie CMS...<br />
  169. <br />
  170. Nous n'avons pas fini de cogiter :-)</p>
  171. </div>
  172. </div>
  173. <div class="comment" typeof="schema:UserComments">
  174. <p class="comment-meta">
  175. <span class="comment-author" property="schema:creator">maxime</span> le <span class="comment-date" property="schema:commentTime">18/01/2007</span> :
  176. </p>
  177. <div class="comment-content" property="schema:commentText">
  178. <p>merci d'avoir répondu :)<br />
  179. <br />
  180. En effet ca à l'air pas mal pratique, ca évite de réinventer toujours la roue. En ce qui concerne les cms c'est vrai que c'est souvent brouillon. J'ai passé plusieurs semaines à en essayer des tonnes pour une communauté d'entraide, et c'est une jungle pas croyable.... Résultat j'ai pris un &quot;LightCMS&quot; (pseudo cms) que j'ai modifié à ma guise (au moins le code était pas trop merdique :-/ ) J'aurais été bien mieux avec un bon framework...<br />
  181. <br />
  182. Dommage qu'il existe pas (arretez moi si je me trompe) d'hebergeur gratuit avec python j'aurais installé Django voir ce qu'il a dans le bide</p>
  183. </div>
  184. </div>
  185. <div class="comment" typeof="schema:UserComments">
  186. <p class="comment-meta">
  187. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">19/01/2007</span> :
  188. </p>
  189. <div class="comment-content" property="schema:commentText">
  190. <p>Le meilleur hébergement gratuit ça reste localhost ;-)<br />
  191. <br />
  192. Sinon il y a WebFaction qui a l'air pas mal pour du django : <a href="http://www.webfaction.com/" title="http://www.webfaction.com/" rel="nofollow">www.webfaction.com/</a></p>
  193. </div>
  194. </div>
  195. <div class="comment" typeof="schema:UserComments">
  196. <p class="comment-meta">
  197. <span class="comment-author" property="schema:creator">mohamed</span> le <span class="comment-date" property="schema:commentTime">27/01/2007</span> :
  198. </p>
  199. <div class="comment-content" property="schema:commentText">
  200. <p>merci pour la definition j'aime bien</p>
  201. </div>
  202. </div>
  203. <div class="comment" typeof="schema:UserComments">
  204. <p class="comment-meta">
  205. <span class="comment-author" property="schema:creator">Jonathan</span> le <span class="comment-date" property="schema:commentTime">27/01/2007</span> :
  206. </p>
  207. <div class="comment-content" property="schema:commentText">
  208. <p>Bizarrement, étant un adepte de Django, j'aime beaucoup ModX.<br />
  209. <br />
  210. ModX est à mi-chemin entre le framework et le SGC (&quot;CMS&quot; en Français).<br />
  211. C'est un CMF mais avec une courbe d'apprentissage plus proche d'un CMS (et d'un CMS plutôt simple).<br />
  212. <br />
  213. Pour tous les sites de contenus plus ou moins généraux, il est idéal. Et même pour ceux qui le sont moins.<br />
  214. <br />
  215. En somme, à mon humble avis :<br />
  216. - Si le site est basé sur des contenus fixes, journalistiques ou pouvant être gérés par des éléments génériques (avec des variables spécifiques pouvant être ajoutées. ex: images, videos, commentaires) : go for ModX, car il est rapide à mettre en oeuvre, non obstrusif (je pars de mon code xhtml/css et je fais mon site avec, pas le contraire), et marche sur 95% des hébergeurs.<br />
  217. - Si en revanche, on part dans un site de contenu demandant beaucoup d'éléments spécifiques : go for Django, et un hébergeur le supportant.<br />
  218. <br />
  219. ps: merci pour le lien vers mon article ;-)</p>
  220. </div>
  221. </div>
  222. <div class="comment" typeof="schema:UserComments">
  223. <p class="comment-meta">
  224. <span class="comment-author" property="schema:creator">Eric</span> le <span class="comment-date" property="schema:commentTime">19/02/2007</span> :
  225. </p>
  226. <div class="comment-content" property="schema:commentText">
  227. <p>Merci pour cette intéressante vulgarisation.<br />
  228. <br />
  229. J'aurais une remarque concernant le troisième avantage d'un framework web -la qualité qui tiendrait à la qualité des développeurs des &quot;macro-ingrédients&quot;.<br />
  230. <br />
  231. La conclusion me semble un peu rapide. En effet, on peut espérer que les CMS, sur lesquels travaillent en permanence des équipes de développeurs ont en leur sein une qualité équivalente. Or vous avez vous-même pointé les limites de telles entreprises.<br />
  232. <br />
  233. Pour moi, la qualité de ces développements tient plutôt :<br />
  234. - dans leur généricité, découplés d'un problème particulier, ils sont naturellement plus génériques, s'adaptant aux différents développement<br />
  235. - pour une certaine part dans leur taille, réduite, qui permet aux développeurs compétents dont vous parlez de pousser leur qualité beaucoup plus loin que s'ils étaient confrontés à un développement plus large.</p>
  236. </div>
  237. </div>
  238. <div class="comment" typeof="schema:UserComments">
  239. <p class="comment-meta">
  240. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">20/02/2007</span> :
  241. </p>
  242. <div class="comment-content" property="schema:commentText">
  243. <p>Excellentes remarques Eric, merci :-).</p>
  244. </div>
  245. </div>
  246. <div class="comment" typeof="schema:UserComments">
  247. <p class="comment-meta">
  248. <span class="comment-author" property="schema:creator">jfern</span> le <span class="comment-date" property="schema:commentTime">14/03/2007</span> :
  249. </p>
  250. <div class="comment-content" property="schema:commentText">
  251. <p>Bonjour à tou(te)s,<br />
  252. <br />
  253. Voila, je suis en train (debut du projet) de réfléchir à la création d'un site web très orienté et par la même occasion de me lancer un petit défi personnel. <br />
  254. Je code principalement en php, mais je suis de plus en plus attiré par le python (je l'utilise dans mon métier, la bioinfo...). Ma question est naive (mais pas inutile!) : y a t'il vraiment un intérêt à utiliser un framework (symphony ou django) plutôt que de coder bêtement ces pages en php?<br />
  255. De plus, j'utilise python mais je ne suis pas encore familiarisé avec celui-ci pour créer des interfaces web. Dois je faire l'effort de passer à django ou essayer un framework comme symphony? (En clair python plutot que php)<br />
  256. Django est très puissant mais les hébergeurs acceptant python ont l'air rares! Les hébergeurs gratuits (ou peu onnéreux, style ovh90gp) sont ils suffisant (assez robuste) pour un début?<br />
  257. Merci....<br />
  258. <br />
  259. PS: super site David!</p>
  260. </div>
  261. </div>
  262. <div class="comment" typeof="schema:UserComments">
  263. <p class="comment-meta">
  264. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">15/03/2007</span> :
  265. </p>
  266. <div class="comment-content" property="schema:commentText">
  267. <p>En ce qui concerne le choix d'un framework ou le développement à l'ancienne, tout dépend de l'ampleur du projet. Mais je pense qu'on gagne énormément en rapidité et en bonne pratique de programmation (modèle MVC, etc) avec un framework.<br />
  268. <br />
  269. Pour le choix entre python et PHP, hum j'ai du mal à être objectif ;-).</p>
  270. </div>
  271. </div>
  272. <div class="comment" typeof="schema:UserComments">
  273. <p class="comment-meta">
  274. <span class="comment-author" property="schema:creator">étudiant blogueur</span> le <span class="comment-date" property="schema:commentTime">29/11/2008</span> :
  275. </p>
  276. <div class="comment-content" property="schema:commentText">
  277. <p>Salut<br />Voilà on a appris ce que signifie un framework, reste maintenant à savoir quel est le bon framewark à choisir :-)</p>
  278. </div>
  279. </div>
  280. <div class="comment" typeof="schema:UserComments">
  281. <p class="comment-meta">
  282. <span class="comment-author" property="schema:creator">Mod12</span> le <span class="comment-date" property="schema:commentTime">04/12/2008</span> :
  283. </p>
  284. <div class="comment-content" property="schema:commentText">
  285. <p>Est-ce qu&#39;il y en a parmis vous qui veulent parler de leurs bonnes expériences et mauvaises qu&#39;ils ont eu avec certain frameworks?</p>
  286. <p>À vu d&#39;oeil, symphony me semble intéressant mais compliqué à mettre en oeuvre. On me confirme?</p>
  287. </div>
  288. </div>
  289. <div class="comment" typeof="schema:UserComments">
  290. <p class="comment-meta">
  291. <span class="comment-author" property="schema:creator">étudiant marocain</span> le <span class="comment-date" property="schema:commentTime">04/12/2008</span> :
  292. </p>
  293. <div class="comment-content" property="schema:commentText">
  294. <p>Oui, c&#39;est vrai, pour l&#39;installer, il faut installer php, puis pear, puis symfony avec une ligne de commande, ce qui n&#39;est pas assez facile.</p>
  295. </div>
  296. </div>
  297. <div class="comment" typeof="schema:UserComments">
  298. <p class="comment-meta">
  299. <span class="comment-author" property="schema:creator">balluche</span> le <span class="comment-date" property="schema:commentTime">26/01/2009</span> :
  300. </p>
  301. <div class="comment-content" property="schema:commentText">
  302. <p>&gt;Définition et avantages d&#39;un framework web, dans web <br />&gt;frameworks sur BioloGeek, l&#39;avis d&#39;un freelance <br />&gt;passionné par le web et son évolution.</p>
  303. <p>Sauf si le CMS en question s&#39;appelle SPIP ;-). Dans ce cas, il est très facile de développer ce que l&#39;on veut comme fonctionnalité !</p>
  304. <p><a href="http://www.spip.net/fr">http://www.spip.net/fr</a></p>
  305. </div>
  306. </div>
  307. <div class="comment" typeof="schema:UserComments">
  308. <p class="comment-meta">
  309. <span class="comment-author" property="schema:creator">David, biologeek</span> le <span class="comment-date" property="schema:commentTime">26/01/2009</span> :
  310. </p>
  311. <div class="comment-content" property="schema:commentText">
  312. <p>Venir faire la promotion de SPIP ici c&#39;est un peu se tirer une balle dans le pied, m&#39;enfin j&#39;dis ça... :-)</p>
  313. </div>
  314. </div>
  315. <div class="comment" typeof="schema:UserComments">
  316. <p class="comment-meta">
  317. <span class="comment-author" property="schema:creator">thomas</span> le <span class="comment-date" property="schema:commentTime">04/03/2009</span> :
  318. </p>
  319. <div class="comment-content" property="schema:commentText">
  320. <p>Bravo pour cette définition. Savoir expliquer les choses simplement et de manière intéressante est pour moi une grande qualité.</p>
  321. </div>
  322. </div>
  323. <div class="comment" typeof="schema:UserComments">
  324. <p class="comment-meta">
  325. <span class="comment-author" property="schema:creator">Faiza</span> le <span class="comment-date" property="schema:commentTime">05/08/2009</span> :
  326. </p>
  327. <div class="comment-content" property="schema:commentText">
  328. <p>Merci beaucoup, très bonne explication et très bonne définition d&#39;un framework.</p>
  329. <p>Je crois qu&#39;avec cette comparaison je ne risque pas de l&#39;oublier :)</p>
  330. </div>
  331. </div>
  332. <div class="comment" typeof="schema:UserComments">
  333. <p class="comment-meta">
  334. <span class="comment-author" property="schema:creator">pari sportif</span> le <span class="comment-date" property="schema:commentTime">26/10/2009</span> :
  335. </p>
  336. <div class="comment-content" property="schema:commentText">
  337. <p>Et que pensez vous de l&#39;utilisation de Cake PHP ? Pour ma part je l&#39;utilise et développe avec, j&#39;en ai une utilisation professionnelle, et il me convient bien...</p>
  338. </div>
  339. </div>
  340. <div class="comment" typeof="schema:UserComments">
  341. <p class="comment-meta">
  342. <span class="comment-author" property="schema:creator">Tataouine</span> le <span class="comment-date" property="schema:commentTime">09/01/2010</span> :
  343. </p>
  344. <div class="comment-content" property="schema:commentText">
  345. <p>Les framework pour moi sont devenu quelque chose d&#39;indispensable.<br />Déjà, je suis tombé sur ce blog en cherchant des tuto sur les framework php</p>
  346. </div>
  347. </div>
  348. <div class="comment" typeof="schema:UserComments">
  349. <p class="comment-meta">
  350. <span class="comment-author" property="schema:creator">creation sites web</span> le <span class="comment-date" property="schema:commentTime">19/02/2010</span> :
  351. </p>
  352. <div class="comment-content" property="schema:commentText">
  353. <p>j&#39;ai voulu apprendre correctement à développer avec le framework symphony mais malheureusement j&#39;ai eu plusieurs difficultés (ce qui n&#39;était pas le cas avec le plugin cakephp par exemple)<br />connaissez vous un bon tutoriel pour commencer avec symphony?</p>
  354. </div>
  355. </div>
  356. <div class="comment" typeof="schema:UserComments">
  357. <p class="comment-meta">
  358. <span class="comment-author" property="schema:creator">maco</span> le <span class="comment-date" property="schema:commentTime">30/06/2010</span> :
  359. </p>
  360. <div class="comment-content" property="schema:commentText">
  361. <p>sur !!!</p>
  362. </div>
  363. </div>
  364. <div class="comment" typeof="schema:UserComments">
  365. <p class="comment-meta">
  366. <span class="comment-author" property="schema:creator">DantonQ</span> le <span class="comment-date" property="schema:commentTime">03/08/2010</span> :
  367. </p>
  368. <div class="comment-content" property="schema:commentText">
  369. <p>CMS=shit. <br />Désolé, désolé mais je vais en froisser plus d&#39;un.<br />Au final la bonne question c&#39;est de savoir qui va utiliser un CMS ?</p>
  370. <p>La plupart du temps, un CMS s&#39;accompagne d&#39;un GUI ou en français d&#39;une interface graphique pour l&#39;utilisateur lambda...</p>
  371. <p>Avec un CMS t&#39;as du code, t&#39;en a tellement qu&#39;il y a la quantité mais pas la qualité... génial. Le dernier exemple en date serait celui de <a href="http://www.france.fr/">http://www.france.fr/</a>.<br />C&#39;est-y pas beau ? (indispo&#39; au moment ou j&#39;écris ces lignes...)</p>
  372. <p>CMS = codage de masse... ne vous attendez pas à du grand art ou à de l&#39;originalité.</p>
  373. <p>Si vous voulez votre truc à vous, autant le coder par vous même quitte à apprendre et ensuite avec un peu d&#39;expérience à développer vos propres bibliothèques de fonction personnalisées. A propos, le principal problème des gens qui veulent un site qui roxe mais sans coder un e accent aigu ont des petits problème d&#39;organisation et de clarté voir même de cohérence quand il s&#39;agir de poser à plat les données, les types de données et leurs variables...</p>
  374. <p>Pour ce qui est des framework c&#39;est plus ou moins le même raisonnement. Déploiement de masse donc éventuellement foirage de masse... et encore c&#39;est sans compter les failles des CMS qui peuvent venir s&#39;additionner à celles du script de codage lui-même !</p>
  375. <p>&quot;Je ne veux pas apprendre à coder&quot;, &quot;c&#39;est un truc de geek&quot;, &quot;j&#39;ai pas le temps&quot;, &quot;j&#39;y comprends que dalle à tout ça&quot;, okay mais faudra pas venir pleurer si le code est peu personnalisable et peu optimisé...</p>
  376. <p>La connaissance procure le pouvoir. <br />Tout le reste est illusoire. </p>
  377. <p>En clair si vous n&#39;avez pas l&#39;intention de vous impliquer dans le codage : utilisez un frame ou un CMS mais c&#39;est dommage je trouve.<br /></p>
  378. </div>
  379. </div>
  380. <div class="comment" typeof="schema:UserComments">
  381. <p class="comment-meta">
  382. <span class="comment-author" property="schema:creator">Jeux de Bateau</span> le <span class="comment-date" property="schema:commentTime">07/11/2011</span> :
  383. </p>
  384. <div class="comment-content" property="schema:commentText">
  385. <p>Ahah , pas mal la métaphore :) . Il manque plus qu&#39;une version Bricoleur ! (Et oui faut apprendre ! :p)<br />Sinon merci sa été super Clair pour moi , a chaque fois je comprenais a moitié ... ^^ , maintenant je vais relire les articles afin de passer pour un connaisseur #joke :)</p>
  386. </div>
  387. </div>
  388. </div>
  389. </section>
  390. <footer>
  391. <nav>
  392. <p>
  393. <small>
  394. Je réponds quasiment toujours aux <a href="m&#x61;ilto:d&#x61;vid%40l&#x61;rlet&#46;fr" title="Envoyer un email">emails</a> (<a href="/david/signature/" title="Ma signature actuelle avec possibilité de chiffrement">signés</a>) et vous pouvez me rencontrer à Montréal. <span class="more-infos">N’hésitez pas à <a href="/david/log/" title="Être tenu informé des mises à jour">vous abonner</a> pour être tenu informé des publications récentes.</span>
  395. </small>
  396. </p>
  397. </nav>
  398. </footer>
  399. </div>
  400. <script src="/static/david/js/larlet-david-3ee43f.js" data-no-instant></script>
  401. <script data-no-instant>InstantClick.init()</script>
  402. </body>
  403. </html>