{"id":447,"date":"2008-04-28T20:28:44","date_gmt":"2008-04-28T19:28:44","guid":{"rendered":"http:\/\/www.ziserman.com\/blog\/?p=447"},"modified":"2008-04-28T20:28:44","modified_gmt":"2008-04-28T19:28:44","slug":"lart-de-labstraction","status":"publish","type":"post","link":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/","title":{"rendered":"L&rsquo;art de l&rsquo;abstraction"},"content":{"rendered":"<p>bien programmer est un art, o\u00f9 tout au moins un artisanat, un peu comme un \u00e9b\u00e9niste.<\/p>\n<blockquote><p>Par programmation, j&rsquo;entends l&rsquo;ensemble des activit\u00e9s, permettant de passer de l&rsquo;expression d&rsquo;un besoin \u00e0 un syst\u00e8me informatique. Cela regroupe donc ce qu&rsquo;on appelle l&rsquo;analyse, la conception, la programmation, les tests, &#8230;<\/p><\/blockquote>\n<p>Bien s\u00fbr, les grosses boites vous parlent de processus industriels.<br \/>\nIls ne vont pas vous dire le contraire, quand on allonge une facture de plusieurs centaines de milliers d&rsquo;euros&#8230;<br \/>\nCe sont les m\u00eames qui r\u00e9alisent les syst\u00e8mes informatiques des grosses banques&#8230; Vous me suivez ?<\/p>\n<p>Mais la r\u00e9alit\u00e9 est aujourd&rsquo;hui plus simple, toute nue : la qualit\u00e9 de votre syst\u00e8me informatique, quel qu&rsquo;il soit, d\u00e9pend de la qualit\u00e9 des artisans qui le construisent.<\/p>\n<p>Une des qualit\u00e9s fondamentale pour bien programmer, c&rsquo;est l&rsquo;art de l&rsquo;abstraction.<\/p>\n<p>Pourquoi ? (j&rsquo;aurais pas du regarder Sarkozy l&rsquo;autre soir moi, j&rsquo;ai une rechute)<\/p>\n<p>Quand on doit r\u00e9aliser une application, la base de la programmation, c&rsquo;est de d\u00e9couper le probl\u00e8me, dans deux sens : verticalement et horizontalement.<\/p>\n<p>Verticalement : on s\u00e9pare le probl\u00e8me, fonction par fonction (pour un front office, on parlera par exemple du processus achat, du catalogue produit&#8230;)<\/p>\n<p>Horizontalement : on s\u00e9pare le probl\u00e8me en couche (toujours pour notre front, on pourra faire une couche pour les donn\u00e9es, une couche pour les objets m\u00e9tiers et enfin une couche pr\u00e9sentation).<\/p>\n<p>Ce d\u00e9coupage \u00e0 pour but de d\u00e9finir des modules, entit\u00e9 informatique ayant d&rsquo;une part une complexit\u00e9 ma\u00eetrisable et d&rsquo;autre part une certaine homog\u00e9n\u00e9it\u00e9.<\/p>\n<p>Pourquoi ?<\/p>\n<ol>\n<li>Un module doit \u00eatre plus simple \u00e0 programmer parce que le probl\u00e8me qu&rsquo;on cherche \u00e0 r\u00e9gler est une partie du probl\u00e8me global.<\/li>\n<li>Le module est plus homog\u00e8ne parce qu&rsquo;il ne r\u00e9soud qu&rsquo;un type de probl\u00e8me (les donn\u00e9es pour le processus achat par exemple).<\/li>\n<\/ol>\n<p>Le programmeur, notre artisan, doit donc \u00eatre capable de faire abstraction des autres probl\u00e8mes (voisins de gauche et de droite et du dessous) pour se concentrer sur son \u00ab\u00a0morceau\u00a0\u00bb du probl\u00e8me.<\/p>\n<p>\u00e7a encore, c&rsquo;est pas le plus dur.<\/p>\n<p>Le plus dur, c&rsquo;est qu&rsquo;il doit \u00e0 son tour donner une interface \u00e0 son module ayant le bon niveau d&rsquo;abstraction.<\/p>\n<p>Il doit bien faire la diff\u00e9rence entre \u00ab\u00a0sa cuisine interne\u00a0\u00bb et la vue qu&rsquo;il donne sur son module.<\/p>\n<p>Concevoir l&rsquo;interface d&rsquo;un module est r\u00e9ellement une partie passionnante. On se retrouve dans la situation de d\u00e9finir le \u00ab\u00a0panneau de contr\u00f4le\u00a0\u00bb, donnant donc une vision la plus simple et la plus abstraite du probl\u00e8me qu&rsquo;on doit r\u00e9soudre.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>bien programmer est un art, o\u00f9 tout au moins un artisanat, un peu comme un \u00e9b\u00e9niste. Par programmation, j&rsquo;entends l&rsquo;ensemble des activit\u00e9s, permettant de passer de l&rsquo;expression d&rsquo;un besoin \u00e0 un syst\u00e8me informatique. Cela regroupe donc ce qu&rsquo;on appelle l&rsquo;analyse, la conception, la programmation, les tests, &#8230; Bien s\u00fbr, les grosses boites vous parlent de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[5],"tags":[52,372],"class_list":["post-447","post","type-post","status-publish","format-standard","hentry","category-software","tag-programmation","tag-software"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>L&#039;art de l&#039;abstraction - Ziserman.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"L&#039;art de l&#039;abstraction - Ziserman.com\" \/>\n<meta property=\"og:description\" content=\"bien programmer est un art, o\u00f9 tout au moins un artisanat, un peu comme un \u00e9b\u00e9niste. Par programmation, j&rsquo;entends l&rsquo;ensemble des activit\u00e9s, permettant de passer de l&rsquo;expression d&rsquo;un besoin \u00e0 un syst\u00e8me informatique. Cela regroupe donc ce qu&rsquo;on appelle l&rsquo;analyse, la conception, la programmation, les tests, &#8230; Bien s\u00fbr, les grosses boites vous parlent de [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/\" \/>\n<meta property=\"og:site_name\" content=\"Ziserman.com\" \/>\n<meta property=\"article:published_time\" content=\"2008-04-28T19:28:44+00:00\" \/>\n<meta name=\"author\" content=\"Fran\u00e7ois\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ziserman\" \/>\n<meta name=\"twitter:site\" content=\"@ziserman\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fran\u00e7ois\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/\"},\"author\":{\"name\":\"Fran\u00e7ois\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\"},\"headline\":\"L&rsquo;art de l&rsquo;abstraction\",\"datePublished\":\"2008-04-28T19:28:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/\"},\"wordCount\":463,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\"},\"keywords\":[\"programmation\",\"Software\"],\"articleSection\":[\"Software\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/\",\"url\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/\",\"name\":\"L'art de l'abstraction - Ziserman.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#website\"},\"datePublished\":\"2008-04-28T19:28:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/2008\\\/04\\\/28\\\/lart-de-labstraction\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"L&rsquo;art de l&rsquo;abstraction\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/\",\"name\":\"BLOG E-COMMERCE\",\"description\":\"Fran\u00e7ois Ziserman : entrepreneur, IA et \u00e9b\u00e9nisterie\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/#\\\/schema\\\/person\\\/f9bae013e59005579f4b86f162f89c72\",\"name\":\"Fran\u00e7ois\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\",\"caption\":\"Fran\u00e7ois\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g\"},\"url\":\"https:\\\/\\\/www.ziserman.com\\\/blog\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"L'art de l'abstraction - Ziserman.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/","og_locale":"fr_FR","og_type":"article","og_title":"L'art de l'abstraction - Ziserman.com","og_description":"bien programmer est un art, o\u00f9 tout au moins un artisanat, un peu comme un \u00e9b\u00e9niste. Par programmation, j&rsquo;entends l&rsquo;ensemble des activit\u00e9s, permettant de passer de l&rsquo;expression d&rsquo;un besoin \u00e0 un syst\u00e8me informatique. Cela regroupe donc ce qu&rsquo;on appelle l&rsquo;analyse, la conception, la programmation, les tests, &#8230; Bien s\u00fbr, les grosses boites vous parlent de [&hellip;]","og_url":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/","og_site_name":"Ziserman.com","article_published_time":"2008-04-28T19:28:44+00:00","author":"Fran\u00e7ois","twitter_card":"summary_large_image","twitter_creator":"@ziserman","twitter_site":"@ziserman","twitter_misc":{"\u00c9crit par":"Fran\u00e7ois","Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/#article","isPartOf":{"@id":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/"},"author":{"name":"Fran\u00e7ois","@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72"},"headline":"L&rsquo;art de l&rsquo;abstraction","datePublished":"2008-04-28T19:28:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/"},"wordCount":463,"commentCount":3,"publisher":{"@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72"},"keywords":["programmation","Software"],"articleSection":["Software"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/","url":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/","name":"L'art de l'abstraction - Ziserman.com","isPartOf":{"@id":"https:\/\/www.ziserman.com\/blog\/#website"},"datePublished":"2008-04-28T19:28:44+00:00","breadcrumb":{"@id":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.ziserman.com\/blog\/2008\/04\/28\/lart-de-labstraction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.ziserman.com\/blog\/"},{"@type":"ListItem","position":2,"name":"L&rsquo;art de l&rsquo;abstraction"}]},{"@type":"WebSite","@id":"https:\/\/www.ziserman.com\/blog\/#website","url":"https:\/\/www.ziserman.com\/blog\/","name":"BLOG E-COMMERCE","description":"Fran\u00e7ois Ziserman : entrepreneur, IA et \u00e9b\u00e9nisterie","publisher":{"@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.ziserman.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/www.ziserman.com\/blog\/#\/schema\/person\/f9bae013e59005579f4b86f162f89c72","name":"Fran\u00e7ois","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g","caption":"Fran\u00e7ois"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/ba23809fd4de9b5f86f21715fd23efa8331e766f2929dc11d3ae98539ba237b4?s=96&d=mm&r=g"},"url":"https:\/\/www.ziserman.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/posts\/447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/comments?post=447"}],"version-history":[{"count":0,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/posts\/447\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/media?parent=447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/categories?post=447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ziserman.com\/blog\/wp-json\/wp\/v2\/tags?post=447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}