{"id":3171,"date":"2022-06-10T10:25:35","date_gmt":"2022-06-10T08:25:35","guid":{"rendered":"https:\/\/devbloomppm.wpengine.com\/?p=3171"},"modified":"2022-06-15T15:55:15","modified_gmt":"2022-06-15T13:55:15","slug":"relation-inverse-quelle-syntaxe-en-ojs-sous-planisware","status":"publish","type":"post","link":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/","title":{"rendered":"Relation inverse : quelle syntaxe en OJS sous Planisware  ?"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"3171\" class=\"elementor elementor-3171\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-725e085 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"725e085\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-78dadd8\" data-id=\"78dadd8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7a06bdb\" data-id=\"7a06bdb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b6c83ad elementor-widget elementor-widget-heading\" data-id=\"b6c83ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Relation inverse : quelle syntaxe en OJS sous Planisware  ?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-22f5647 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"22f5647\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-4706b90\" data-id=\"4706b90\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d8a3fd1 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"d8a3fd1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c858b96 elementor-widget elementor-widget-heading\" data-id=\"c858b96\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">Sommaire<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c52820 elementor-align-start elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"7c52820\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#title1\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-chevron-right\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Probl\u00e9matique<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#title2\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-chevron-right\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">1. Faire une boucle sur une relation inverse<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#title3\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-chevron-right\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">2. Nommage des relations inverses natives<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#title4\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-chevron-right\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Relation Affections - Activit\u00e9<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#title5\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-chevron-right\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Relation D\u00e9penses pr\u00e9vues - Activit\u00e9<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"#title6\">\n\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-chevron-right\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Relation Synth\u00e8ses des temps et des d\u00e9penses - Activit\u00e9<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-e69c542\" data-id=\"e69c542\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b2c4aed elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"b2c4aed\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fb764c9 elementor-widget elementor-widget-heading\" data-id=\"fb764c9\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"title1\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">Probl\u00e9matique<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7c1997c elementor-widget elementor-widget-text-editor\" data-id=\"7c1997c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Les relations inverses permettent de \u00ab\u00a0r\u00e9cup\u00e9rer\u00a0\u00bb facilement et de mani\u00e8re optimis\u00e9e tous les objets qui poss\u00e8dent une relation avec un objet donn\u00e9. Par exemple une relation inverse permettra de parcourir la liste des affectations portant sur une activit\u00e9 donn\u00e9e.<\/p><p>Cet article apporte un \u00e9clairage sur la mani\u00e8re d\u2019utiliser une relation inverse et compl\u00e8te un pr\u00e9c\u00e9dent billet sur ce sujet. Comme vous pourrez le voir, le nommage est loin d\u2019\u00eatre unique\u2026 et pour une m\u00eame relation inverse on pourra avoir plusieurs possibilit\u00e9s.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b0956d7 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"b0956d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-74cdd93 elementor-widget elementor-widget-heading\" data-id=\"74cdd93\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"title2\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">1. Faire une boucle sur une relation inverse<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c78c4d9 elementor-widget elementor-widget-text-editor\" data-id=\"c78c4d9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Prenons un exemple :<\/p><p>Pour it\u00e9rer sur les affectations d\u2019une activit\u00e9 \u00ab\u00a0ID_ACTIVITY\u00a0\u00bb on peut utiliser la syntaxe suivante utilisant des relations inverses :<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9c7fdc elementor-widget elementor-widget-shortcode\" data-id=\"c9c7fdc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">{{< highlight java >}} var o_activity = \"OpxActivity\".get(\"ID_ACTIVITY\");\n\nfor(var o_allocation in o_activity.Allocations) { \u2026 }{{< \/highlight >}}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1ef768 elementor-widget elementor-widget-text-editor\" data-id=\"b1ef768\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ici \u00e0 partir de l\u2019activit\u00e9 dont l\u2019ID est \u00ab\u00a0ID_ACTIVITY\u00a0\u00bb on va it\u00e9rer sur toutes les Affectations dont le champ relation Activit\u00e9 (ou WORK_STRUCTURE) a pour valeur l\u2019activit\u00e9 concern\u00e9e.<\/p><p>La boucle va parcourir l\u2019ensemble des objets o_activity.Allocations qui permet, \u00e0 partir de l\u2019objet activit\u00e9 de remonter les objets affectations qui lui sont rattach\u00e9es. Ceci gr\u00e2ce au mot cl\u00e9 \u00ab Allocations \u00bb qui est le nom de la relation inverse.<\/p><p>Ce fameux mot cl\u00e9 peut avoir plusieurs noms diff\u00e9rents pour une m\u00eame relation. Ceci peut \u00eatre d\u00e9routant lorsque l\u2019on d\u00e9couvre le code OJS.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7845c04 elementor-widget-divider--view-line_text elementor-widget-divider--element-align-center elementor-widget elementor-widget-divider\" data-id=\"7845c04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7e8e3de elementor-widget elementor-widget-heading\" data-id=\"7e8e3de\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"title3\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">2. Nommage des relations inverses natives<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e82b3da elementor-widget elementor-widget-text-editor\" data-id=\"e82b3da\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dans cette partie nous proposons une liste non exhaustive par relation des mots cl\u00e9s permettant de lister les objets en relation inverse.<\/p><p>On verra qu\u2019il existe souvent au moins 1 version par langue (exemple Anglais \/ Fran\u00e7ais) mais d\u2019autres d\u00e9clinaisons dans une m\u00eame langue peuvent \u00eatre constat\u00e9es.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-81693f5 elementor-widget elementor-widget-heading\" data-id=\"81693f5\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"title4\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">Relation Affectations \u2013 Activit\u00e9<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5593ea elementor-widget elementor-widget-shortcode\" data-id=\"e5593ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">{{< highlight java >}} for(var o_allocation in o_activity.Allocations){} for(var o_allocation in o_activity.PlannedHours){}{{< \/highlight >}}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-62bf67d elementor-widget elementor-widget-heading\" data-id=\"62bf67d\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"title5\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">Relation D\u00e9penses pr\u00e9vue \u2013 Activit\u00e9<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7dbefb7 elementor-widget elementor-widget-shortcode\" data-id=\"7dbefb7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">{{< highlight java >}} for(var o_allocation in o_activity.Expenditures){} for(var o_allocation in o_activity.PlannedExpenditures){}{{< \/highlight >}}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-af7e51c elementor-widget elementor-widget-heading\" data-id=\"af7e51c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"title6\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">Relation Synth\u00e8ses des temps et des d\u00e9penses \u2013 Activit\u00e9<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8436e19 elementor-widget elementor-widget-shortcode\" data-id=\"8436e19\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">{{< highlight java >}} for(var o_allocation in o_activity.get(\"TIME-SYNTS\")){}{{< \/highlight >}}<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c9f728 elementor-widget elementor-widget-text-editor\" data-id=\"9c9f728\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><em><span style=\"color: #000000;\">Version Planisware : Processes 5.3.2.14<\/span><\/em><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Relation inverse : quelle syntaxe en OJS sous Planisware ? Sommaire Probl\u00e9matique 1. Faire une boucle sur une relation inverse 2. Nommage des relations inverses natives Relation Affections &#8211; Activit\u00e9 Relation D\u00e9penses pr\u00e9vues &#8211; Activit\u00e9 Relation Synth\u00e8ses des temps et des d\u00e9penses &#8211; Activit\u00e9 Probl\u00e9matique Les relations inverses permettent de \u00ab&nbsp;r\u00e9cup\u00e9rer&nbsp;\u00bb facilement et de mani\u00e8re&hellip;&nbsp;<a href=\"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/\" rel=\"bookmark\">Lire la suite &raquo;<span class=\"screen-reader-text\">Relation inverse : quelle syntaxe en OJS sous Planisware  ?<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":1100,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"left","neve_meta_author_avatar":"","neve_post_elements_order":"[\"meta\",\"thumbnail\",\"content\",\"tags\",\"comments\"]","neve_meta_disable_header":"off","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"cybocfi_hide_featured_image":"yes","footnotes":""},"categories":[9],"tags":[],"class_list":["post-3171","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-non-classifiee"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Relation inverse : quelle syntaxe en OJS sous Planisware ? - BLOOM PPM<\/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:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/\"},\"author\":{\"name\":\"Antoine Hirschenhahn\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#\\\/schema\\\/person\\\/beb0bf75e386466a086d6a396e9112b7\"},\"headline\":\"Relation inverse : quelle syntaxe en OJS sous Planisware ?\",\"datePublished\":\"2022-06-10T08:25:35+00:00\",\"dateModified\":\"2022-06-15T13:55:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/\"},\"wordCount\":455,\"publisher\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bloomppm.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/planisware-logo.png\",\"articleSection\":[\"Non classifi\u00e9(e)\"],\"inLanguage\":\"fr-FR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/\",\"url\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/\",\"name\":\"Relation inverse : quelle syntaxe en OJS sous Planisware ? - BLOOM PPM\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/bloomppm.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/planisware-logo.png\",\"datePublished\":\"2022-06-10T08:25:35+00:00\",\"dateModified\":\"2022-06-15T13:55:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Relation inverse : quelle syntaxe en OJS sous Planisware ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/\",\"name\":\"BLOOM PPM\",\"description\":\"We make your projects grow\",\"publisher\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#organization\",\"name\":\"Bloom PPM\",\"url\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/bloomppm.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Blue_without_background.png\",\"contentUrl\":\"https:\\\/\\\/bloomppm.com\\\/wp-content\\\/uploads\\\/2020\\\/10\\\/Blue_without_background.png\",\"width\":602,\"height\":204,\"caption\":\"Bloom PPM\"},\"image\":{\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/bloomppm\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/#\\\/schema\\\/person\\\/beb0bf75e386466a086d6a396e9112b7\",\"name\":\"Antoine Hirschenhahn\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e6ee81cbc975109949822918ee666922009c32622b2da432a1a3904c52375d60?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e6ee81cbc975109949822918ee666922009c32622b2da432a1a3904c52375d60?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/e6ee81cbc975109949822918ee666922009c32622b2da432a1a3904c52375d60?s=96&d=mm&r=g\",\"caption\":\"Antoine Hirschenhahn\"},\"url\":\"https:\\\/\\\/bloomppm.com\\\/fr\\\/author\\\/antoine-hirschenhahnbloomppm-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Relation inverse : quelle syntaxe en OJS sous Planisware ? - BLOOM PPM","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:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/#article","isPartOf":{"@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/"},"author":{"name":"Antoine Hirschenhahn","@id":"https:\/\/bloomppm.com\/fr\/#\/schema\/person\/beb0bf75e386466a086d6a396e9112b7"},"headline":"Relation inverse : quelle syntaxe en OJS sous Planisware ?","datePublished":"2022-06-10T08:25:35+00:00","dateModified":"2022-06-15T13:55:15+00:00","mainEntityOfPage":{"@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/"},"wordCount":455,"publisher":{"@id":"https:\/\/bloomppm.com\/fr\/#organization"},"image":{"@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/#primaryimage"},"thumbnailUrl":"https:\/\/bloomppm.com\/wp-content\/uploads\/2020\/10\/planisware-logo.png","articleSection":["Non classifi\u00e9(e)"],"inLanguage":"fr-FR"},{"@type":"WebPage","@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/","url":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/","name":"Relation inverse : quelle syntaxe en OJS sous Planisware ? - BLOOM PPM","isPartOf":{"@id":"https:\/\/bloomppm.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/#primaryimage"},"image":{"@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/#primaryimage"},"thumbnailUrl":"https:\/\/bloomppm.com\/wp-content\/uploads\/2020\/10\/planisware-logo.png","datePublished":"2022-06-10T08:25:35+00:00","dateModified":"2022-06-15T13:55:15+00:00","breadcrumb":{"@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/bloomppm.com\/fr\/relation-inverse-quelle-syntaxe-en-ojs-sous-planisware\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/bloomppm.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Relation inverse : quelle syntaxe en OJS sous Planisware ?"}]},{"@type":"WebSite","@id":"https:\/\/bloomppm.com\/fr\/#website","url":"https:\/\/bloomppm.com\/fr\/","name":"BLOOM PPM","description":"We make your projects grow","publisher":{"@id":"https:\/\/bloomppm.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bloomppm.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/bloomppm.com\/fr\/#organization","name":"Bloom PPM","url":"https:\/\/bloomppm.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bloomppm.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/bloomppm.com\/wp-content\/uploads\/2020\/10\/Blue_without_background.png","contentUrl":"https:\/\/bloomppm.com\/wp-content\/uploads\/2020\/10\/Blue_without_background.png","width":602,"height":204,"caption":"Bloom PPM"},"image":{"@id":"https:\/\/bloomppm.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/bloomppm\/"]},{"@type":"Person","@id":"https:\/\/bloomppm.com\/fr\/#\/schema\/person\/beb0bf75e386466a086d6a396e9112b7","name":"Antoine Hirschenhahn","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/e6ee81cbc975109949822918ee666922009c32622b2da432a1a3904c52375d60?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/e6ee81cbc975109949822918ee666922009c32622b2da432a1a3904c52375d60?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e6ee81cbc975109949822918ee666922009c32622b2da432a1a3904c52375d60?s=96&d=mm&r=g","caption":"Antoine Hirschenhahn"},"url":"https:\/\/bloomppm.com\/fr\/author\/antoine-hirschenhahnbloomppm-com\/"}]}},"_links":{"self":[{"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/posts\/3171","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/comments?post=3171"}],"version-history":[{"count":0,"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/posts\/3171\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/media\/1100"}],"wp:attachment":[{"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/media?parent=3171"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/categories?post=3171"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bloomppm.com\/fr\/wp-json\/wp\/v2\/tags?post=3171"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}