{"id":128,"date":"2026-04-07T19:28:24","date_gmt":"2026-04-07T19:28:24","guid":{"rendered":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/"},"modified":"2026-04-07T19:28:24","modified_gmt":"2026-04-07T19:28:24","slug":"object-oriented-analysis-design-primer","status":"publish","type":"post","link":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/","title":{"rendered":"Introduction \u00e0 l&#8217;analyse et \u00e0 la conception orient\u00e9es objet : Les concepts fondamentaux que tout d\u00e9veloppeur en herbe doit conna\u00eetre"},"content":{"rendered":"<p>Dans le paysage du d\u00e9veloppement logiciel, la diff\u00e9rence entre une application fragile et un syst\u00e8me robuste r\u00e9side souvent dans la mani\u00e8re dont elle est con\u00e7ue avant la premi\u00e8re ligne de code. Ce processus est connu sous le nom d&#8217;analyse et de conception orient\u00e9es objet, ou OOAD. Il s&#8217;agit de la phase de conception architecturale qui d\u00e9termine la structure, le comportement et la maintenabilit\u00e9 du produit final. Comprendre ces concepts ne consiste pas seulement \u00e0 suivre une m\u00e9thodologie ; c&#8217;est penser en termes d&#8217;interactions, de responsabilit\u00e9s et de relations.<\/p>\n<p>Ce guide sert de ressource fondamentale. Nous explorerons les m\u00e9canismes de l&#8217;OOAD, en d\u00e9composant des id\u00e9es th\u00e9oriques complexes en compr\u00e9hension pratique. \u00c0 la fin de cette lecture, vous aurez un mod\u00e8le mental clair sur la mani\u00e8re d&#8217;aborder la construction de syst\u00e8mes logiciels selon les principes orient\u00e9s objet.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img alt=\"Hand-drawn marker illustration infographic explaining Object-Oriented Analysis and Design (OOAD) fundamentals: features the four pillars (encapsulation, abstraction, inheritance, polymorphism), analysis phase with use cases and domain objects, design phase with class relationships and cohesion\/coupling principles, SOLID acronym breakdown, common design patterns (Factory, Observer, Strategy), UML diagram types, and key pitfalls to avoid\u2014all presented in vibrant sketchy marker style with clear visual hierarchy for aspiring developers\" decoding=\"async\" src=\"https:\/\/www.hi-posts.com\/wp-content\/uploads\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg\"\/><\/figure>\n<\/div>\n<h2>Comprendre le paradigme orient\u00e9 objet \ud83e\udde0<\/h2>\n<p>Le logiciel a \u00e9volu\u00e9 des scripts lin\u00e9aires vers des syst\u00e8mes complexes. Le paradigme orient\u00e9 objet (OO) organise le code autour d&#8217;\u00ab objets \u00bb plut\u00f4t que d&#8217;actions et de logique. Un objet repr\u00e9sente une entit\u00e9 distincte dot\u00e9e d&#8217;un \u00e9tat et d&#8217;un comportement. Ce changement d\u00e9place l&#8217;attention du d\u00e9veloppeur de \u00ab que fait le programme ? \u00bb vers \u00ab quels objets existent dans ce domaine, et comment interagissent-ils ? \u00bb<\/p>\n<p>L&#8217;OOAD est l&#8217;approche structur\u00e9e pour d\u00e9finir ces objets et leurs interactions. Elle se compose de deux phases principales :<\/p>\n<ul>\n<li><strong>Analyse :<\/strong> Elle se concentre sur la compr\u00e9hension du domaine du probl\u00e8me. Elle pose la question \u00ab Qu&#8217;est-ce que le syst\u00e8me doit faire ? \u00bb sans se soucier des d\u00e9tails d&#8217;impl\u00e9mentation.<\/li>\n<li><strong>Conception :<\/strong> Elle se concentre sur la solution. Elle pose la question \u00ab Comment le syst\u00e8me sera-t-il construit ? \u00bb en traduisant les exigences en une structure technique.<\/li>\n<\/ul>\n<p>Ces phases ne sont pas toujours lin\u00e9aires. Elles it\u00e8rent souvent au fur et \u00e0 mesure que la compr\u00e9hension s&#8217;approfondit. Sauter cette \u00e9tape de planification entra\u00eene g\u00e9n\u00e9ralement un fort endettement technique, o\u00f9 le code devient difficile \u00e0 modifier au fil du temps.<\/p>\n<h2>Les quatre piliers de la programmation orient\u00e9e objet \ud83c\udfd7\ufe0f<\/h2>\n<p>Avant de plonger dans l&#8217;analyse et la conception, il faut ma\u00eetriser les piliers fondamentaux qui soutiennent ce paradigme. Ces principes guident la structure des objets et leurs relations mutuelles. Les ignorer conduit souvent \u00e0 un couplage \u00e9troit et \u00e0 un code fragile.<\/p>\n<h3>1. Encapsulation \ud83d\udd12<\/h3>\n<p>L&#8217;encapsulation consiste \u00e0 regrouper les donn\u00e9es avec les m\u00e9thodes qui les manipulent. Elle restreint l&#8217;acc\u00e8s direct \u00e0 certaines composantes d&#8217;un objet, ce qui permet d&#8217;\u00e9viter les interf\u00e9rences involontaires et les mauvais usages des donn\u00e9es.<\/p>\n<ul>\n<li><strong>Pourquoi cela importe :<\/strong> Elle cr\u00e9e une fronti\u00e8re. Les autres parties du syst\u00e8me interagissent avec l&#8217;objet \u00e0 travers une interface d\u00e9finie, et non en manipulant directement les variables internes.<\/li>\n<li><strong>Avantage :<\/strong> Si l&#8217;impl\u00e9mentation interne change, le code externe ne se rompt pas, \u00e0 condition que l&#8217;interface reste identique.<\/li>\n<\/ul>\n<h3>2. Abstraction \ud83c\udfad<\/h3>\n<p>L&#8217;abstraction consiste \u00e0 cacher les d\u00e9tails complexes d&#8217;impl\u00e9mentation et \u00e0 montrer uniquement les fonctionnalit\u00e9s essentielles d&#8217;un objet. Elle permet aux d\u00e9veloppeurs de travailler avec des concepts de haut niveau sans avoir \u00e0 conna\u00eetre les m\u00e9canismes de bas niveau.<\/p>\n<ul>\n<li><strong>Pourquoi cela importe :<\/strong> Elle r\u00e9duit la charge cognitive. Vous pouvez utiliser un \u00ab PaymentProcessor \u00bb sans conna\u00eetre la mani\u00e8re dont l&#8217;API bancaire g\u00e8re la transaction.<\/li>\n<li><strong>Avantage :<\/strong> Elle simplifie la complexit\u00e9 du syst\u00e8me, ce qui facilite la gestion des grands ensembles de code.<\/li>\n<\/ul>\n<h3>3. H\u00e9ritage \ud83e\uddec<\/h3>\n<p>L&#8217;h\u00e9ritage permet \u00e0 une nouvelle classe d&#8217;h\u00e9riter des propri\u00e9t\u00e9s et des comportements d&#8217;une classe existante. Cela favorise la r\u00e9utilisation du code et \u00e9tablit une relation hi\u00e9rarchique entre les classes.<\/p>\n<ul>\n<li><strong>Pourquoi cela importe :<\/strong> Il mod\u00e9lise les relations \u00ab est-un \u00bb. Un <code>Voiture<\/code> est un <code>V\u00e9hicule<\/code>. Un <code>Camion<\/code> est un <code>V\u00e9hicule<\/code>.<\/li>\n<li><strong>Avantage :<\/strong> La logique commune est \u00e9crite une seule fois dans une classe parente et partag\u00e9e entre les enfants, r\u00e9duisant ainsi la redondance.<\/li>\n<\/ul>\n<h3>4. Polymorphisme \ud83c\udfa8<\/h3>\n<p>Le polymorphisme permet de traiter des objets de types diff\u00e9rents comme des objets d&#8217;un m\u00eame type sup\u00e9rieur. Il permet d&#8217;utiliser la m\u00eame interface pour des formes sous-jacentes diff\u00e9rentes.<\/p>\n<ul>\n<li><strong>Pourquoi cela importe :<\/strong> Il permet la flexibilit\u00e9. Vous pouvez avoir une liste de <code>Formes<\/code> contenant des <code>Cercles<\/code> et des <code>Carr\u00e9s<\/code> et appeler une m\u00e9thode <code>dessiner()<\/code> sur chacun d&#8217;eux sans conna\u00eetre leurs types sp\u00e9cifiques.<\/li>\n<li><strong>Avantage :<\/strong> Il supporte l&#8217;extensibilit\u00e9 sans fin. De nouveaux types peuvent \u00eatre ajout\u00e9s sans modifier le code existant qui utilise l&#8217;interface commune.<\/li>\n<\/ul>\n<h2>La phase d&#8217;analyse : D\u00e9finition du probl\u00e8me \ud83d\udd0d<\/h2>\n<p>La phase d&#8217;analyse consiste \u00e0 comprendre les exigences. C&#8217;est l\u00e0 que vous traduisez les besoins m\u00e9tiers en sp\u00e9cifications fonctionnelles. Cette phase est cruciale car si les exigences sont erron\u00e9es, la conception sera fauss\u00e9e, quelle que soit l&#8217;\u00e9l\u00e9gance du code.<\/p>\n<h3>Identification des cas d&#8217;utilisation \ud83d\udccb<\/h3>\n<p>Un cas d&#8217;utilisation d\u00e9crit une interaction sp\u00e9cifique entre un utilisateur (acteur) et le syst\u00e8me afin d&#8217;atteindre un objectif. C&#8217;est un r\u00e9cit de ce que fait le syst\u00e8me, et non de la mani\u00e8re dont il le fait.<\/p>\n<ul>\n<li><strong>Acteurs :<\/strong> Ce sont les utilisateurs ou les syst\u00e8mes externes qui interagissent avec votre application. Ils peuvent \u00eatre humains (par exemple, \u00ab Utilisateur administrateur \u00bb) ou non humains (par exemple, \u00ab API passerelle de paiement \u00bb).<\/li>\n<li><strong>Sc\u00e9narios :<\/strong> Un cas d&#8217;utilisation peut avoir plusieurs sc\u00e9narios, y compris le parcours normal (tout se passe bien) et les parcours alternatifs (des erreurs ou des exceptions se produisent).<\/li>\n<\/ul>\n<p>Lors de la documentation des cas d&#8217;utilisation, la clart\u00e9 est essentielle. \u00c9vitez le jargon technique. Concentrez-vous sur l&#8217;intention de l&#8217;utilisateur.<\/p>\n<h3>Identification des objets du domaine \ud83e\udde9<\/h3>\n<p>Pendant l&#8217;analyse, vous examinez le domaine du probl\u00e8me \u00e0 la recherche de noms. Ces noms deviennent souvent des classes ou objets candidats. Par exemple, dans un syst\u00e8me de commerce \u00e9lectronique, les noms pourraient inclure <code>Client<\/code>, <code>Commande<\/code>, <code>Produit<\/code>, et <code>Facture<\/code>.<\/p>\n<p>Il est important de distinguer les objets valeur des objets entit\u00e9 :<\/p>\n<table>\n<thead>\n<tr>\n<th>Type<\/th>\n<th>Caract\u00e9ristiques<\/th>\n<th>Exemple<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Entit\u00e9<\/strong><\/td>\n<td>Poss\u00e8de une identit\u00e9, persiste dans le temps, son cycle de vie est ind\u00e9pendant des autres objets.<\/td>\n<td><code>Commande<\/code> (poss\u00e8de un ID, existe au fil des sessions)<\/td>\n<\/tr>\n<tr>\n<td><strong>Objet valeur<\/strong><\/td>\n<td>Pas d&#8217;identit\u00e9, immuable, d\u00e9fini par ses attributs.<\/td>\n<td><code>Adresse<\/code>, <code>Argent<\/code> (d\u00e9fini par rue\/nom ou montant\/devise)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Classer correctement ces objets garantit que le syst\u00e8me mod\u00e9lise la r\u00e9alit\u00e9 avec pr\u00e9cision. Confondre une entit\u00e9 avec un objet valeur peut entra\u00eener des probl\u00e8mes d&#8217;int\u00e9grit\u00e9 des donn\u00e9es.<\/p>\n<h2>La phase de conception : construction de la solution \ud83d\udee0\ufe0f<\/h2>\n<p>Une fois que la phase d&#8217;analyse a d\u00e9fini ce que le syst\u00e8me doit faire, la phase de conception d\u00e9termine comment le construire. Cela implique la cr\u00e9ation d&#8217;un mod\u00e8le structurel des objets identifi\u00e9s lors de l&#8217;analyse.<\/p>\n<h3>Diagrammes de classes et relations \ud83d\udcca<\/h3>\n<p>Un diagramme de classes est l&#8217;outil le plus courant utilis\u00e9 pour visualiser la structure statique du syst\u00e8me. Il montre les classes, leurs attributs, leurs m\u00e9thodes et leurs relations.<\/p>\n<p>Les relations cl\u00e9s \u00e0 mod\u00e9liser incluent :<\/p>\n<ul>\n<li><strong>Association :<\/strong> Une relation structurelle o\u00f9 les objets sont connect\u00e9s. (par exemple, un <code>Enseignant<\/code> enseigne <code>\u00c9tudiants<\/code>).<\/li>\n<li><strong>Agr\u00e9gation :<\/strong> Une forme faible d&#8217;association o\u00f9 le tout peut exister sans la partie. (par exemple, un <code>D\u00e9partement<\/code> poss\u00e8de <code>Membres<\/code>; si le d\u00e9partement ferme, les membres existent toujours).<\/li>\n<li><strong>Composition :<\/strong> Une forme forte d&#8217;association o\u00f9 la partie ne peut exister sans le tout. (par exemple, une <code>Maison<\/code> poss\u00e8de <code>Chambres<\/code>; si la maison est d\u00e9molie, les chambres disparaissent).<\/li>\n<li><strong>H\u00e9ritage :<\/strong> La relation \u00ab est-un \u00bb abord\u00e9e pr\u00e9c\u00e9demment.<\/li>\n<\/ul>\n<h3>Conception pilot\u00e9e par les responsabilit\u00e9s \ud83c\udfaf<\/h3>\n<p>Dans la conception, vous attribuez des responsabilit\u00e9s aux classes. Une responsabilit\u00e9 est quelque chose qu&#8217;une classe conna\u00eet ou fait. Ce concept aide \u00e0 d\u00e9terminer o\u00f9 la logique doit r\u00e9sider.<\/p>\n<p>Il existe trois types principaux de responsabilit\u00e9s :<\/p>\n<ul>\n<li><strong>Masquage de l&#8217;information :<\/strong>Une classe est responsable de maintenir son \u00e9tat interne priv\u00e9.<\/li>\n<li><strong>Calcul :<\/strong>Une classe effectue des calculs (par exemple, calculer les taxes).<\/li>\n<li><strong>Cr\u00e9ation :<\/strong> Une classe est responsable de l&#8217;instanciation d&#8217;autres objets.<\/li>\n<\/ul>\n<p>Lors de l&#8217;attribution des responsabilit\u00e9s, visez une forte coh\u00e9sion et un faible couplage.<\/p>\n<h3>Haute coh\u00e9sion, faible couplage \u2696\ufe0f<\/h3>\n<p>C&#8217;est la r\u00e8gle d&#8217;or de la conception. Elle garantit que votre syst\u00e8me est maintenable et flexible.<\/p>\n<ul>\n<li><strong>Haute coh\u00e9sion :<\/strong>Une classe devrait avoir un seul objectif bien d\u00e9fini. Si une classe effectue cinq t\u00e2ches sans lien, elle pr\u00e9sente une faible coh\u00e9sion. Si elle ne g\u00e8re que l&#8217;authentification des utilisateurs, elle pr\u00e9sente une haute coh\u00e9sion.<\/li>\n<li><strong>Faible couplage :<\/strong>Les classes doivent \u00eatre ind\u00e9pendantes les unes des autres. Si vous modifiez la classe A, la classe B ne doit pas cesser de fonctionner. Les d\u00e9pendances doivent \u00eatre minimis\u00e9es.<\/li>\n<\/ul>\n<h2>Principes et motifs de conception \ud83d\udcd0<\/h2>\n<p>Au fil du temps, la communaut\u00e9 a identifi\u00e9 des probl\u00e8mes et des solutions r\u00e9currents. Ceux-ci sont connus sous le nom de motifs de conception et de principes. Ils fournissent un vocabulaire pour discuter des d\u00e9cisions de conception.<\/p>\n<h3>Les principes SOLID \ud83d\udcdc<\/h3>\n<p>Ces cinq principes guident la cr\u00e9ation de logiciels orient\u00e9s objet maintenables.<\/p>\n<ul>\n<li><strong>S \u2013 Principe de responsabilit\u00e9 unique :<\/strong>Une classe ne devrait avoir qu&#8217;une seule raison de changer. Cela correspond \u00e0 une haute coh\u00e9sion.<\/li>\n<li><strong>O \u2013 Principe ouvert\/ferm\u00e9 :<\/strong>Les entit\u00e9s logicielles doivent \u00eatre ouvertes pour l&#8217;extension mais ferm\u00e9es pour la modification. Vous ajoutez de nouvelles fonctionnalit\u00e9s en ajoutant de nouvelles classes, et non en modifiant le code existant.<\/li>\n<li><strong>L \u2013 Principe de substitution de Liskov :<\/strong>Les objets d&#8217;une superclasse doivent pouvoir \u00eatre remplac\u00e9s par des objets de ses sous-classes sans casser l&#8217;application. Cela garantit que l&#8217;h\u00e9ritage est utilis\u00e9 correctement.<\/li>\n<li><strong>I \u2013 Principe de s\u00e9paration des interfaces :<\/strong>Les clients ne doivent pas \u00eatre oblig\u00e9s de d\u00e9pendre de m\u00e9thodes qu&#8217;ils n&#8217;utilisent pas. Divisez les grandes interfaces en interfaces plus petites et plus sp\u00e9cifiques.<\/li>\n<li><strong>D \u2013 Principe d&#8217;inversion des d\u00e9pendances :<\/strong>D\u00e9pendez des abstractions, pas des concretions. Les modules de haut niveau ne doivent pas d\u00e9pendre des modules de bas niveau. Les deux doivent d\u00e9pendre des abstractions.<\/li>\n<\/ul>\n<h3>Mod\u00e8les de conception courants \ud83e\udde9<\/h3>\n<p>Les motifs sont des mod\u00e8les pour r\u00e9soudre des probl\u00e8mes courants. Ce ne sont pas des extraits de code, mais des structures conceptuelles.<\/p>\n<ul>\n<li><strong>Mod\u00e8le Factory :<\/strong>Fournit une interface pour cr\u00e9er des objets dans une superclasse, permettant aux sous-classes de modifier le type d&#8217;objets qui seront cr\u00e9\u00e9s. Utile lorsque le type exact de l&#8217;objet est inconnu jusqu&#8217;au moment d&#8217;ex\u00e9cution.<\/li>\n<li><strong>Mod\u00e8le Observateur :<\/strong>D\u00e9finit un m\u00e9canisme d&#8217;abonnement pour informer plusieurs objets d&#8217;\u00e9v\u00e9nements. Id\u00e9al pour les syst\u00e8mes orient\u00e9s \u00e9v\u00e9nements, comme la mise \u00e0 jour de l&#8217;interface utilisateur lorsqu&#8217;un changement de donn\u00e9es se produit.<\/li>\n<li><strong>Mod\u00e8le Strat\u00e9gie :<\/strong>D\u00e9finit une famille d&#8217;algorithmes, encapsule chacun d&#8217;eux et les rend interchangeables. Cela permet \u00e0 l&#8217;algorithme de varier ind\u00e9pendamment des clients qui l&#8217;utilisent.<\/li>\n<\/ul>\n<h2>Visualisation de l&#8217;architecture \ud83d\uddbc\ufe0f<\/h2>\n<p>Bien que le texte et les tableaux soient utiles, des diagrammes visuels sont souvent n\u00e9cessaires pour communiquer des conceptions complexes aux parties prenantes. Le langage de mod\u00e9lisation unifi\u00e9 (UML) est la norme pour ces diagrammes.<\/p>\n<h3>Diagrammes UML cl\u00e9s<\/h3>\n<table>\n<thead>\n<tr>\n<th>Type de diagramme<\/th>\n<th>Objectif<\/th>\n<th>Focus<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Diagramme de classes<\/strong><\/td>\n<td>Structure statique<\/td>\n<td>Classes, attributs, relations<\/td>\n<\/tr>\n<tr>\n<td><strong>Diagramme de s\u00e9quence<\/strong><\/td>\n<td>Comportement dynamique<\/td>\n<td>Interactions au fil du temps entre les objets<\/td>\n<\/tr>\n<tr>\n<td><strong>Diagramme de cas d&#8217;utilisation<\/strong><\/td>\n<td>Exigences fonctionnelles<\/td>\n<td>Acteurs et objectifs du syst\u00e8me<\/td>\n<\/tr>\n<tr>\n<td><strong>Diagramme d&#8217;\u00e9tats-machine<\/strong><\/td>\n<td>Transitions d&#8217;\u00e9tat<\/td>\n<td>\u00c9tats d&#8217;un objet et d\u00e9clencheurs de changement<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Utiliser ces diagrammes aide \u00e0 garantir que l&#8217;\u00e9quipe partage une compr\u00e9hension commune du comportement du syst\u00e8me. Ils servent de documentation qui reste exacte tant que le mod\u00e8le est mis \u00e0 jour.<\/p>\n<h2>P\u00e9ch\u00e9s courants \u00e0 \u00e9viter \u26a0\ufe0f<\/h2>\n<p>M\u00eame en ma\u00eetrisant les principes, il est facile de commettre des erreurs au cours du processus d&#8217;analyse et de conception. \u00catre conscient de ces pi\u00e8ges courants peut faire gagner \u00e9norm\u00e9ment de temps pendant le d\u00e9veloppement.<\/p>\n<h3>1. Le mod\u00e8le de domaine an\u00e9mique \ud83d\udeab<\/h3>\n<p>Cela se produit lorsque les classes ne contiennent que des accesseurs et mutateurs, sans logique m\u00e9tier. Cela d\u00e9place la logique vers des classes de service, cr\u00e9ant des \u00ab scripts de transaction \u00bb qui violent l&#8217;encapsulation. Les objets doivent d\u00e9tenir leur propre logique.<\/p>\n<h3>2. Surconception \ud83c\udfd7\ufe0f<\/h3>\n<p>Ajouter des mod\u00e8les de conception complexes et des abstractions avant qu&#8217;elles ne soient n\u00e9cessaires cr\u00e9e une complexit\u00e9 inutile. YAGNI (Vous n&#8217;aurez pas besoin de cela) est un principe directeur. Construisez la solution la plus simple qui fonctionne pour les exigences actuelles.<\/p>\n<h3>3. Hi\u00e9rarchies d&#8217;h\u00e9ritage profondes \ud83c\udf33<\/h3>\n<p>Cr\u00e9er des classes de 10 niveaux de profondeur rend le syst\u00e8me rigide. L&#8217;h\u00e9ritage doit \u00eatre superficiel. Privil\u00e9giez la composition (avoir des objets contenant d&#8217;autres objets) plut\u00f4t que l&#8217;h\u00e9ritage lorsque c&#8217;est possible. Cela offre plus de flexibilit\u00e9.<\/p>\n<h3>4. Ignorer les exigences non fonctionnelles \ud83d\udcc9<\/h3>\n<p>L&#8217;analyse se concentre souvent sur les fonctionnalit\u00e9s (exigences fonctionnelles). Toutefois, la performance, la s\u00e9curit\u00e9 et la scalabilit\u00e9 (exigences non fonctionnelles) doivent \u00eatre prises en compte d\u00e8s le d\u00e9but. Un design qui fonctionne sur le plan fonctionnel mais qui s&#8217;effondre sous charge est un \u00e9chec.<\/p>\n<h2>It\u00e9ration et am\u00e9lioration \ud83d\udd04<\/h2>\n<p>L&#8217;analyse et la conception orient\u00e9es objet ne sont pas un \u00e9v\u00e9nement ponctuel. C&#8217;est un processus it\u00e9ratif. Au fur et \u00e0 mesure que vous mettez en \u0153uvre le syst\u00e8me, vous d\u00e9couvrirez de nouvelles exigences ou des failles dans la conception initiale. C&#8217;est normal.<\/p>\n<ul>\n<li><strong>Refactoring :<\/strong> Le processus de restructuration du code existant sans modifier son comportement externe. Cela vous permet d&#8217;am\u00e9liorer progressivement la conception.<\/li>\n<li><strong>Boucles de r\u00e9troaction :<\/strong> Revoyez r\u00e9guli\u00e8rement le code par rapport \u00e0 la conception. Si le code s&#8217;\u00e9carte significativement, mettez \u00e0 jour la conception pour refl\u00e9ter la r\u00e9alit\u00e9.<\/li>\n<\/ul>\n<p>La documentation doit rester l\u00e9g\u00e8re. Les syst\u00e8mes sur-document\u00e9s deviennent rapidement obsol\u00e8tes. Concentrez-vous sur la documentation des d\u00e9cisions qui ne sont pas \u00e9videntes ou critiques pour la maintenance future.<\/p>\n<h2>Pens\u00e9es finales sur la construction de syst\u00e8mes robustes \ud83d\ude80<\/h2>\n<p>Ma\u00eetriser l&#8217;analyse et la conception orient\u00e9es objet est un parcours, pas une destination. Cela exige de la pratique, de l&#8217;observation et une volont\u00e9 de remettre en question les hypoth\u00e8ses. En vous concentrant sur les concepts fondamentaux de l&#8217;encapsulation, de l&#8217;abstraction et des responsabilit\u00e9s claires, vous pouvez construire des syst\u00e8mes qui sont non seulement fonctionnels, mais aussi adaptables.<\/p>\n<p>L&#8217;objectif n&#8217;est pas de cr\u00e9er un code parfait du premier coup. L&#8217;objectif est de cr\u00e9er une fondation qui permet la croissance. Lorsque vous comprenez le \u00ab pourquoi \u00bb derri\u00e8re les d\u00e9cisions de conception, vous pouvez naviguer les changements avec confiance. Que vous travailliez sur un petit script ou une application d&#8217;entreprise \u00e0 grande \u00e9chelle, ces principes fournissent la stabilit\u00e9 n\u00e9cessaire pour livrer une valeur de mani\u00e8re coh\u00e9rente.<\/p>\n<p>Continuez \u00e0 apprendre, continuez \u00e0 concevoir, et privil\u00e9giez toujours la clart\u00e9 plut\u00f4t que la malice.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le paysage du d\u00e9veloppement logiciel, la diff\u00e9rence entre une application fragile et un syst\u00e8me robuste r\u00e9side souvent dans la mani\u00e8re dont elle est con\u00e7ue avant la premi\u00e8re ligne de&hellip;<\/p>\n","protected":false},"author":1,"featured_media":129,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Introduction \u00e0 l'analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux","_yoast_wpseo_metadesc":"Apprenez les concepts fondamentaux de l'analyse et de la conception orient\u00e9es objet. Un guide complet sur l'OOAD, les mod\u00e8les et l'architecture pour les d\u00e9veloppeurs.","inline_featured_image":false,"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[17],"tags":[8,16],"class_list":["post-128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-object-oriented-analysis-and-design","tag-academic","tag-object-oriented-analysis-and-design"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Introduction \u00e0 l&#039;analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux<\/title>\n<meta name=\"description\" content=\"Apprenez les concepts fondamentaux de l&#039;analyse et de la conception orient\u00e9es objet. Un guide complet sur l&#039;OOAD, les mod\u00e8les et l&#039;architecture pour les d\u00e9veloppeurs.\" \/>\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.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introduction \u00e0 l&#039;analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux\" \/>\n<meta property=\"og:description\" content=\"Apprenez les concepts fondamentaux de l&#039;analyse et de la conception orient\u00e9es objet. Un guide complet sur l&#039;OOAD, les mod\u00e8les et l&#039;architecture pour les d\u00e9veloppeurs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\" \/>\n<meta property=\"og:site_name\" content=\"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-07T19:28:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1664\" \/>\n\t<meta property=\"og:image:height\" content=\"928\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc\"},\"headline\":\"Introduction \u00e0 l&#8217;analyse et \u00e0 la conception orient\u00e9es objet : Les concepts fondamentaux que tout d\u00e9veloppeur en herbe doit conna\u00eetre\",\"datePublished\":\"2026-04-07T19:28:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\"},\"wordCount\":2571,\"publisher\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg\",\"keywords\":[\"academic\",\"object-oriented analysis and design\"],\"articleSection\":[\"Object-Oriented Analysis and Design\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\",\"url\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\",\"name\":\"Introduction \u00e0 l'analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux\",\"isPartOf\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg\",\"datePublished\":\"2026-04-07T19:28:24+00:00\",\"description\":\"Apprenez les concepts fondamentaux de l'analyse et de la conception orient\u00e9es objet. Un guide complet sur l'OOAD, les mod\u00e8les et l'architecture pour les d\u00e9veloppeurs.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage\",\"url\":\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg\",\"contentUrl\":\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg\",\"width\":1664,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hi-posts.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction \u00e0 l&#8217;analyse et \u00e0 la conception orient\u00e9es objet : Les concepts fondamentaux que tout d\u00e9veloppeur en herbe doit conna\u00eetre\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#website\",\"url\":\"https:\/\/www.hi-posts.com\/fr\/\",\"name\":\"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hi-posts.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#organization\",\"name\":\"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge\",\"url\":\"https:\/\/www.hi-posts.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/03\/hi-posts-logo.png\",\"contentUrl\":\"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/03\/hi-posts-logo.png\",\"width\":801,\"height\":801,\"caption\":\"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge\"},\"image\":{\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hi-posts.com\/fr\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/www.hi-posts.com\"],\"url\":\"https:\/\/www.hi-posts.com\/fr\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introduction \u00e0 l'analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux","description":"Apprenez les concepts fondamentaux de l'analyse et de la conception orient\u00e9es objet. Un guide complet sur l'OOAD, les mod\u00e8les et l'architecture pour les d\u00e9veloppeurs.","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.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/","og_locale":"fr_FR","og_type":"article","og_title":"Introduction \u00e0 l'analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux","og_description":"Apprenez les concepts fondamentaux de l'analyse et de la conception orient\u00e9es objet. Un guide complet sur l'OOAD, les mod\u00e8les et l'architecture pour les d\u00e9veloppeurs.","og_url":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/","og_site_name":"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge","article_published_time":"2026-04-07T19:28:24+00:00","og_image":[{"width":1664,"height":928,"url":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg","type":"image\/jpeg"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":false,"Dur\u00e9e de lecture estim\u00e9e":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#article","isPartOf":{"@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.hi-posts.com\/fr\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc"},"headline":"Introduction \u00e0 l&#8217;analyse et \u00e0 la conception orient\u00e9es objet : Les concepts fondamentaux que tout d\u00e9veloppeur en herbe doit conna\u00eetre","datePublished":"2026-04-07T19:28:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/"},"wordCount":2571,"publisher":{"@id":"https:\/\/www.hi-posts.com\/fr\/#organization"},"image":{"@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg","keywords":["academic","object-oriented analysis and design"],"articleSection":["Object-Oriented Analysis and Design"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/","url":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/","name":"Introduction \u00e0 l'analyse et \u00e0 la conception orient\u00e9es objet \ud83d\udcd0 Concepts fondamentaux","isPartOf":{"@id":"https:\/\/www.hi-posts.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage"},"image":{"@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg","datePublished":"2026-04-07T19:28:24+00:00","description":"Apprenez les concepts fondamentaux de l'analyse et de la conception orient\u00e9es objet. Un guide complet sur l'OOAD, les mod\u00e8les et l'architecture pour les d\u00e9veloppeurs.","breadcrumb":{"@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#primaryimage","url":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg","contentUrl":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/04\/ooad-primer-core-concepts-infographic-marker-illustration.jpg","width":1664,"height":928},{"@type":"BreadcrumbList","@id":"https:\/\/www.hi-posts.com\/fr\/object-oriented-analysis-design-primer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hi-posts.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Introduction \u00e0 l&#8217;analyse et \u00e0 la conception orient\u00e9es objet : Les concepts fondamentaux que tout d\u00e9veloppeur en herbe doit conna\u00eetre"}]},{"@type":"WebSite","@id":"https:\/\/www.hi-posts.com\/fr\/#website","url":"https:\/\/www.hi-posts.com\/fr\/","name":"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge","description":"","publisher":{"@id":"https:\/\/www.hi-posts.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hi-posts.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.hi-posts.com\/fr\/#organization","name":"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge","url":"https:\/\/www.hi-posts.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.hi-posts.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/03\/hi-posts-logo.png","contentUrl":"https:\/\/www.hi-posts.com\/fr\/wp-content\/uploads\/sites\/17\/2026\/03\/hi-posts-logo.png","width":801,"height":801,"caption":"Hi Posts Fran\u00e7ais\u2013 Artificial Intelligence News, Guides &amp; Knowledge"},"image":{"@id":"https:\/\/www.hi-posts.com\/fr\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hi-posts.com\/fr\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/www.hi-posts.com"],"url":"https:\/\/www.hi-posts.com\/fr\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/comments?post=128"}],"version-history":[{"count":0,"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/media\/129"}],"wp:attachment":[{"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hi-posts.com\/fr\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}