{"id":10096,"date":"2022-01-26T01:28:58","date_gmt":"2022-01-26T01:28:58","guid":{"rendered":"https:\/\/www.cybermedian.com\/fr\/?p=10096"},"modified":"2026-04-20T09:13:21","modified_gmt":"2026-04-20T09:13:21","slug":"what-is-the-open-closed-principle-ocp","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/","title":{"rendered":"Qu&#8217;est-ce que le principe ouvert-ferm\u00e9 (OCP) ?"},"content":{"rendered":"<section class=\"section section--body section--last\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<ul class=\"postList\">\n<li id=\"1b39\" class=\"graf graf--li graf-after--li graf--trailing\">\n<section class=\"section section--body section--first\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<p id=\"05f0\" class=\"graf graf--p graf-after--h3\">Le\u00a0\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/en.wikipedia.org\/wiki\/Open%E2%80%93closed_principle#:~:text=In%20object%2Doriented%20programming%2C%20the,without%20modifying%20its%20source%20code.\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/en.wikipedia.org\/wiki\/Open%E2%80%93closed_principle#:~:text=In%20object%2Doriented%20programming%2C%20the,without%20modifying%20its%20source%20code.\">principe ouvert\/ferm\u00e9<\/a>\u00a0\u00a0est le principe de conception le plus fondamental dans le monde du d\u00e9veloppement logiciel.\u00a0Il nous guide dans la construction d&#8217;un syst\u00e8me stable et flexible.<\/p>\n<h4 id=\"ef13\" class=\"graf graf--h4 graf-after--p\"><span id=\"Definition\"><strong class=\"markup--strong markup--h4-strong\">D\u00e9finition:<\/strong><\/span><\/h4>\n<blockquote id=\"bc88\" class=\"graf graf--blockquote graf-after--h4\"><p>Une entit\u00e9 logicielle telle qu&#8217;une classe, un module et une fonction doit \u00eatre ouverte pour extension et ferm\u00e9e pour modification.<\/p><\/blockquote>\n<p id=\"8516\" class=\"graf graf--p graf-after--blockquote\">La signification du principe d&#8217;ouverture et de fermeture est qu&#8217;une entit\u00e9 logicielle doit \u00eatre \u00e9tendue pour r\u00e9aliser le changement, plut\u00f4t qu&#8217;en modifiant le code existant pour r\u00e9aliser le changement.<\/p>\n<p id=\"aad3\" class=\"graf graf--p graf-after--p\">Le principe d&#8217;ouverture et de fermeture est un principe qui limite le d\u00e9veloppement et la conception actuels pour les choses futures de l&#8217;entit\u00e9 logicielle.<\/p>\n<p id=\"3cf8\" class=\"graf graf--p graf-after--p\">Remarque : Le principe d&#8217;ouverture et de fermeture est ouvert pour extension et ferm\u00e9 pour modification.\u00a0Cela ne signifie pas qu&#8217;aucune modification ne sera apport\u00e9e.\u00a0Les modifications apport\u00e9es aux modules de bas niveau doivent \u00eatre coupl\u00e9es avec des modules de haut niveau, sinon ce sera un fragment de code isol\u00e9 et sans signification.<\/p>\n<p id=\"adad\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">L&#8217;importance du principe d&#8217;ouverture et de fermeture :<\/strong><\/p>\n<ul class=\"postList\">\n<li id=\"4231\" class=\"graf graf--li graf-after--p\">L&#8217;impact des principes d&#8217;ouverture et de fermeture sur les tests<\/li>\n<\/ul>\n<p id=\"dd2a\" class=\"graf graf--p graf-after--li\">Le principe d&#8217;ouverture et de fermeture est de garder le code de test d&#8217;origine toujours capable de fonctionner normalement, nous n&#8217;avons qu&#8217;\u00e0 tester le code \u00e9tendu.<\/p>\n<ul class=\"postList\">\n<li id=\"e807\" class=\"graf graf--li graf-after--p\">Le principe d&#8217;ouverture et de fermeture peut am\u00e9liorer la r\u00e9utilisabilit\u00e9<\/li>\n<\/ul>\n<p id=\"1236\" class=\"graf graf--p graf-after--li\">Dans\u00a0\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.techopedia.com\/definition\/21105\/object-oriented-design-ood#:~:text=Object%2Doriented%20design%20%28OOD%29%20is%20the%20process%20of%20using,%28OOP%29%20process%20or%20lifecycle.\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.techopedia.com\/definition\/21105\/object-oriented-design-ood#:~:text=Object%2Doriented%20design%20(OOD)%20is%20the%20process%20of%20using,(OOP)%20process%20or%20lifecycle.\">la conception orient\u00e9e objet<\/a>\u00a0, toute la logique est combin\u00e9e \u00e0 partir de la logique atomique, au lieu d&#8217;impl\u00e9menter une logique m\u00e9tier dans une classe ind\u00e9pendamment.\u00a0Ce n&#8217;est qu&#8217;ainsi que le code peut \u00eatre r\u00e9utilis\u00e9.\u00a0Plus la granularit\u00e9 est petite, plus la possibilit\u00e9 d&#8217;\u00eatre r\u00e9utilis\u00e9 est grande.<\/p>\n<ul class=\"postList\">\n<li id=\"4999\" class=\"graf graf--li graf-after--p\">Le principe ouvert et ferm\u00e9 peut am\u00e9liorer la maintenabilit\u00e9<\/li>\n<li id=\"0c21\" class=\"graf graf--li graf-after--li\">Exigences de d\u00e9veloppement orient\u00e9 objet<\/li>\n<\/ul>\n<p id=\"6c46\" class=\"graf graf--p graf-after--li\"><strong class=\"markup--strong markup--p-strong\">Comment utiliser le principe d&#8217;ouverture et de fermeture :<\/strong><\/p>\n<p id=\"3568\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Tout<\/strong>\u00a0d&#8217;abord , restreignez l&#8217;extension via l&#8217;interface ou la classe abstraite, limitez l&#8217;extension de la fronti\u00e8re et n&#8217;autorisez pas les m\u00e9thodes publiques qui n&#8217;existent pas dans l&#8217;interface ou la classe abstraite ;<\/p>\n<p id=\"8d58\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Deuxi\u00e8mement<\/strong>\u00a0, essayez d&#8217;utiliser des interfaces ou des classes abstraites pour les types de param\u00e8tres et les objets de r\u00e9f\u00e9rence au lieu des classes d&#8217;impl\u00e9mentation\u00a0;<\/p>\n<p id=\"c031\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Troisi\u00e8mement<\/strong>\u00a0, la couche d&#8217;abstraction doit \u00eatre maintenue aussi stable que possible, une fois qu&#8217;elle est confirm\u00e9e, aucune modification n&#8217;est autoris\u00e9e.<\/p>\n<p id=\"22c7\" class=\"graf graf--p graf-after--p\">L&#8217;encapsulation des modifications a deux significations\u00a0:<\/p>\n<p id=\"cda0\" class=\"graf graf--p graf-after--p\">Tout d&#8217;abord, encapsulez les m\u00eames modifications dans une interface ou une classe abstraite\u00a0;<\/p>\n<p id=\"8a51\" class=\"graf graf--p graf-after--p graf--trailing\">Deuxi\u00e8mement, encapsulez diff\u00e9rentes modifications dans diff\u00e9rentes interfaces ou classes abstraites.\u00a0Deux modifications diff\u00e9rentes ne doivent pas appara\u00eetre dans la m\u00eame interface ou classe abstraite.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body section--last\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\" \/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 id=\"69e6\" class=\"graf graf--h4 graf--leading\"><span id=\"Examples\">Exemples<\/span><\/h4>\n<p id=\"56bf\" class=\"graf graf--p graf-after--h4\">Un exemple, ouvrir et fermer les portes \u00e0 la main.<\/p>\n<figure id=\"d3f2\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png\" data-image-id=\"0*wlXaJtn3Bexx9ev7.png\" data-width=\"453\" data-height=\"148\" \/><\/figure>\n<p id=\"c2c2\" class=\"graf graf--p graf-after--figure\">S&#8217;il y a une nouvelle demande, il est n\u00e9cessaire d&#8217;augmenter la fonction d&#8217;ouverture et de fermeture du tiroir \u00e0 la main.\u00a0Pour le code, vous devez ajouter une classe Drawer et modifier la classe Hand en m\u00eame temps.<\/p>\n<figure id=\"1d14\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/1QXaFJLucsecnatWUuuuH6Q.png\" data-image-id=\"1*QXaFJLucsecnatWUuuuH6Q.png\" data-width=\"781\" data-height=\"500\" data-is-featured=\"true\" \/><\/figure>\n<p id=\"ce83\" class=\"graf graf--p graf-after--figure\">A l&#8217;instar du principe d&#8217;ouverture et de fermeture OCP, l&#8217;ouverture et la fermeture manuelle de la porte d\u00e9pendent d&#8217;une interface, et la classe d&#8217;impl\u00e9mentation sp\u00e9cifique impl\u00e9mente cette interface.<\/p>\n<figure id=\"28a1\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/1NVWYY0ZYvgMJbnENhw1QKw.png\" data-image-id=\"1*NVWYY0ZYvgMJbnENhw1QKw.png\" data-width=\"800\" data-height=\"461\" \/><\/figure>\n<p id=\"2372\" class=\"graf graf--p graf-after--figure\">Lorsqu&#8217;il est n\u00e9cessaire d&#8217;augmenter le nombre de mains pour ouvrir et fermer le r\u00e9frig\u00e9rateur, la classe de r\u00e9frig\u00e9rateur impl\u00e9mente cette interface sans modifier la classe et l&#8217;interface Hand d&#8217;origine.<\/p>\n<figure id=\"6688\" class=\"graf graf--figure graf-after--p\"><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/1iR6WQOaVLjFUMy1056vL-w.png\" data-image-id=\"1*iR6WQOaVLjFUMy1056vL-w.png\" data-width=\"946\" data-height=\"464\" \/><\/figure>\n<h4 id=\"246b\" class=\"graf graf--h4 graf-after--figure\"><span id=\"More_Object_Oriented_Resources\">Plus de ressources orient\u00e9es objet<\/span><\/h4>\n<ul class=\"postList\">\n<li id=\"3002\" class=\"graf graf--li graf-after--h4\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/reflectoring.io\/open-closed-principle-explained\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/reflectoring.io\/open-closed-principle-explained\/\">Le principe ouvert-ferm\u00e9 expliqu\u00e9<\/a><\/li>\n<li id=\"be77\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/uml-class-diagram-tutorial\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/uml-class-diagram-tutorial\/\">Tutoriel de diagramme de classes UML<\/a><\/li>\n<li id=\"d80e\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-class-diagram\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-class-diagram\/\">Qu&#8217;est-ce qu&#8217;un diagramme de classes\u00a0?<\/a><\/li>\n<li id=\"f4cf\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/online.visual-paradigm.com\/diagrams\/solutions\/free-class-diagram-tool\/\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/online.visual-paradigm.com\/diagrams\/solutions\/free-class-diagram-tool\/\">Outil de diagramme de classes gratuit<\/a><\/li>\n<li id=\"8e66\" class=\"graf graf--li graf-after--li\"><a class=\"markup--anchor markup--li-anchor\" href=\"http:\/\/online%20class%20diagram%20software\/\" target=\"_blank\" rel=\"noopener\" data-href=\"http:\/\/Online Class Diagram Software\">Logiciel de diagramme de classes en ligne<\/a><\/li>\n<li id=\"1b39\" class=\"graf graf--li graf-after--li graf--trailing\"><a class=\"markup--anchor markup--li-anchor\" href=\"https:\/\/www.google.com\/search?q=uml+visaul+paradigm&amp;sxsrf=AOaemvJcREGG3huPXRdERD5w15PnUrAxuQ%3A1632104970304&amp;ei=CvJHYYfpEai9mAW8u67YAg&amp;oq=uml+visaul+paradigm&amp;gs_lcp=Cgdnd3Mtd2l6EAMyBwgjELACECcyBAgAEA0yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeOgQIABBDOg0ILhCxAxDHARDRAxBDOggIABCABBCxAzoFCAAQsQM6DgguEIAEELEDEMcBEKMCOgsILhCABBCxAxCDAToECCMQJzoFCAAQkQI6BQgAEIAEOgoIABCABBCHAhAUOgYIABANEB5KBAhBGABQ8fYzWJ-YNGCpmzRoAHACeACAAYUBiAHeDJIBBDE2LjOYAQCgAQHAAQE&amp;sclient=gws-wiz&amp;ved=0ahUKEwiHlvbnwIzzAhWoHqYKHbydCysQ4dUDCA4&amp;uact=5\" target=\"_blank\" rel=\"noopener\" data-href=\"https:\/\/www.google.com\/search?q=uml+visaul+paradigm&amp;sxsrf=AOaemvJcREGG3huPXRdERD5w15PnUrAxuQ%3A1632104970304&amp;ei=CvJHYYfpEai9mAW8u67YAg&amp;oq=uml+visaul+paradigm&amp;gs_lcp=Cgdnd3Mtd2l6EAMyBwgjELACECcyBAgAEA0yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeOgQIABBDOg0ILhCxAxDHARDRAxBDOggIABCABBCxAzoFCAAQsQM6DgguEIAEELEDEMcBEKMCOgsILhCABBCxAxCDAToECCMQJzoFCAAQkQI6BQgAEIAEOgoIABCABBCHAhAUOgYIABANEB5KBAhBGABQ8fYzWJ-YNGCpmzRoAHACeACAAYUBiAHeDJIBBDE2LjOYAQCgAQHAAQE&amp;sclient=gws-wiz&amp;ved=0ahUKEwiHlvbnwIzzAhWoHqYKHbydCysQ4dUDCA4&amp;uact=5\">Qu&#8217;est-ce que le langage de mod\u00e9lisation unifi\u00e9 (UML)\u00a0?<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Le principe ouvert\/ferm\u00e9 est le principe de conception le plus fondamental dans le monde du d\u00e9veloppement logiciel. Il nous guide dans la construction d&#8217;un syst\u00e8me stable et flexible. Une entit\u00e9 logicielle telle qu&#8217;une classe, un module ou une fonction doit \u00eatre ouverte \u00e0 l&#8217;extension et ferm\u00e9e \u00e0 la modification.<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[2,5],"tags":[],"class_list":["post-10096","post","type-post","status-publish","format-standard","hentry","category-agile-project-management","category-software-engineering"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Qu&#039;est-ce que le principe ouvert-ferm\u00e9 (OCP) ? - Cyberm\u00e9diane<\/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.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qu&#039;est-ce que le principe ouvert-ferm\u00e9 (OCP) ? - Cyberm\u00e9diane\" \/>\n<meta property=\"og:description\" content=\"Le principe ouvert\/ferm\u00e9 est le principe de conception le plus fondamental dans le monde du d\u00e9veloppement logiciel. Il nous guide dans la construction d&#039;un syst\u00e8me stable et flexible. Une entit\u00e9 logicielle telle qu&#039;une classe, un module ou une fonction doit \u00eatre ouverte \u00e0 l&#039;extension et ferm\u00e9e \u00e0 la modification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\" \/>\n<meta property=\"og:site_name\" content=\"Cyberm\u00e9diane\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-26T01:28:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-20T09:13:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png\" \/>\n<meta name=\"author\" content=\"vpwing\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpwing\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\"},\"author\":{\"name\":\"vpwing\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/0a4c6bba97e67c6ffa054e995781bc34\"},\"headline\":\"Qu&#8217;est-ce que le principe ouvert-ferm\u00e9 (OCP) ?\",\"datePublished\":\"2022-01-26T01:28:58+00:00\",\"dateModified\":\"2026-04-20T09:13:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\"},\"wordCount\":649,\"commentCount\":16,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png\",\"articleSection\":[\"Agile Project Management\",\"Software Engineering\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\",\"name\":\"Qu'est-ce que le principe ouvert-ferm\u00e9 (OCP) ? - Cyberm\u00e9diane\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png\",\"datePublished\":\"2022-01-26T01:28:58+00:00\",\"dateModified\":\"2026-04-20T09:13:21+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/0a4c6bba97e67c6ffa054e995781bc34\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Qu&rsquo;est-ce que le principe ouvert-ferm\u00e9 (OCP) ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/fr\/\",\"name\":\"Cyberm\u00e9diane\",\"description\":\"Apprendre une nouvelle chose tous les jours\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/0a4c6bba97e67c6ffa054e995781bc34\",\"name\":\"vpwing\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b6db296c78a800ccf76c379029a84263fc560f452fabfa00122d9ad34f40a2a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b6db296c78a800ccf76c379029a84263fc560f452fabfa00122d9ad34f40a2a?s=96&d=mm&r=g\",\"caption\":\"vpwing\"},\"url\":\"https:\/\/www.cybermedian.com\/fr\/author\/vpwing\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Qu'est-ce que le principe ouvert-ferm\u00e9 (OCP) ? - Cyberm\u00e9diane","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.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/","og_locale":"fr_FR","og_type":"article","og_title":"Qu'est-ce que le principe ouvert-ferm\u00e9 (OCP) ? - Cyberm\u00e9diane","og_description":"Le principe ouvert\/ferm\u00e9 est le principe de conception le plus fondamental dans le monde du d\u00e9veloppement logiciel. Il nous guide dans la construction d'un syst\u00e8me stable et flexible. Une entit\u00e9 logicielle telle qu'une classe, un module ou une fonction doit \u00eatre ouverte \u00e0 l'extension et ferm\u00e9e \u00e0 la modification.","og_url":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/","og_site_name":"Cyberm\u00e9diane","article_published_time":"2022-01-26T01:28:58+00:00","article_modified_time":"2026-04-20T09:13:21+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png","type":"","width":"","height":""}],"author":"vpwing","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"vpwing","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/"},"author":{"name":"vpwing","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/0a4c6bba97e67c6ffa054e995781bc34"},"headline":"Qu&#8217;est-ce que le principe ouvert-ferm\u00e9 (OCP) ?","datePublished":"2022-01-26T01:28:58+00:00","dateModified":"2026-04-20T09:13:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/"},"wordCount":649,"commentCount":16,"image":{"@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png","articleSection":["Agile Project Management","Software Engineering"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/","url":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/","name":"Qu'est-ce que le principe ouvert-ferm\u00e9 (OCP) ? - Cyberm\u00e9diane","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png","datePublished":"2022-01-26T01:28:58+00:00","dateModified":"2026-04-20T09:13:21+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/0a4c6bba97e67c6ffa054e995781bc34"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#primaryimage","url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png","contentUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2022\/01\/0wlXaJtn3Bexx9ev7.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/fr\/what-is-the-open-closed-principle-ocp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Qu&rsquo;est-ce que le principe ouvert-ferm\u00e9 (OCP) ?"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/fr\/#website","url":"https:\/\/www.cybermedian.com\/fr\/","name":"Cyberm\u00e9diane","description":"Apprendre une nouvelle chose tous les jours","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/0a4c6bba97e67c6ffa054e995781bc34","name":"vpwing","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.cybermedian.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b6db296c78a800ccf76c379029a84263fc560f452fabfa00122d9ad34f40a2a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b6db296c78a800ccf76c379029a84263fc560f452fabfa00122d9ad34f40a2a?s=96&d=mm&r=g","caption":"vpwing"},"url":"https:\/\/www.cybermedian.com\/fr\/author\/vpwing\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/10096","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/comments?post=10096"}],"version-history":[{"count":4,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/10096\/revisions"}],"predecessor-version":[{"id":10100,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/posts\/10096\/revisions\/10100"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/media?parent=10096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/categories?post=10096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/fr\/wp-json\/wp\/v2\/tags?post=10096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}