<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Dataviz | </title>
    <link>http://localhost:1313/tags/dataviz/</link>
      <atom:link href="http://localhost:1313/tags/dataviz/index.xml" rel="self" type="application/rss+xml" />
    <description>Dataviz</description>
    <generator>HugoBlox Kit (https://hugoblox.com)</generator><language>fr-FR</language><lastBuildDate>Fri, 03 Jul 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>http://localhost:1313/media/logo.svg</url>
      <title>Dataviz</title>
      <link>http://localhost:1313/tags/dataviz/</link>
    </image>
    
    <item>
      <title>Migration DataViz - une couche d’interopérabilité SQL amont-aval - {oa-lake}</title>
      <link>http://localhost:1313/ressources/middlewares/oa-lake-couche-interoperabilite/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/middlewares/oa-lake-couche-interoperabilite/</guid>
      <description>&lt;p&gt;Les plateformes décisionnelles reposent souvent sur plusieurs bases de données, plusieurs data warehouses / data lakes et plusieurs outils de restitution.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt; introduit une couche SQL intermédiaire entre les sources de données et les outils de datavisualisation.&lt;/p&gt;
&lt;p&gt;Les règles de gestion, objets métier, dimensions, mesures et calculs sont centralisés dans cette couche puis exposés aux outils consommateurs.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les sources de données et les outils de restitution deviennent indépendants les uns des autres.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;architecture&#34;&gt;Architecture&lt;/h2&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt; se connecte simultanément à plusieurs systèmes de données : bases relationnelles, data warehouses, lakehouses, fichiers ou APIs.&lt;/p&gt;
&lt;p&gt;Les requêtes sont fédérées par un moteur SQL distribué qui exécute les jointures, calculs et transformations nécessaires.&lt;/p&gt;
&lt;p&gt;Le SQL produit reste standard et exécutable sur différents moteurs, ce qui limite le lock-in technologique.&lt;/p&gt;
&lt;p&gt;Les objets métier sont définis une seule fois puis exposés aux outils consommateurs.&lt;/p&gt;
&lt;h2 id=&#34;sources-de-données&#34;&gt;Sources de données&lt;/h2&gt;
&lt;p&gt;Les données restent dans leurs systèmes d&amp;rsquo;origine.&lt;/p&gt;
&lt;p&gt;Oracle, SQL Server, PostgreSQL, DB2, BigQuery, Snowflake, Redshift, Azure SQL (et autres) ou des fichiers peuvent être interrogés dans une même requête.&lt;/p&gt;
&lt;p&gt;Le mécanisme de &lt;strong&gt;Push-Down SQL&lt;/strong&gt; évite toute copie systématique des données : les requêtes s&amp;rsquo;exécutent directement sur les systèmes existants, dans le respect des architectures en place.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Usage typique :&lt;/strong&gt; construire un dashboard à partir de données réparties sur plusieurs plateformes sans migration préalable.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;couche-métier-sql&#34;&gt;Couche métier SQL&lt;/h2&gt;
&lt;p&gt;Les dimensions, mesures, hiérarchies et règles de calcul sont centralisées dans &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Cette couche devient le point d&amp;rsquo;entrée unique pour les outils de restitution.&lt;/p&gt;
&lt;p&gt;Les règles de gestion ne sont plus dupliquées dans chaque plateforme de datavisualisation.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; une seule définition des indicateurs pour l&amp;rsquo;ensemble du système décisionnel.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;cache-parquet&#34;&gt;Cache Parquet&lt;/h2&gt;
&lt;p&gt;Les données peuvent être matérialisées au format Parquet.&lt;/p&gt;
&lt;p&gt;Cette couche de cache réduit les temps de réponse et limite les sollicitations des systèmes sources. Elle est gérée automatiquement selon les usages observés, sans intervention manuelle.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Usage typique :&lt;/strong&gt; accélérer les traitements analytiques les plus coûteux.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;data-visualisation&#34;&gt;Data visualisation&lt;/h2&gt;
&lt;p&gt;Les outils de restitution se connectent au modèle exposé par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Power BI, Looker, Spotfire, Tableau, Qlik, SAP BusinessObjects ou tout outil compatible SQL peuvent exploiter les mêmes objets métier.&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;img-big&#34; 
               srcset=&#34;http://localhost:1313/ressources/middlewares/oa-lake-couche-interoperabilite/dataviz_to_sql5_hu_cc40a0b6ed53e8a4.webp 320w, http://localhost:1313/ressources/middlewares/oa-lake-couche-interoperabilite/dataviz_to_sql5_hu_a0c38dc1450ec025.webp 480w, http://localhost:1313/ressources/middlewares/oa-lake-couche-interoperabilite/dataviz_to_sql5_hu_ef5b054544195ca9.webp 760w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;http://localhost:1313/ressources/middlewares/oa-lake-couche-interoperabilite/dataviz_to_sql5_hu_cc40a0b6ed53e8a4.webp&#34;
               width=&#34;760&#34;
               height=&#34;410&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les changements d&amp;rsquo;outils de data visualisation n&amp;rsquo;impliquent plus de reconstruire les dimensions, mesures et règles de calcul.&lt;/p&gt;
&lt;h2 id=&#34;migration-progressive&#34;&gt;Migration progressive&lt;/h2&gt;
&lt;p&gt;Plusieurs outils peuvent coexister pendant une phase de transition.&lt;/p&gt;
&lt;p&gt;Un même modèle métier peut être exposé simultanément vers plusieurs plateformes de restitution.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Résultat :&lt;/strong&gt; migration progressive des usages sans modification des systèmes de données.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;data-lineage&#34;&gt;Data Lineage&lt;/h2&gt;
&lt;p&gt;Le data lineage reconstruit par &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; reste disponible sur l&amp;rsquo;ensemble de la chaîne.&lt;/p&gt;
&lt;p&gt;Les dépendances sont documentées depuis les systèmes sources jusqu&amp;rsquo;aux indicateurs exposés dans les dashboards.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les transformations, calculs et usages restent traçables sur l&amp;rsquo;ensemble de l&amp;rsquo;architecture.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;script&gt;
(function () {
  // Masque la date &#34;Last updated on&#34; et le bloc Auteur sur les pages
  // Ressources : ce ne sont pas des articles de blog (pas de date/signature).
  function hide() {
    document.querySelectorAll(&#34;time.mt-12.mb-8&#34;).forEach(function (el) {
      el.style.display = &#34;none&#34;;
    });
    document.querySelectorAll(&#34;div.flex.pt-12.pb-4&#34;).forEach(function (el) {
      if (el.querySelector(&#39;img[src*=&#34;/media/authors/&#34;]&#39;)) {
        el.style.display = &#34;none&#34;;
      }
    });
    // Filet de sécurité supplémentaire : masque aussi la ligne de partage
    // social et tout conteneur lié à la fiche auteur, par correspondance
    // sémantique plutôt que par nom de classe (plus robuste aux mises à jour
    // du thème).
    var shareHrefPatterns = [
      &#34;twitter.com/intent&#34;, &#34;x.com/intent&#34;, &#34;facebook.com/sharer&#34;,
      &#34;linkedin.com/sharing&#34;, &#34;wa.me/&#34;, &#34;api.whatsapp.com&#34;, &#34;mailto:?&#34;
    ];
    document.querySelectorAll(&#34;a[href]&#34;).forEach(function (a) {
      var href = a.getAttribute(&#34;href&#34;) || &#34;&#34;;
      if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
        a.style.display = &#34;none&#34;;
      }
    });
    document.querySelectorAll(&#39;a[href=&#34;http://localhost:1313/authors/me/&#34;]&#39;).forEach(function (a) {
      var el = a.closest(&#34;div.flex&#34;) || a.parentElement;
      if (el) el.style.display = &#34;none&#34;;
    });
  }
  document.addEventListener(&#34;DOMContentLoaded&#34;, hide);
})();
&lt;/script&gt;
</description>
    </item>
    
    <item>
      <title>Migration DataViz - une couche sémantique interopérable - {oa-lake-ctx}</title>
      <link>http://localhost:1313/ressources/middlewares/oa-lake-ctx-couche-semantique/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/middlewares/oa-lake-ctx-couche-semantique/</guid>
      <description>&lt;p&gt;Les plateformes décisionnelles historiques reposaient généralement sur une couche sémantique permettant aux utilisateurs de manipuler des objets métier plutôt que des tables ou des requêtes SQL.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Clients&amp;rdquo;, &amp;ldquo;contrats&amp;rdquo;, &amp;ldquo;produits&amp;rdquo; ou &amp;ldquo;chiffre d&amp;rsquo;affaires&amp;rdquo; étaient exposés sous une forme fonctionnelle indépendante des structures physiques de stockage.&lt;/p&gt;
&lt;p&gt;Pour répondre à ce besoin, nous avons conçu &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; constitue la couche sémantique de l&amp;rsquo;architecture &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt;. Elle centralise les objets métier, les dimensions, les mesures, les KPIs, les règles de calcul et les mécanismes de sécurité.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les outils consommateurs manipulent des objets métier. Les structures physiques restent masquées.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;architecture&#34;&gt;Architecture&lt;/h2&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; centralise les dimensions, mesures, hiérarchies, KPI et règles de calcul.&lt;/p&gt;
&lt;p&gt;Ces composants sont définis une seule fois puis exposés aux outils consommateurs.&lt;/p&gt;
&lt;p&gt;Contrairement à certaines couches sémantiques du marché, &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; ne nécessite ni modèle physique spécifique, ni table pivot, ni chemin de navigation imposé.&lt;/p&gt;
&lt;p&gt;Les relations sont calculées dynamiquement à partir du modèle existant.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; un modèle métier unique pour toutes les données et tous les outils consommateurs.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;sources-de-données&#34;&gt;Sources de données&lt;/h2&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; peut exploiter simultanément plusieurs systèmes de données.&lt;/p&gt;
&lt;p&gt;Les données peuvent provenir de bases Oracle, SQL Server, PostgreSQL, DB2, Snowflake, BigQuery, Redshift, fichiers ou autres sources compatibles SQL.&lt;/p&gt;
&lt;p&gt;Les objets métier peuvent combiner plusieurs sources dans une même définition fonctionnelle.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Usage typique :&lt;/strong&gt; construire un KPI à partir de données réparties sur plusieurs plateformes.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;objets-métier&#34;&gt;Objets métier&lt;/h2&gt;
&lt;p&gt;Les catalogues exposés par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; regroupent les dimensions, mesures, KPI, hiérarchies et nomenclatures métier.&lt;/p&gt;
&lt;p&gt;Les relations entre objets sont définies dans la couche sémantique et non dans les outils de restitution.&lt;/p&gt;
&lt;p&gt;Les catalogues peuvent être organisés indépendamment des structures physiques des bases de données.&lt;/p&gt;
&lt;h2 id=&#34;génération-sql&#34;&gt;Génération SQL&lt;/h2&gt;
&lt;p&gt;Les requêtes SQL sont générées dynamiquement à partir des objets métier, dimensions, mesures et filtres sélectionnés.&lt;/p&gt;
&lt;p&gt;Les jointures, agrégations et règles de calcul sont appliquées par le moteur.&lt;/p&gt;
&lt;p&gt;Les filtres utilisateurs sont propagés jusqu&amp;rsquo;aux systèmes sources via le mécanisme de &lt;strong&gt;Push-Down SQL&lt;/strong&gt; : pas de copie systématique des données, les requêtes sont exécutées sur les systèmes existants, dans le respect des architectures en place.&lt;/p&gt;
&lt;p&gt;Le SQL généré peut être exécuté par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt; ou par tout moteur SQL compatible.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les utilisateurs manipulent des objets métier ; le SQL est généré automatiquement.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;smart-cache&#34;&gt;Smart Cache&lt;/h2&gt;
&lt;p&gt;Les données restent dans les systèmes sources lorsque cela est possible.&lt;/p&gt;
&lt;p&gt;Les jeux de données les plus sollicités peuvent être matérialisés au format Parquet.&lt;/p&gt;
&lt;p&gt;Le cache est piloté par le &lt;strong&gt;Cache Manager&lt;/strong&gt; de &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt;, géré automatiquement selon les usages observés.&lt;/p&gt;
&lt;p&gt;La gestion du cache reste indépendante des outils consommateurs.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les requêtes les plus coûteuses peuvent être accélérées sans modifier les systèmes sources.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;sql-engine&#34;&gt;SQL Engine&lt;/h2&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt; s&amp;rsquo;appuie sur un moteur SQL columnar et in-memory.&lt;/p&gt;
&lt;p&gt;Les requêtes générées par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; sont exécutées par ce moteur ou propagées vers les systèmes sources selon le contexte.&lt;/p&gt;
&lt;p&gt;Le SQL reste portable, standard et exécutable sur différents moteurs, indépendant des technologies de stockage utilisées — ce qui limite le lock-in technologique.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; le moteur SQL constitue la couche d&amp;rsquo;exécution de l&amp;rsquo;architecture.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;sécurité&#34;&gt;Sécurité&lt;/h2&gt;
&lt;p&gt;La sécurité est gérée au niveau de la couche sémantique.&lt;/p&gt;
&lt;p&gt;Les restrictions d&amp;rsquo;accès, profils utilisateurs, catalogues métier et filtres de sécurité sont appliqués avant génération des requêtes.&lt;/p&gt;
&lt;p&gt;Cette approche permet de reproduire les mécanismes de sécurité rencontrés dans des plateformes telles que SAP BusinessObjects ou IBM Cognos.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les règles de sécurité sont définies une seule fois puis appliquées à tous les outils connectés.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;restitution&#34;&gt;Restitution&lt;/h2&gt;
&lt;p&gt;Les catalogues exposés par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; peuvent être consommés par tout outil capable d&amp;rsquo;interroger une source PostgreSQL.&lt;/p&gt;
&lt;p&gt;Power BI, Looker, Spotfire, Tableau, Qlik ou d&amp;rsquo;autres plateformes accèdent aux mêmes objets métier, dimensions, mesures et KPI.&lt;/p&gt;
&lt;p&gt;Les définitions fonctionnelles restent identiques quel que soit l&amp;rsquo;outil utilisé.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Résultat :&lt;/strong&gt; plusieurs plateformes peuvent partager le même catalogue métier sans duplication des règles de calcul.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;gouvernance&#34;&gt;Gouvernance&lt;/h2&gt;
&lt;p&gt;Les objets métier, KPI, dimensions, mesures et règles de calcul sont centralisés dans un référentiel unique.&lt;/p&gt;
&lt;p&gt;Les évolutions fonctionnelles sont réalisées dans &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; puis immédiatement disponibles pour les outils connectés.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake-ctx}&lt;/strong&gt; constitue le point central de définition des objets métier et des KPI.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;script&gt;
(function () {
  // Masque la date &#34;Last updated on&#34; et le bloc Auteur sur les pages
  // Ressources : ce ne sont pas des articles de blog (pas de date/signature).
  function hide() {
    document.querySelectorAll(&#34;time.mt-12.mb-8&#34;).forEach(function (el) {
      el.style.display = &#34;none&#34;;
    });
    document.querySelectorAll(&#34;div.flex.pt-12.pb-4&#34;).forEach(function (el) {
      if (el.querySelector(&#39;img[src*=&#34;/media/authors/&#34;]&#39;)) {
        el.style.display = &#34;none&#34;;
      }
    });
    // Filet de sécurité supplémentaire : masque aussi la ligne de partage
    // social et tout conteneur lié à la fiche auteur, par correspondance
    // sémantique plutôt que par nom de classe (plus robuste aux mises à jour
    // du thème).
    var shareHrefPatterns = [
      &#34;twitter.com/intent&#34;, &#34;x.com/intent&#34;, &#34;facebook.com/sharer&#34;,
      &#34;linkedin.com/sharing&#34;, &#34;wa.me/&#34;, &#34;api.whatsapp.com&#34;, &#34;mailto:?&#34;
    ];
    document.querySelectorAll(&#34;a[href]&#34;).forEach(function (a) {
      var href = a.getAttribute(&#34;href&#34;) || &#34;&#34;;
      if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
        a.style.display = &#34;none&#34;;
      }
    });
    document.querySelectorAll(&#39;a[href=&#34;http://localhost:1313/authors/me/&#34;]&#39;).forEach(function (a) {
      var el = a.closest(&#34;div.flex&#34;) || a.parentElement;
      if (el) el.style.display = &#34;none&#34;;
    });
  }
  document.addEventListener(&#34;DOMContentLoaded&#34;, hide);
})();
&lt;/script&gt;
</description>
    </item>
    
    <item>
      <title>Migration DataViz - SAP BO, Power BI, Spotfire ou Cognos vers une architecture ouverte et interopérable</title>
      <link>http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/</guid>
      <description>&lt;p&gt;Les plateformes de datavisualisation évoluent régulièrement.&lt;/p&gt;
&lt;p&gt;SAP BusinessObjects, IBM Cognos, Power BI ou Spotfire peuvent se succéder au sein d&amp;rsquo;un même Système d&amp;rsquo;Information. Les objets métier, les calculs, les indicateurs et les règles de gestion restent généralement iso d&amp;rsquo;une plateforme à l&amp;rsquo;autre.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse les référentiels techniques, les couches sémantiques et les rapports afin de reconstruire les dépendances entre les sources de données, les traitements intermédiaires et les objets exposés dans les dashboards.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; les composants fonctionnels des plateformes de restitution sont extraits puis reconstruits dans un format indépendant de la technologie cible.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-du-patrimoine-décisionnel&#34;&gt;Analyse du patrimoine décisionnel&lt;/h2&gt;
&lt;p&gt;Les mécanismes d&amp;rsquo;analyse basés sur des parsers couvrent les univers SAP BusinessObjects, les Frameworks Cognos, les modèles Power BI, les Information Links Spotfire ainsi que les rapports, dashboards, calculs, filtres et objets métier associés.&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;img-big&#34; 
               srcset=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql2_hu_2f483d53db9a2dbe.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql2_hu_bf63c2d534156d92.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql2_hu_1c3253f15c2e9103.webp 760w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql2_hu_2f483d53db9a2dbe.webp&#34;
               width=&#34;760&#34;
               height=&#34;328&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les métadonnées collectées permettent de reconstruire les dépendances techniques, les couches sémantiques et les règles de gestion.&lt;/p&gt;
&lt;h2 id=&#34;rationalisation&#34;&gt;Rationalisation&lt;/h2&gt;
&lt;p&gt;Les référentiels techniques sont croisés avec les logs d&amp;rsquo;usage. Les rapports inutilisés, les doublons et les composants obsolètes sont identifiés avant la phase de migration.&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;img-big&#34; 
               srcset=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql3_hu_bb3979dc88ccc912.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql3_hu_a8ef7879d6b2c3ba.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql3_hu_e680bd9ae654ce98.webp 760w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql3_hu_bb3979dc88ccc912.webp&#34;
               width=&#34;760&#34;
               height=&#34;368&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Résultat :&lt;/strong&gt; réduction du périmètre réellement migré.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;transcription-sql&#34;&gt;Transcription SQL&lt;/h2&gt;
&lt;p&gt;Les requêtes, calculs, filtres, agrégations, jointures, variables et règles métier sont reconstruits sous forme de SQL.&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;img-big&#34; 
               srcset=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql4_hu_2cb7d027a1106112.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql4_hu_9b0b2bb5b801e751.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql4_hu_e3b77858eae45fab.webp 760w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql4_hu_2cb7d027a1106112.webp&#34;
               width=&#34;760&#34;
               height=&#34;247&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Le SQL produit constitue une représentation ouverte de la logique fonctionnelle initialement portée par la plateforme de datavisualisation.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; le SQL devient le format pivot de représentation des objets métier.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;oa-lake&#34;&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Les traitements SQL sont intégrés dans &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;















&lt;figure  &gt;
  &lt;div class=&#34;flex justify-center	&#34;&gt;
    &lt;div class=&#34;w-full&#34; &gt;
          &lt;img alt=&#34;img-big&#34; 
               srcset=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql5_hu_b113f953dc0905e7.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql5_hu_459956ea07b1250b.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql5_hu_2fc0da330337432c.webp 760w&#34;
               sizes=&#34;(max-width: 480px) 100vw, (max-width: 768px) 90vw, (max-width: 1024px) 80vw, 760px&#34;
               src=&#34;http://localhost:1313/ressources/migration-dataviz/migration-dataviz-architecture-ouverte/dataviz_to_sql5_hu_b113f953dc0905e7.webp&#34;
               width=&#34;760&#34;
               height=&#34;408&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa-lake}&lt;/strong&gt; centralise les objets métier, les indicateurs, les dimensions, les règles de gestion et les transformations SQL. Le moteur fédère plusieurs systèmes de données et expose un modèle unique aux outils de restitution.&lt;/p&gt;
&lt;p&gt;Les données peuvent être matérialisées au format Parquet. Les requêtes sont générées vers les systèmes physiques ou exécutées à partir du cache quand nécessaire.&lt;/p&gt;



  
  &lt;blockquote class=&#34;border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6&#34;&gt;
    &lt;p&gt;&lt;strong&gt;Point clé :&lt;/strong&gt; la logique métier est définie une seule fois puis exposée à plusieurs plateformes de datavisualisation.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;script&gt;
(function () {
  // Masque la date &#34;Last updated on&#34; et le bloc Auteur sur les pages
  // Ressources : ce ne sont pas des articles de blog (pas de date/signature).
  function hide() {
    document.querySelectorAll(&#34;time.mt-12.mb-8&#34;).forEach(function (el) {
      el.style.display = &#34;none&#34;;
    });
    document.querySelectorAll(&#34;div.flex.pt-12.pb-4&#34;).forEach(function (el) {
      if (el.querySelector(&#39;img[src*=&#34;/media/authors/&#34;]&#39;)) {
        el.style.display = &#34;none&#34;;
      }
    });
    // Filet de sécurité supplémentaire : masque aussi la ligne de partage
    // social et tout conteneur lié à la fiche auteur, par correspondance
    // sémantique plutôt que par nom de classe (plus robuste aux mises à jour
    // du thème).
    var shareHrefPatterns = [
      &#34;twitter.com/intent&#34;, &#34;x.com/intent&#34;, &#34;facebook.com/sharer&#34;,
      &#34;linkedin.com/sharing&#34;, &#34;wa.me/&#34;, &#34;api.whatsapp.com&#34;, &#34;mailto:?&#34;
    ];
    document.querySelectorAll(&#34;a[href]&#34;).forEach(function (a) {
      var href = a.getAttribute(&#34;href&#34;) || &#34;&#34;;
      if (shareHrefPatterns.some(function (p) { return href.indexOf(p) !== -1; })) {
        a.style.display = &#34;none&#34;;
      }
    });
    document.querySelectorAll(&#39;a[href=&#34;http://localhost:1313/authors/me/&#34;]&#39;).forEach(function (a) {
      var el = a.closest(&#34;div.flex&#34;) || a.parentElement;
      if (el) el.style.display = &#34;none&#34;;
    });
  }
  document.addEventListener(&#34;DOMContentLoaded&#34;, hide);
})();
&lt;/script&gt;
</description>
    </item>
    
  </channel>
</rss>
