<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ellipsys — Data lineage &amp; migration BI/ETL vers des architectures ouvertes | </title>
    <link>http://localhost:1313/</link>
      <atom:link href="http://localhost:1313/index.xml" rel="self" type="application/rss+xml" />
    <description>Ellipsys — Data lineage &amp; migration BI/ETL vers des architectures ouvertes</description>
    <generator>HugoBlox Kit (https://hugoblox.com)</generator><language>fr-FR</language><lastBuildDate>Mon, 29 Jun 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>http://localhost:1313/media/logo.svg</url>
      <title>Ellipsys — Data lineage &amp; migration BI/ETL vers des architectures ouvertes</title>
      <link>http://localhost:1313/</link>
    </image>
    
    <item>
      <title>Migration ETL - de l&#39;ETL legacy vers un ETL SQL ouvert - {oa.tbx}</title>
      <link>http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/</guid>
      <description>&lt;p&gt;Une fois les traitements ETL convertis en SQL par &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt;, ils peuvent être exécutés dans le conteneur &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt; fournit un environnement d&amp;rsquo;exécution pour des traitements SQL, Python ou Java, pilotés par des référentiels de configuration et d&amp;rsquo;orchestration.&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 traitements migrés deviennent des instructions SQL exécutables indépendamment de la plateforme ETL d&amp;rsquo;origine.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;principes&#34;&gt;Principes&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;encapsulation du SQL se fait dans des conteneurs ouverts, en mode ETL.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Des conteneurs :&lt;/strong&gt; les transformations s&amp;rsquo;exécutent dans un conteneur externe, &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt;, détaché de la base de données cible. Les conteneurs temporaires servent de zones de stockage intermédiaires où les données sont chargées avant transformation. Les jobs sont testés pour vérifier leur fonctionnement, et possiblement les données, pour garantir leur intégrité.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Orchestration avec Airflow :&lt;/strong&gt; Airflow pilote l&amp;rsquo;exécution des conteneurs, étape par étape. Chaque transformation, au sein d&amp;rsquo;un conteneur, est définie comme un job.&lt;/li&gt;
&lt;/ol&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/migration-etl-vers-oa-tbx/oa_tbx_airflow_scheduling_hu_3d51582657fd7652.webp 320w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa_tbx_airflow_scheduling_hu_e491566fb88257d1.webp 480w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa_tbx_airflow_scheduling_hu_94523c4431e46e11.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/migration-etl-vers-oa-tbx/oa_tbx_airflow_scheduling_hu_3d51582657fd7652.webp&#34;
               width=&#34;760&#34;
               height=&#34;456&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Le scheduling d&amp;rsquo;un ETL migré vers Airflow reprend automatiquement l&amp;rsquo;ensemble des instructions et de l&amp;rsquo;ordonnancement d&amp;rsquo;origine.&lt;/p&gt;
&lt;h2 id=&#34;chaîne-dexécution&#34;&gt;Chaîne d&amp;rsquo;exécution&lt;/h2&gt;
&lt;p&gt;Les jobs ETL sont convertis en SQL par &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Les traitements produits sont intégrés dans un référentiel de configuration et un référentiel de pilotage utilisés par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Les workflows sont ensuite orchestrés par des outils tels qu&amp;rsquo;Airflow ou Dagster.&lt;/p&gt;
&lt;h2 id=&#34;conteneur-dexécution&#34;&gt;Conteneur d&amp;rsquo;exécution&lt;/h2&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt; exécute les traitements décrits dans les workflows.&lt;/p&gt;
&lt;p&gt;Les dataflows peuvent combiner :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SQL ;&lt;/li&gt;
&lt;li&gt;Python ;&lt;/li&gt;
&lt;li&gt;Java ;&lt;/li&gt;
&lt;li&gt;autres.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le moteur peut également s&amp;rsquo;appuyer sur des bases embarquées telles que DuckDB pour certains traitements intermédiaires.&lt;/p&gt;
&lt;h2 id=&#34;sources-et-cibles&#34;&gt;Sources et cibles&lt;/h2&gt;
&lt;p&gt;Les données d&amp;rsquo;entrée peuvent provenir de n&amp;rsquo;importe quelle technologie accessible en SQL ou JDBC.&lt;/p&gt;
&lt;p&gt;Les résultats peuvent être chargés vers tout système cible compatible avec les mécanismes d&amp;rsquo;écriture standards.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;architecture reste indépendante des technologies source et cible.&lt;/p&gt;
&lt;h2 id=&#34;orchestration&#34;&gt;Orchestration&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;orchestration reste séparée des traitements.&lt;/p&gt;
&lt;p&gt;Les dépendances, paramètres d&amp;rsquo;exécution, planifications et déclenchements sont gérés par la couche workflow.&lt;/p&gt;
&lt;p&gt;Les traitements métier restent contenus dans les scripts SQL et les dataflows exécutés par &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;bénéfices&#34;&gt;Bénéfices&lt;/h2&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt; exécute des pipelines SQL ouverts, orchestrés par Airflow et indépendants des runtimes propriétaires des plateformes Cloud.&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/migration-etl-vers-oa-tbx/oa_tbx_benefices_hu_5564756e59bc4d9d.webp 320w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa_tbx_benefices_hu_bd62de57ae1ea1a3.webp 480w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa_tbx_benefices_hu_1190f45aaad4e051.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/migration-etl-vers-oa-tbx/oa_tbx_benefices_hu_5564756e59bc4d9d.webp&#34;
               width=&#34;760&#34;
               height=&#34;343&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Sur l&amp;rsquo;ensemble des jobs migrés — des volumes allant de quelques milliers à plus de 50 millions de lignes — les temps d&amp;rsquo;exécution se comptent souvent en quelques secondes seulement, avec un statut OK quasi systématique.&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/migration-etl-vers-oa-tbx/oa_tbx_stats_execution_hu_34d4fedcd8cecdf1.webp 320w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa_tbx_stats_execution_hu_3fb20d1c6eee6385.webp 480w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa_tbx_stats_execution_hu_497d09f9b8ba11e5.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/migration-etl-vers-oa-tbx/oa_tbx_stats_execution_hu_34d4fedcd8cecdf1.webp&#34;
               width=&#34;760&#34;
               height=&#34;372&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h2 id=&#34;gouvernance-et-data-lineage&#34;&gt;Gouvernance et data lineage&lt;/h2&gt;
&lt;p&gt;Une fois les traitements ETL convertis en SQL, &lt;strong style=&#34;color:#C00000;&#34;&gt;{oa.tbx}&lt;/strong&gt; conserve la trace complète entre la logique d&amp;rsquo;origine et le SQL exécuté. Ce data lineage est exposé à deux niveaux de lecture, adaptés à des besoins différents.&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 vue synthétique pour la gouvernance, un détail exhaustif pour la maintenance.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Vue high level du pipeline :&lt;/strong&gt; seules les tables source et cible sont visibles ; les stages ETL intermédiaires sont regroupés en un bloc SQL unique. Une vue lisible, même sur des pipelines complexes.&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/migration-etl-vers-oa-tbx/oa-tbx-lineage-high-level_hu_d24e651ccc9c22da.webp 320w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa-tbx-lineage-high-level_hu_224214e77cdcf373.webp 480w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa-tbx-lineage-high-level_hu_8b96fa8e67a1d56c.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/migration-etl-vers-oa-tbx/oa-tbx-lineage-high-level_hu_d24e651ccc9c22da.webp&#34;
               width=&#34;760&#34;
               height=&#34;351&#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&gt;Détail au clic sur une transformation :&lt;/strong&gt; au clic sur un stage (par exemple un Transformer), son équivalent SQL généré s&amp;rsquo;affiche, avec ses inputs/outputs et ses métadonnées d&amp;rsquo;origine (type, stage ID). Le mapping est immédiat entre la logique ETL d&amp;rsquo;origine et le SQL exécuté.&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/migration-etl-vers-oa-tbx/oa-tbx-lineage-detail-sql_hu_d42fe9268d15acff.webp 320w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa-tbx-lineage-detail-sql_hu_f03a4ff2d16cc351.webp 480w, http://localhost:1313/ressources/middlewares/migration-etl-vers-oa-tbx/oa-tbx-lineage-detail-sql_hu_ee1a91f7e8d48e8f.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/migration-etl-vers-oa-tbx/oa-tbx-lineage-detail-sql_hu_d42fe9268d15acff.webp&#34;
               width=&#34;760&#34;
               height=&#34;357&#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; une gouvernance complète du pipeline migré, de la vue d&amp;rsquo;ensemble jusqu&amp;rsquo;au SQL exécuté, quelle que soit la plateforme ETL d&amp;rsquo;origine.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;sql-comme-format-pivot&#34;&gt;SQL comme format pivot&lt;/h2&gt;
&lt;p&gt;Le SQL produit par &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; devient le support principal des transformations.&lt;/p&gt;
&lt;p&gt;Les règles métier, jointures, agrégations et calculs sont exprimés dans un format ouvert, versionnable et indépendant des outils ETL historiques.&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; une chaîne ETL/ELT basée sur SQL, orchestrée par workflows et exécutée dans un environnement ouvert.&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 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>Data lineage - alimentation des data catalogues tiers pour exposer son data lineage technique</title>
      <link>http://localhost:1313/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/</guid>
      <description>&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; permet la consultation du data lineage via son portail Web Mosaïc, mais les métadonnées consolidées peuvent également être publiées vers différents data catalogues du marché qui présentent souvent de fortes limitations pour ce qui concerne le data lineage. L&amp;rsquo;intérêt est de n&amp;rsquo;avoir qu&amp;rsquo;un outil pour une data governance optimale.&lt;/p&gt;
&lt;p&gt;Le data lineage est reconstruit dans le référentiel technique &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt;, puis exposé vers les catalogues de données via des connecteurs dédiés.&lt;/p&gt;
&lt;p&gt;Cette architecture permet de dissocier les mécanismes de collecte et de reconstruction du data lineage de la couche d&amp;rsquo;exposition utilisée par les équipes de gouvernance.&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 référentiel technique reste indépendant du catalogue cible. Les mécanismes de collecte et de reconstruction du lineage (et de connexion) ne dépendent pas du data catalogue utilisé.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;architecture&#34;&gt;Architecture&lt;/h2&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/data-lineage-principes/data-lineage-alimentation-data-catalogues/datacatalog_architecture_hu_2f865763d8143118.webp 320w, http://localhost:1313/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/datacatalog_architecture_hu_dfd112b340e230cb.webp 480w, http://localhost:1313/ressources/data-lineage-principes/data-lineage-alimentation-data-catalogues/datacatalog_architecture_hu_614ba65354a7698b.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/data-lineage-principes/data-lineage-alimentation-data-catalogues/datacatalog_architecture_hu_2f865763d8143118.webp&#34;
               width=&#34;760&#34;
               height=&#34;434&#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 sont consolidées dans la base de données colomnar &lt;strong&gt;oA.mdb&lt;/strong&gt; après traitement par le moteur &lt;strong&gt;oA.Job&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Le référentiel central contient notamment :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le data lineage au champ.&lt;/li&gt;
&lt;li&gt;Les usages.&lt;/li&gt;
&lt;li&gt;Les informations de gouvernance associées le cas échéant.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les catalogues sont ensuite alimentés à partir de ce référentiel unique via des connecteurs d&amp;rsquo;exposition indépendants des solutions de data catalogue.&lt;/p&gt;
&lt;h2 id=&#34;connecteurs-dexposition&#34;&gt;Connecteurs d&amp;rsquo;exposition&lt;/h2&gt;
&lt;p&gt;Les connecteurs assurent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La publication automatisée du lineage.&lt;/li&gt;
&lt;li&gt;Les synchronisations continues.&lt;/li&gt;
&lt;li&gt;La gestion des restrictions.&lt;/li&gt;
&lt;li&gt;Le support des différents Workspaces.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;exposition du data lineage peut être complète ou partielle selon les capacités d&amp;rsquo;affichage du catalogue cible, sachant que le data lineage produit en amont est, lui, disponible au champ.&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; les catalogues ne consomment que les métadonnées consolidées et non les sources techniques d&amp;rsquo;origine.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;catalogues-supportés&#34;&gt;Catalogues supportés&lt;/h2&gt;
&lt;p&gt;Les connecteurs disponibles permettent à ce jour d&amp;rsquo;alimenter les data catalogues suivants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DataGalaxy&lt;/li&gt;
&lt;li&gt;Zeenea&lt;/li&gt;
&lt;li&gt;Collibra&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;gestion-des-usages&#34;&gt;Gestion des usages&lt;/h2&gt;
&lt;p&gt;Lorsque les logs d&amp;rsquo;audit sont disponibles, les usages observés sont intégrés au référentiel technique puis exposés vers le catalogue.&lt;/p&gt;
&lt;p&gt;Les utilisateurs peuvent ainsi distinguer :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les flux &amp;ldquo;vivants&amp;rdquo;, consommés par des outils ou requêtés.&lt;/li&gt;
&lt;li&gt;Les flux et donc les objets non consommés (souvent plus de 80 % de l&amp;rsquo;ensemble).&lt;/li&gt;
&lt;/ul&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; enrichir le data catalogue avec des informations d&amp;rsquo;usage afin d&amp;rsquo;identifier les objets candidats à la rationalisation ou au décommissionnement.&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>Data lineage - architecture on prem&#39;</title>
      <link>http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/</guid>
      <description>&lt;p&gt;Dans les environnements les plus exigeants en matière de sécurité (banque, assurance, etc.), &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; peut être déployé directement dans l&amp;rsquo;environnement du Client, qu&amp;rsquo;il soit &lt;strong&gt;On-Premise&lt;/strong&gt; ou dans un &lt;strong&gt;tenant Cloud&lt;/strong&gt; du choix du Client.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;architecture repose sur une &lt;strong&gt;VM dédiée&lt;/strong&gt; hébergeant les différents composants de collecte, de traitement et d&amp;rsquo;exposition du data lineage.&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; l&amp;rsquo;ensemble des traitements, métadonnées et référentiels restent hébergés dans l&amp;rsquo;environnement du Client. Aucun composant SaaS externe n&amp;rsquo;est requis.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;principes-techniques&#34;&gt;Principes techniques&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;VM dédiée hébergée chez le Client.&lt;/li&gt;
&lt;li&gt;Collecteurs conteneurisés par technologie.&lt;/li&gt;
&lt;li&gt;Comptes de service dédiés.&lt;/li&gt;
&lt;li&gt;Chiffrement des mots de passe après première utilisation.&lt;/li&gt;
&lt;li&gt;Production de fichiers CSV standardisés.&lt;/li&gt;
&lt;li&gt;Parsing et consolidation par &lt;strong&gt;oA.Job&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Référentiel technique &lt;strong&gt;oA.mdb&lt;/strong&gt; (DuckDB).&lt;/li&gt;
&lt;li&gt;Exposition via le portail Web &lt;strong&gt;Mosaïc&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Les logs d&amp;rsquo;audit pouvant contenir des informations sensibles peuvent être anonymisés avant traitement.&lt;/li&gt;
&lt;/ul&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;Bon à savoir :&lt;/strong&gt; ce data lineage peut alimenter une solution tierce, typiquement un data catalogue nécessitant d&amp;rsquo;adresser plus précisément les sujets de data lineage.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;collecte-des-métadonnées&#34;&gt;Collecte des métadonnées&lt;/h2&gt;
&lt;p&gt;Les métadonnées sont collectées au moyen de conteneurs spécialisés par technologie. Ces composants se connectent aux bases de données, plateformes ETL/ELT, outils de data visualisation et bases d&amp;rsquo;audit via des comptes de service dédiés. Les mots de passe sont chiffrés après leur première utilisation.&lt;/p&gt;
&lt;p&gt;Les collecteurs produisent des fichiers CSV standardisés contenant les métadonnées nécessaires à la reconstruction du lineage. Ces fichiers peuvent être contrôlés et validés par le Client avant traitement.&lt;/p&gt;
&lt;p&gt;Lorsque des logs d&amp;rsquo;audit sont exploités, ceux-ci peuvent être anonymisés au moyen d&amp;rsquo;un conteneur dédié avant leur intégration dans le référentiel.&lt;/p&gt;
&lt;h2 id=&#34;traitement&#34;&gt;Traitement&lt;/h2&gt;
&lt;p&gt;Les fichiers sont ensuite transmis au serveur &lt;strong&gt;oA.Job&lt;/strong&gt;, chargé du parsing et de la consolidation des métadonnées. Les résultats sont stockés dans la base columnar &lt;strong&gt;oA.mdb&lt;/strong&gt; (DuckDB), qui constitue le référentiel technique utilisé par le portail Web &lt;strong&gt;Mosaïc&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Ce référentiel peut faire l&amp;rsquo;objet d&amp;rsquo;un dump au format souhaité par le client pour opérer des analyses spécifiques : le référentiel est extrêmement riche et différentes requêtes sont mises à disposition pour en faciliter l&amp;rsquo;exploration.&lt;/p&gt;
&lt;h2 id=&#34;exposition&#34;&gt;Exposition&lt;/h2&gt;
&lt;p&gt;Le data lineage est consultable via le portail Web propriétaire &lt;strong&gt;Mosaïc&lt;/strong&gt;, hébergé sur la VM dédiée.&lt;/p&gt;
&lt;h2 id=&#34;cartographie-globale-des-flux&#34;&gt;Cartographie globale des flux&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_1_hu_bcf7a8c30351f98f.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_1_hu_7f6c356c543ec936.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_1_hu_4178ec530416b18a.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/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_1_hu_bcf7a8c30351f98f.webp&#34;
               width=&#34;760&#34;
               height=&#34;325&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Reconstruction automatique des dépendances entre bases de données, traitements ETL/ELT et usages dans les outils de data visualisation.&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; analyse d&amp;rsquo;impact avant modification d&amp;rsquo;une table ou d&amp;rsquo;un indicateur métier.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-des-usages&#34;&gt;Analyse des usages&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_2_hu_f070ed88eb9e44b.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_2_hu_40256d66f8a68324.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_2_hu_6a9fe881b9d6a66b.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/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_2_hu_f070ed88eb9e44b.webp&#34;
               width=&#34;760&#34;
               height=&#34;283&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Croisement du data lineage avec les logs d&amp;rsquo;audit afin d&amp;rsquo;identifier les objets réellement utilisés et les branches non consommées.&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; identification rapide des flux inutilisés et opportunités de simplification.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;data-lineage-de-détail&#34;&gt;Data Lineage de détail&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_3_hu_e7363f29f8f187bf.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_3_hu_8fc00f4a176e6068.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_3_hu_373db642f7bbe92e.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/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_3_hu_e7363f29f8f187bf.webp&#34;
               width=&#34;760&#34;
               height=&#34;134&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Navigation dans le data lineage jusqu&amp;rsquo;au niveau champ avec visualisation des transformations (drill through).&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; descendre instantanément dans le code qui préside aux transformations pour identifier et fixer un problème dans un flux.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;data-lineage-dans-les-dashboards&#34;&gt;Data Lineage dans les dashboards&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_4_hu_d72247e7b9f389c8.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_4_hu_77195a68d1e81629.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_4_hu_21f88b034c6c3a9f.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/data-lineage-architectures/data-lineage-architecture-onprem/data_lineage_4_hu_d72247e7b9f389c8.webp&#34;
               width=&#34;760&#34;
               height=&#34;449&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Traçabilité complète entre les données sources, les règles de gestion et la cellule du dashboard. Les données sources des dashboards sont rattachées au data lineage dès leurs alimentations, pour une analyse d&amp;rsquo;impact de bout en bout.&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; validation d&amp;rsquo;un indicateur métier ou analyse de l&amp;rsquo;origine d&amp;rsquo;une valeur affichée dans un dashboard.&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>Data lineage - architecture SaaS</title>
      <link>http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/</guid>
      <description>&lt;p&gt;Dans un déploiement SaaS, les composants de collecte restent hébergés dans l&amp;rsquo;environnement du Client tandis que les composants de traitement, de consolidation et d&amp;rsquo;exposition sont hébergés sur une infrastructure dédiée, opérée par Ellipsys.&lt;/p&gt;
&lt;p&gt;Les extracteurs sont déployés sous forme de conteneurs spécialisés par technologie. Ils collectent les métadonnées des bases de données, plateformes ETL/ELT, outils de datavisualisation et bases de données d&amp;rsquo;audit à l&amp;rsquo;aide de comptes de service dédiés.&lt;/p&gt;
&lt;p&gt;Les métadonnées collectées sont produites sous forme de fichiers CSV standardisés. Ces fichiers peuvent être contrôlés par le Client avant leur transfert vers l&amp;rsquo;infra Ellipsys.&lt;/p&gt;
&lt;p&gt;Les fichiers sont ensuite transmis au serveur &lt;strong&gt;oA.Job&lt;/strong&gt;, chargé du parsing et de la reconstruction des dépendances. La consolidation des métadonnées se fait dans le référentiel technique &lt;strong&gt;oA.mdb&lt;/strong&gt; basé sur DuckDB (columnar database).&lt;/p&gt;
&lt;p&gt;Le data lineage est ensuite exposé via le portail Web propriétaire &lt;strong&gt;Mosaïc&lt;/strong&gt; ou via des solutions tierces, typiquement des solutions de data catalogue de marché.&lt;/p&gt;
&lt;p&gt;Lorsque des logs d&amp;rsquo;audit sont exploités, ceux-ci peuvent être anonymisés au moyen d&amp;rsquo;un conteneur dédié avant leur transfert.&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 métadonnées nécessaires à la reconstruction du lineage sont transférées vers la plateforme SaaS sous format CSV et peuvent être contrôlées en amont.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;principes-techniques&#34;&gt;Principes techniques&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Extracteurs conteneurisés déployés dans l&amp;rsquo;environnement Client.&lt;/li&gt;
&lt;li&gt;Comptes de service dédiés à la collecte.&lt;/li&gt;
&lt;li&gt;Chiffrement des mots de passe après première utilisation.&lt;/li&gt;
&lt;li&gt;Production de fichiers CSV standardisés.&lt;/li&gt;
&lt;li&gt;Anonymisation optionnelle des logs d&amp;rsquo;audit.&lt;/li&gt;
&lt;li&gt;Parsing et consolidation via &lt;strong&gt;oA.Job&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Base de données en source du data lineage &lt;strong&gt;oA.mdb&lt;/strong&gt; (DuckDB).&lt;/li&gt;
&lt;li&gt;Exposition via le portail Web &lt;strong&gt;Mosaïc&lt;/strong&gt; ou dans des solutions de data catalogue.&lt;/li&gt;
&lt;/ul&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;Bon à savoir :&lt;/strong&gt; les données métier ne sont jamais exploitées. Seules les métadonnées techniques sont collectées.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;collecte-des-métadonnées&#34;&gt;Collecte des métadonnées&lt;/h2&gt;
&lt;p&gt;Les collecteurs peuvent analyser :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bases de données.&lt;/li&gt;
&lt;li&gt;Plateformes ETL / ELT.&lt;/li&gt;
&lt;li&gt;Outils de data visualisation.&lt;/li&gt;
&lt;li&gt;Bases d&amp;rsquo;audit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chaque technologie est prise en charge par un composant dédié.&lt;/p&gt;
&lt;h2 id=&#34;traitement&#34;&gt;Traitement&lt;/h2&gt;
&lt;p&gt;Le serveur &lt;strong&gt;oA.Job&lt;/strong&gt; réalise :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le parsing des métadonnées.&lt;/li&gt;
&lt;li&gt;La reconstruction des dépendances.&lt;/li&gt;
&lt;li&gt;La consolidation des objets techniques.&lt;/li&gt;
&lt;li&gt;L&amp;rsquo;intégration des usages issus des logs d&amp;rsquo;audit.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les résultats sont stockés dans le référentiel &lt;strong&gt;oA.mdb&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;exposition&#34;&gt;Exposition&lt;/h2&gt;
&lt;p&gt;Le data lineage peut être consulté :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Via le portail Web &lt;strong&gt;Mosaïc&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Via une exposition du data lineage d&amp;rsquo;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; dans des solutions tierces.&lt;/li&gt;
&lt;li&gt;Via les mécanismes d&amp;rsquo;intégration du Client.&lt;/li&gt;
&lt;/ul&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 mécanismes de collecte et de reconstruction du lineage sont indépendants des mécanismes d&amp;rsquo;exposition.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;cartographie-globale-des-flux&#34;&gt;Cartographie globale des flux&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_1_hu_bcf7a8c30351f98f.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_1_hu_7f6c356c543ec936.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_1_hu_4178ec530416b18a.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/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_1_hu_bcf7a8c30351f98f.webp&#34;
               width=&#34;760&#34;
               height=&#34;325&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Cartographie des dépendances entre bases de données, traitements ETL/ELT et usages de la donnée.&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; analyse d&amp;rsquo;impact avant modification d&amp;rsquo;un objet technique.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-des-usages&#34;&gt;Analyse des usages&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_2_hu_f070ed88eb9e44b.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_2_hu_40256d66f8a68324.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_2_hu_6a9fe881b9d6a66b.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/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_2_hu_f070ed88eb9e44b.webp&#34;
               width=&#34;760&#34;
               height=&#34;283&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Croisement du data lineage avec les logs d&amp;rsquo;audit afin d&amp;rsquo;identifier les flux réellement utilisé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;Résultat :&lt;/strong&gt; détection des flux inutilisés, ie les branches mortes.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;data-lineage-de-détail&#34;&gt;Data Lineage de détail&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_3_hu_e7363f29f8f187bf.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_3_hu_8fc00f4a176e6068.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_3_hu_373db642f7bbe92e.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/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_3_hu_e7363f29f8f187bf.webp&#34;
               width=&#34;760&#34;
               height=&#34;134&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Navigation dans le data lineage jusqu&amp;rsquo;au niveau champ avec visualisation des transformations intermédiaires.&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 dépendances sont consultables par itérations, des sources opérationnelles jusqu&amp;rsquo;aux usages.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;data-lineage-dans-les-dashboards&#34;&gt;Data Lineage dans les dashboards&lt;/h2&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-mid&#34; 
               srcset=&#34;http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_4_hu_d72247e7b9f389c8.webp 320w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_4_hu_77195a68d1e81629.webp 480w, http://localhost:1313/ressources/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_4_hu_21f88b034c6c3a9f.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/data-lineage-architectures/data-lineage-architecture-saas/data_lineage_4_hu_d72247e7b9f389c8.webp&#34;
               width=&#34;760&#34;
               height=&#34;449&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Traçabilité entre données sources, transformations, règles de calcul et objets 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;Usage typique :&lt;/strong&gt; analyse de l&amp;rsquo;origine d&amp;rsquo;un indicateur métier ou validation d&amp;rsquo;une règle de gestion.&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>Data lineage - les principes de la conteneurisation des connecteurs</title>
      <link>http://localhost:1313/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/</guid>
      <description>&lt;p&gt;L&amp;rsquo;architecture &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; repose sur des composants conteneurisés déployés dans l&amp;rsquo;environnement du Client.&lt;/p&gt;
&lt;p&gt;Chaque composant est spécialisé pour une technologie donnée et assure la collecte des métadonnées nécessaires à la reconstruction du data lineage : bases de données, plateformes ETL/ELT, outils de data visualisation et bases d&amp;rsquo;audit.&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/data-lineage-principes/data-lineage-conteneurisation-connecteurs/connecteurs_technologies_hu_1c1a2536d643a183.webp 320w, http://localhost:1313/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/connecteurs_technologies_hu_6818f99c0c64f603.webp 480w, http://localhost:1313/ressources/data-lineage-principes/data-lineage-conteneurisation-connecteurs/connecteurs_technologies_hu_62ad62bfaff31bc3.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/data-lineage-principes/data-lineage-conteneurisation-connecteurs/connecteurs_technologies_hu_1c1a2536d643a183.webp&#34;
               width=&#34;760&#34;
               height=&#34;640&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les extracteurs produisent des fichiers CSV standardisés contenant les métadonnées collectées. Ces fichiers peuvent être contrôlés par le Client avant leur transfert vers les composants centraux de traitement.&lt;/p&gt;
&lt;p&gt;Lorsqu&amp;rsquo;une anonymisation est requise, un conteneur dédié est inséré dans la chaîne de collecte afin de remplacer les chaînes de caractères, constantes SQL et autres informations sensibles par des variables avant la production des fichiers d&amp;rsquo;échange.&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 extracteurs et les anonymiseurs sont découplés des moteurs de traitement. Chaque composant peut être déployé et mis à jour indépendamment.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;principes-techniques&#34;&gt;Principes techniques&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Un conteneur dédié par technologie.&lt;/li&gt;
&lt;li&gt;Collecte des métadonnées au plus près des systèmes analysés.&lt;/li&gt;
&lt;li&gt;Anonymisation optionnelle avant transfert.&lt;/li&gt;
&lt;li&gt;Production de fichiers CSV standardisés.&lt;/li&gt;
&lt;li&gt;Compatibilité Docker, Podman.&lt;/li&gt;
&lt;li&gt;Déploiement On-Premise, SaaS ou hybride.&lt;/li&gt;
&lt;li&gt;Mise à jour indépendante des composants.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;extraction&#34;&gt;Extraction&lt;/h2&gt;
&lt;p&gt;Les extracteurs se connectent aux technologies analysées à l&amp;rsquo;aide de comptes de service dédiés.&lt;/p&gt;
&lt;p&gt;Les métadonnées collectées concernent :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les bases de données.&lt;/li&gt;
&lt;li&gt;Les plateformes ETL / ELT.&lt;/li&gt;
&lt;li&gt;Les outils de datavisualisation.&lt;/li&gt;
&lt;li&gt;Les bases d&amp;rsquo;audit.&lt;/li&gt;
&lt;li&gt;Le scheduleur.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chaque extracteur produit un format de sortie homogène indépendamment de la technologie analysée.&lt;/p&gt;
&lt;h2 id=&#34;anonymisation&#34;&gt;Anonymisation&lt;/h2&gt;
&lt;p&gt;Un conteneur d&amp;rsquo;anonymisation peut être positionné entre la collecte et le transfert des métadonnées.&lt;/p&gt;
&lt;p&gt;Les éléments suivants peuvent être remplacés par des variables techniques :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chaînes de caractères.&lt;/li&gt;
&lt;li&gt;Paramètres applicatifs.&lt;/li&gt;
&lt;li&gt;Valeurs littérales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;objectif est de conserver les dépendances techniques tout en supprimant les informations sensibles.&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; l&amp;rsquo;anonymisation intervient avant la génération des fichiers transférés.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;fichiers-déchange&#34;&gt;Fichiers d&amp;rsquo;échange&lt;/h2&gt;
&lt;p&gt;Les composants produisent des fichiers CSV standardisés contenant :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les objets techniques.&lt;/li&gt;
&lt;li&gt;Les dépendances.&lt;/li&gt;
&lt;li&gt;Les transformations.&lt;/li&gt;
&lt;li&gt;Les informations d&amp;rsquo;usage lorsque celles-ci sont disponibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces fichiers peuvent être archivés, contrôlés ou validés par le Client avant leur transfert.&lt;/p&gt;
&lt;h2 id=&#34;traitement&#34;&gt;Traitement&lt;/h2&gt;
&lt;p&gt;Les fichiers produits sont exploités par les composants centraux de &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; pour :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reconstruire les dépendances.&lt;/li&gt;
&lt;li&gt;Consolider les métadonnées.&lt;/li&gt;
&lt;li&gt;Intégrer les usages issus des logs d&amp;rsquo;audit.&lt;/li&gt;
&lt;li&gt;Et produire le data lineage.&lt;/li&gt;
&lt;/ul&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; une chaîne de collecte homogène, indépendante des technologies analysées et des modes de déploiement.&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>Data lineage - protocoles de connexion aux différentes technologies analytiques</title>
      <link>http://localhost:1313/ressources/data-lineage-principes/data-lineage-protocoles-connexion/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/data-lineage-principes/data-lineage-protocoles-connexion/</guid>
      <description>&lt;p&gt;L&amp;rsquo;acquisition des métadonnées repose sur les interfaces natives exposées par les technologies analysées par &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Selon les plateformes, les collectes utilisent des protocoles de base de données, des API REST, des SDK, des référentiels techniques ou des exports standardisé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/data-lineage-principes/data-lineage-protocoles-connexion/connexion_hu_f753a7c382df7f67.webp 320w, http://localhost:1313/ressources/data-lineage-principes/data-lineage-protocoles-connexion/connexion_hu_1c7dbf893e80964e.webp 480w, http://localhost:1313/ressources/data-lineage-principes/data-lineage-protocoles-connexion/connexion_hu_831482859fc846c6.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/data-lineage-principes/data-lineage-protocoles-connexion/connexion_hu_f753a7c382df7f67.webp&#34;
               width=&#34;760&#34;
               height=&#34;661&#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;Point clé :&lt;/strong&gt; les collecteurs utilisent les mécanismes officiellement exposés par les éditeurs (JDBC, ODBC, API REST, SDK, référentiels techniques, exports).&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;principes-techniques&#34;&gt;Principes techniques&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Comptes de service dédiés.&lt;/li&gt;
&lt;li&gt;Accès limité aux métadonnées.&lt;/li&gt;
&lt;li&gt;Compatibilité On-Premise, Cloud et hybride.&lt;/li&gt;
&lt;li&gt;Utilisation des interfaces natives des plateformes.&lt;/li&gt;
&lt;li&gt;Chiffrement des mots de passe après première utilisation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bases-de-données&#34;&gt;Bases de données&lt;/h2&gt;
&lt;p&gt;Les bases relationnelles sont analysées via :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JDBC.&lt;/li&gt;
&lt;li&gt;ODBC.&lt;/li&gt;
&lt;li&gt;Connecteurs propriétaires.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les collectes portent sur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Schémas.&lt;/li&gt;
&lt;li&gt;Tables.&lt;/li&gt;
&lt;li&gt;Vues.&lt;/li&gt;
&lt;li&gt;Procédures stockées.&lt;/li&gt;
&lt;li&gt;Statistiques d&amp;rsquo;usage (lorsque analysés).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;etl--elt&#34;&gt;ETL / ELT&lt;/h2&gt;
&lt;p&gt;Les plateformes ETL/ELT sont analysées via :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Référentiels techniques.&lt;/li&gt;
&lt;li&gt;API d&amp;rsquo;administration.&lt;/li&gt;
&lt;li&gt;Exports XML ou JSON.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les métadonnées collectées permettent de reconstruire :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les jobs.&lt;/li&gt;
&lt;li&gt;Les transformations.&lt;/li&gt;
&lt;li&gt;Les dépendances.&lt;/li&gt;
&lt;li&gt;Les flux de données.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;outils-de-data-visualisation&#34;&gt;Outils de Data Visualisation&lt;/h2&gt;
&lt;p&gt;Les outils de data visualisation sont analysés via :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SDK.&lt;/li&gt;
&lt;li&gt;API REST.&lt;/li&gt;
&lt;li&gt;Référentiels internes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les collectes portent sur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les sources de données.&lt;/li&gt;
&lt;li&gt;Les couches sémantiques.&lt;/li&gt;
&lt;li&gt;Les dashboards.&lt;/li&gt;
&lt;li&gt;Les règles de gestion.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces informations permettent de prolonger le data lineage jusqu&amp;rsquo;à la couche 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;Usage typique :&lt;/strong&gt; faire du data lineage dans les sources et le relier au data lineage dans la couche de data visualisation, jusqu&amp;rsquo;à la cellule du dashboard.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;environnements-sécurisés&#34;&gt;Environnements sécurisés&lt;/h2&gt;
&lt;p&gt;Les collectes peuvent être supervisées de façon sécurisée via :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;VMware Horizon.&lt;/li&gt;
&lt;li&gt;OpenOTP (double authentification).&lt;/li&gt;
&lt;li&gt;Bastion d&amp;rsquo;administration.&lt;/li&gt;
&lt;li&gt;Journalisation et traçabilité des opérations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les accès restent limités aux composants nécessaires à la collecte des métadonnées.&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;Pour information :&lt;/strong&gt; même mécanisme de collecte en environnement Cloud, On-Premise ou hybride.&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 - migrer de Cognos vers Power BI</title>
      <link>http://localhost:1313/ressources/migration-dataviz/migration-cognos-vers-power-bi/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-dataviz/migration-cognos-vers-power-bi/</guid>
      <description>&lt;p&gt;Les plateformes IBM Cognos Analytics contiennent généralement plusieurs années de modélisation métier : Frameworks, hiérarchies, calculs, dimensions, mesures, variables et rapports.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse les Frameworks Cognos, les rapports et les logs d&amp;rsquo;usage afin de reconstruire les dépendances entre les sources de données, les objets métier et les restitutions.&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; dans la plupart des patrimoines Cognos, la valeur se situe davantage dans les Frameworks et les règles métier que dans les rapports eux-mêmes.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-du-patrimoine-cognos&#34;&gt;Analyse du patrimoine Cognos&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;analyse porte sur les Frameworks Manager, les rapports, les requêtes, les dimensions, les hiérarchies, les calculs, les filtres, les variables.&lt;/p&gt;
&lt;p&gt;Les métadonnées collectées permettent de reconstruire :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les dépendances entre objets ;&lt;/li&gt;
&lt;li&gt;les relations avec les sources de données ;&lt;/li&gt;
&lt;li&gt;les objets métier et indicateurs exposés dans les rapports.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;rationalisation-du-périmètre&#34;&gt;Rationalisation du périmètre&lt;/h2&gt;
&lt;p&gt;Les logs d&amp;rsquo;usage sont croisés avec les métadonnées de la plateforme.&lt;/p&gt;
&lt;p&gt;Cette phase permet d&amp;rsquo;identifier les rapports inutilisés, les doublons et les Frameworks obsolètes.&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-cognos-vers-power-bi/dataviz_to_sql3_hu_bb3979dc88ccc912.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-cognos-vers-power-bi/dataviz_to_sql3_hu_a8ef7879d6b2c3ba.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-cognos-vers-power-bi/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-cognos-vers-power-bi/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; le périmètre réellement utilisé est isolé avant migration.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;conversion-vers-power-bi&#34;&gt;Conversion vers Power BI&lt;/h2&gt;
&lt;p&gt;Les Frameworks Cognos sont analysés puis convertis vers le modèle cible Power BI.&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-cognos-vers-power-bi/cognos_pbi_conversion_hu_73553e632c9c9b14.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-cognos-vers-power-bi/cognos_pbi_conversion_hu_559480f80ba279e5.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-cognos-vers-power-bi/cognos_pbi_conversion_hu_b79cc48ce2c319c2.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-cognos-vers-power-bi/cognos_pbi_conversion_hu_73553e632c9c9b14.webp&#34;
               width=&#34;760&#34;
               height=&#34;280&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les dimensions, hiérarchies, mesures, calculs, variables et relations entre objets sont reconstruits dans le modèle sémantique cible.&lt;/p&gt;
&lt;p&gt;Les expressions Cognos sont converties en SQL ou en DAX selon leur nature.&lt;/p&gt;
&lt;p&gt;Les dépendances entre Frameworks, rapports et sources de données sont conservées dans le modèle généré.&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 objets métier et les règles de calcul sont reconstruits directement à partir des Frameworks Cognos.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;validation&#34;&gt;Validation&lt;/h2&gt;
&lt;p&gt;Les migrations peuvent être réalisées en double exécution Cognos / Power BI.&lt;/p&gt;
&lt;p&gt;Les indicateurs produits par les deux plateformes sont comparés pendant les phases de recette.&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; validation progressive des rapports avant bascule.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;migration-pilotée-par-les-usages&#34;&gt;Migration pilotée par les usages&lt;/h2&gt;
&lt;p&gt;Les rapports peuvent être migrés par lots en fonction de leur fréquence d&amp;rsquo;utilisation et de leur criticité métier.&lt;/p&gt;
&lt;p&gt;Les usages observés servent de base à la planification du projet et à la priorisation des développements.&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 volume à migrer et concentration des efforts sur les usages actifs.&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 - migrer de SAP BO vers GCP Looker</title>
      <link>http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/</guid>
      <description>&lt;p&gt;Les patrimoines SAP BusinessObjects regroupent généralement plusieurs années de modélisation : univers, rapports Web Intelligence, objets métier, calculs, filtres, invites et couches sémantiques.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse ces composants afin de reconstruire les dépendances entre les sources de données, les univers, les rapports et les usages observé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; les univers et les objets métier constituent généralement la principale source d&amp;rsquo;information pour reconstruire le modèle cible.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;prérequis-danalyse-sap-businessobjects&#34;&gt;Prérequis d&amp;rsquo;analyse SAP BusinessObjects&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;analyse repose sur l&amp;rsquo;accès aux services SAP BusinessObjects, aux référentiels techniques et à la base d&amp;rsquo;audit.&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-sap-bo-vers-looker/migration_BO_prerequis_hu_e13826090b9c390.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration_BO_prerequis_hu_1c964b321f754f52.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/migration_BO_prerequis_hu_11194cd19928f1e6.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-sap-bo-vers-looker/migration_BO_prerequis_hu_e13826090b9c390.webp&#34;
               width=&#34;760&#34;
               height=&#34;295&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les extracteurs sont exécutés dans l&amp;rsquo;environnement du Client. Les métadonnées collectées peuvent être anonymisées avant traitement.&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;Bon à savoir :&lt;/strong&gt; seules les métadonnées techniques sont exploitées.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-du-patrimoine&#34;&gt;Analyse du patrimoine&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;analyse couvre les rapports Web Intelligence, les univers UNV et UNX, les Data Providers, les objets métier, les variables, les filtres, les invites et les composants graphiques.&lt;/p&gt;
&lt;p&gt;Les dépendances techniques et les usages observés sont consolidés dans un référentiel.&lt;/p&gt;
&lt;h2 id=&#34;rationalisation&#34;&gt;Rationalisation&lt;/h2&gt;
&lt;p&gt;Les logs d&amp;rsquo;audit sont croisés avec les métadonnées de la plateforme.&lt;/p&gt;
&lt;p&gt;Les rapports inutilisés ou cassés, les rapports répliqués, les objets non consommés, les univers obsolètes, etc. sont identifiés avant migration.&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 massive du volume à migrer.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;conversion-vers-looker&#34;&gt;Conversion vers Looker&lt;/h2&gt;
&lt;p&gt;Les Data Providers, les objets métier et les requêtes sont convertis vers les composants Looker.&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-sap-bo-vers-looker/looker_conversion_overview_hu_f83ecb40aae94419.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_conversion_overview_hu_64002cb4d50b2cf9.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_conversion_overview_hu_e7cb4a5592e3f4b4.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-sap-bo-vers-looker/looker_conversion_overview_hu_f83ecb40aae94419.webp&#34;
               width=&#34;760&#34;
               height=&#34;384&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les dimensions, mesures, jointures et calculs sont reconstruits dans les modèles LookML.&lt;/p&gt;
&lt;p&gt;Les dashboards, filtres, prompts, tableaux, graphiques et mécanismes de navigation sont reconstruits à partir des rapports SAP BusinessObjects.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;organisation fonctionnelle des univers est reprise dans les dossiers, Explores et catalogues métier de la plateforme cible.&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 objets fonctionnels et les composants de restitution sont reconstruits à partir des univers et rapports SAP BusinessObjects.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;validation&#34;&gt;Validation&lt;/h2&gt;
&lt;p&gt;Les migrations peuvent être réalisées en double exécution SAP BusinessObjects / Looker.&lt;/p&gt;
&lt;p&gt;Les indicateurs produits par les deux plateformes sont comparés pendant les phases de recette.&lt;/p&gt;
&lt;h2 id=&#34;prompts-sap-businessobjects&#34;&gt;Prompts SAP BusinessObjects&lt;/h2&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-sap-bo-vers-looker/looker_prompts_vers_filtres_hu_e32ba9f58e315e7f.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_prompts_vers_filtres_hu_5857bbd3544fbace.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_prompts_vers_filtres_hu_b981e12f84f3f124.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-sap-bo-vers-looker/looker_prompts_vers_filtres_hu_e32ba9f58e315e7f.webp&#34;
               width=&#34;760&#34;
               height=&#34;323&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les invites SAP BusinessObjects sont converties vers les filtres natifs de Looker.&lt;/p&gt;
&lt;p&gt;Les listes de valeurs et paramètres de saisie sont conservés.&lt;/p&gt;
&lt;h2 id=&#34;objets-métier-et-modèles-lookml&#34;&gt;Objets métier et modèles LookML&lt;/h2&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-sap-bo-vers-looker/looker_objets_explores_hu_a7017ec36f54a392.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_objets_explores_hu_4611e0185f8a7e20.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_objets_explores_hu_29d8139be1f9252.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-sap-bo-vers-looker/looker_objets_explores_hu_a7017ec36f54a392.webp&#34;
               width=&#34;760&#34;
               height=&#34;425&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les requêtes, objets métier, dimensions, mesures et jointures sont convertis vers les composants LookML.&lt;/p&gt;
&lt;h2 id=&#34;structure-fonctionnelle&#34;&gt;Structure fonctionnelle&lt;/h2&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-sap-bo-vers-looker/looker_nomenclature_objets_hu_bc23c6bdbcc4a714.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_nomenclature_objets_hu_ac5aa8cc17255309.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_nomenclature_objets_hu_b77e0402f82b5ea0.webp 687w&#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-sap-bo-vers-looker/looker_nomenclature_objets_hu_bc23c6bdbcc4a714.webp&#34;
               width=&#34;687&#34;
               height=&#34;760&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;organisation des univers est reconstruite sous forme d&amp;rsquo;Explores, de dimensions et de mesures.&lt;/p&gt;
&lt;h2 id=&#34;pivots-et-analyses-matricielles&#34;&gt;Pivots et analyses matricielles&lt;/h2&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-sap-bo-vers-looker/looker_pivots_hu_dc2823125788486b.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_pivots_hu_d346a142e0626595.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_pivots_hu_664a59cd8f45d67.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-sap-bo-vers-looker/looker_pivots_hu_dc2823125788486b.webp&#34;
               width=&#34;760&#34;
               height=&#34;342&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les tableaux croisés et analyses multidimensionnelles sont convertis vers les mécanismes de pivot de Looker.&lt;/p&gt;
&lt;h2 id=&#34;graphiques&#34;&gt;Graphiques&lt;/h2&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-sap-bo-vers-looker/Looker_graphs_hu_161dd4ce083d6e70.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/Looker_graphs_hu_fa77ab8b95098d7b.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/Looker_graphs_hu_8619a9a16b57301a.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-sap-bo-vers-looker/Looker_graphs_hu_161dd4ce083d6e70.webp&#34;
               width=&#34;760&#34;
               height=&#34;388&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les courbes et analyses comparatives sont reconstruites à partir des indicateurs identifiés dans les rapports.&lt;/p&gt;
&lt;h2 id=&#34;bar-charts&#34;&gt;Bar charts&lt;/h2&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-sap-bo-vers-looker/looker_bar_charts_hu_d211e029f753a29e.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_bar_charts_hu_28d40061ee9257ca.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/looker_bar_charts_hu_afee7a6da79cc15a.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-sap-bo-vers-looker/looker_bar_charts_hu_d211e029f753a29e.webp&#34;
               width=&#34;760&#34;
               height=&#34;364&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les bar charts sont adaptés aux composants de visualisation Looker.&lt;/p&gt;
&lt;h2 id=&#34;pie-charts&#34;&gt;Pie charts&lt;/h2&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-sap-bo-vers-looker/Looker_pie_chart_hu_d36bc0070d0d8ee.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/Looker_pie_chart_hu_fe1f5e692333a62c.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-looker/Looker_pie_chart_hu_472b822fd827414a.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-sap-bo-vers-looker/Looker_pie_chart_hu_d36bc0070d0d8ee.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 pie charts sont convertis vers les visualisations natives de Looker.&lt;/p&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 - migrer de SAP BO vers Power BI</title>
      <link>http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/</guid>
      <description>&lt;p&gt;Les patrimoines SAP BusinessObjects regroupent généralement plusieurs années de modélisation : univers, rapports Web Intelligence, objets métier, calculs, filtres, invites et couches sémantiques.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse les univers, les rapports et les logs d&amp;rsquo;usage afin de reconstruire les dépendances entre les sources de données, les objets métier et les visualisations.&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 migration porte sur les univers, les objets métier, les règles de gestion, autant que sur les rapports.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;prérequis-danalyse-sap-businessobjects&#34;&gt;Prérequis d&amp;rsquo;analyse SAP BusinessObjects&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;analyse nécessite l&amp;rsquo;accès aux services SAP BusinessObjects, aux référentiels techniques et à la base d&amp;rsquo;audit.&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-sap-bo-vers-power-bi/migration_BO_prerequis_hu_e13826090b9c390.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration_BO_prerequis_hu_1c964b321f754f52.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/migration_BO_prerequis_hu_11194cd19928f1e6.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-sap-bo-vers-power-bi/migration_BO_prerequis_hu_e13826090b9c390.webp&#34;
               width=&#34;760&#34;
               height=&#34;295&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les extracteurs sont exécutés dans l&amp;rsquo;environnement du Client. Les métadonnées collectées peuvent être anonymisées avant traitement.&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;Bon à savoir :&lt;/strong&gt; seules les métadonnées techniques sont exploitées.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-du-patrimoine&#34;&gt;Analyse du patrimoine&lt;/h2&gt;
&lt;p&gt;L&amp;rsquo;analyse couvre les rapports Web Intelligence, les univers UNV et UNX, les Data Providers, les objets métier, les variables, les filtres, les invites et les composants graphiques.&lt;/p&gt;
&lt;p&gt;Les dépendances techniques et les usages observés sont consolidés dans un référentiel.&lt;/p&gt;
&lt;h2 id=&#34;rationalisation&#34;&gt;Rationalisation&lt;/h2&gt;
&lt;p&gt;Les logs d&amp;rsquo;audit sont croisés avec les métadonnées de la plateforme.&lt;/p&gt;
&lt;p&gt;Les rapports inutilisés, les doublons, les objets non consommés et les univers obsolètes sont identifiés avant migration.&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 volume à migrer.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;conversion-vers-power-bi&#34;&gt;Conversion vers Power BI&lt;/h2&gt;
&lt;p&gt;Les Data Providers sont convertis en datasets Power BI.&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-sap-bo-vers-power-bi/powerbi_conversion_overview_hu_25a20aee1d86fadd.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_conversion_overview_hu_862f4db613537428.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_conversion_overview_hu_cbca092aaeb480a9.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-sap-bo-vers-power-bi/powerbi_conversion_overview_hu_25a20aee1d86fadd.webp&#34;
               width=&#34;760&#34;
               height=&#34;353&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Les requêtes, calculs et variables sont convertis en SQL ou DAX. Les objets métier sont reconstruits sous forme de dimensions et de mesures.&lt;/p&gt;
&lt;p&gt;Les dépendances entre univers, rapports et sources de données sont conservées dans le modèle cible.&lt;/p&gt;
&lt;p&gt;Les tableaux, graphiques, filtres, sections et éléments de mise en page sont analysés puis reconstruits dans Power BI.&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 migration couvre à la fois la couche métier et la couche de restitution.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;validation&#34;&gt;Validation&lt;/h2&gt;
&lt;p&gt;Les migrations peuvent être réalisées en double exécution SAP BusinessObjects / Power BI.&lt;/p&gt;
&lt;p&gt;Les indicateurs produits par les deux plateformes sont comparés pendant les phases de recette.&lt;/p&gt;
&lt;h2 id=&#34;tables-filtres-et-slicers&#34;&gt;Tables, filtres et slicers&lt;/h2&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-sap-bo-vers-power-bi/powerbi_section-bo_vs_slicers-powerbi_hu_1551ac4a075a41.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_section-bo_vs_slicers-powerbi_hu_7d2cabc0f0e379a8.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_section-bo_vs_slicers-powerbi_hu_2843b0dc5643d446.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-sap-bo-vers-power-bi/powerbi_section-bo_vs_slicers-powerbi_hu_1551ac4a075a41.webp&#34;
               width=&#34;760&#34;
               height=&#34;349&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion des tables, filtres et sections SAP BusinessObjects vers les composants Power BI.&lt;/p&gt;
&lt;h2 id=&#34;pie-charts&#34;&gt;Pie Charts&lt;/h2&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-sap-bo-vers-power-bi/powerbi_pie_charts_hu_a95a4aca512d1749.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_pie_charts_hu_4942d0b903aeb54f.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_pie_charts_hu_48344305e462ac99.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-sap-bo-vers-power-bi/powerbi_pie_charts_hu_a95a4aca512d1749.webp&#34;
               width=&#34;760&#34;
               height=&#34;391&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion des pie charts SAP BusinessObjects vers les visuels Power BI.&lt;/p&gt;
&lt;h2 id=&#34;graphiques&#34;&gt;Graphiques&lt;/h2&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-sap-bo-vers-power-bi/powerbi_graphes_hu_c4b3e9ec3c9b2647.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_graphes_hu_8c147af9f8fdd1ca.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_graphes_hu_f521ee8420e6a215.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-sap-bo-vers-power-bi/powerbi_graphes_hu_c4b3e9ec3c9b2647.webp&#34;
               width=&#34;760&#34;
               height=&#34;389&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion des graphiques SAP BusinessObjects vers les visuels Power BI.&lt;/p&gt;
&lt;h2 id=&#34;dashboards&#34;&gt;Dashboards&lt;/h2&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-sap-bo-vers-power-bi/powerbi_xtable_board_hu_9db79e138e2c6ef8.webp 320w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_xtable_board_hu_6ab63132e225689d.webp 480w, http://localhost:1313/ressources/migration-dataviz/migration-sap-bo-vers-power-bi/powerbi_xtable_board_hu_baef6f2a1c0796e9.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-sap-bo-vers-power-bi/powerbi_xtable_board_hu_9db79e138e2c6ef8.webp&#34;
               width=&#34;760&#34;
               height=&#34;326&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Conversion des dashboards SAP BusinessObjects vers Power BI.&lt;/p&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>
    
    <item>
      <title>Migration ETL - connecteurs ETL legacy pour migration SQL</title>
      <link>http://localhost:1313/ressources/migration-etl/migration-etl-connecteurs-legacy/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-etl/migration-etl-connecteurs-legacy/</guid>
      <description>&lt;p&gt;Les plateformes ETL reposent sur des connecteurs, des composants de transformation, des mécanismes de paramétrage et des stratégies d&amp;rsquo;exécution propres à chaque éditeur.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse ces composants, reconstruit leur comportement puis génère une représentation SQL indépendante de la technologie source.&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 conversion repose sur l&amp;rsquo;analyse des composants ETL et non sur une simple traduction syntaxique.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-des-composants&#34;&gt;Analyse des composants&lt;/h2&gt;
&lt;p&gt;Les référentiels techniques sont analysés pour identifier les connecteurs, les transformations, les paramètres, les dépendances et les mécanismes d&amp;rsquo;exécution.&lt;/p&gt;
&lt;p&gt;Les composants sont convertis vers un modèle intermédiaire commun avant génération SQL.&lt;/p&gt;
&lt;p&gt;Cette approche est identique quelle que soit la technologie source.&lt;/p&gt;
&lt;h2 id=&#34;connecteurs&#34;&gt;Connecteurs&lt;/h2&gt;
&lt;p&gt;Les connecteurs de lecture et d&amp;rsquo;écriture sont analysés pour reconstruire les flux entre les systèmes.&lt;/p&gt;
&lt;p&gt;Les paramètres de connexion, les requêtes, les formats de données et les mappings sont intégrés dans le modèle de migration.&lt;/p&gt;
&lt;p&gt;Les flux peuvent provenir de bases relationnelles, de fichiers, d&amp;rsquo;APIs ou de plateformes Cloud.&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; reconstruction des échanges entre Oracle, SQL Server, PostgreSQL, fichiers plats ou stockages Cloud.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;transformations&#34;&gt;Transformations&lt;/h2&gt;
&lt;p&gt;Les composants de transformation sont convertis en instructions SQL.&lt;/p&gt;
&lt;p&gt;Filtres, jointures, agrégations, lookups, mappings, conversions de types, calculs de colonnes et expressions conditionnelles sont reconstruits dans le modèle SQL cible.&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-etl/migration-etl-connecteurs-legacy/ETL_vers_SQL_hu_fced570183f618b.webp 320w, http://localhost:1313/ressources/migration-etl/migration-etl-connecteurs-legacy/ETL_vers_SQL_hu_dd98b23a236d010.webp 480w, http://localhost:1313/ressources/migration-etl/migration-etl-connecteurs-legacy/ETL_vers_SQL_hu_51d9bda1300879c3.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-etl/migration-etl-connecteurs-legacy/ETL_vers_SQL_hu_fced570183f618b.webp&#34;
               width=&#34;760&#34;
               height=&#34;324&#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;Point clé :&lt;/strong&gt; chaque transformation devient une opération SQL explicite.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;paramétrage&#34;&gt;Paramétrage&lt;/h2&gt;
&lt;p&gt;Les variables d&amp;rsquo;environnement, paramètres de jobs, bibliothèques partagées et composants réutilisables sont analysés pendant la conversion.&lt;/p&gt;
&lt;p&gt;Les dépendances entre traitements et les mécanismes de paramétrage sont conservés dans le modèle généré.&lt;/p&gt;
&lt;h2 id=&#34;technologies-supportées&#34;&gt;Technologies supportées&lt;/h2&gt;
&lt;p&gt;Les moteurs de migration couvrent notamment IBM DataStage, Talend, SAP BODS, SSIS, ODI, Informatica PowerCenter, Stambia, Semarchy xDI et Ab Initio.&lt;/p&gt;
&lt;p&gt;La méthodologie reste identique : analyse des composants, reconstruction des flux puis génération SQL.&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; une approche homogène appliquée à des technologies ETL différentes.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;sql-comme-format-pivot&#34;&gt;SQL comme format pivot&lt;/h2&gt;
&lt;p&gt;Une fois les composants reconstruits, les traitements sont convertis vers un modèle SQL indépendant de la plateforme source.&lt;/p&gt;
&lt;p&gt;Le SQL généré peut ensuite être adapté à Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, SQL Server ou tout autre moteur 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; le SQL devient le format commun de représentation des traitements.&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 ETL - de l&#39;ETL legacy vers dbt</title>
      <link>http://localhost:1313/ressources/migration-etl/migration-etl-vers-dbt/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-etl/migration-etl-vers-dbt/</guid>
      <description>&lt;p&gt;La migration vers dbt consiste à transformer des traitements ETL propriétaires en modèles SQL exécutés directement dans le moteur de données cible.&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-etl/migration-etl-vers-dbt/etl_technologies_hu_570947d1352b81ab.webp 320w, http://localhost:1313/ressources/migration-etl/migration-etl-vers-dbt/etl_technologies_hu_cbc88a0f326e8926.webp 480w, http://localhost:1313/ressources/migration-etl/migration-etl-vers-dbt/etl_technologies_hu_194d6a576d2fd3eb.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-etl/migration-etl-vers-dbt/etl_technologies_hu_570947d1352b81ab.webp&#34;
               width=&#34;760&#34;
               height=&#34;197&#34;
               loading=&#34;lazy&#34; data-zoomable /&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Avant toute conversion, &lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse les flux, les dépendances et les usages afin d&amp;rsquo;identifier le périmètre réellement utile.&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 migration commence par une phase de rationalisation du patrimoine existant.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-des-flux&#34;&gt;Analyse des flux&lt;/h2&gt;
&lt;p&gt;Les traitements ETL sont analysés pour reconstruire les dépendances, les transformations et les usages.&lt;/p&gt;
&lt;p&gt;Le data lineage est utilisé pour identifier les flux actifs, les branches mortes et les composants non consommés.&lt;/p&gt;
&lt;p&gt;Cette phase permet de réduire le volume de traitements à migrer.&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; un périmètre de migration recentré sur les traitements réellement utilisés.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;conversion-vers-sql&#34;&gt;Conversion vers SQL&lt;/h2&gt;
&lt;p&gt;Les jobs ETL sont décomposés en opérations élémentaires : filtres, jointures, agrégations, lookups, calculs métier et transformations.&lt;/p&gt;
&lt;p&gt;Ces composants sont convertis en SQL documenté et indépendant de la technologie source.&lt;/p&gt;
&lt;p&gt;Le SQL devient la représentation pivot des traitements.&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 reconstruite en SQL avant génération du projet dbt.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;génération-des-modèles-dbt&#34;&gt;Génération des modèles dbt&lt;/h2&gt;
&lt;p&gt;Les traitements SQL sont organisés sous forme de modèles dbt.&lt;/p&gt;
&lt;p&gt;Les dépendances entre modèles sont générées automatiquement à partir des flux identifiés pendant l&amp;rsquo;analyse.&lt;/p&gt;
&lt;p&gt;La structure du projet, les références entre modèles et la documentation peuvent être produites automatiquement.&lt;/p&gt;
&lt;h2 id=&#34;validation-progressive&#34;&gt;Validation progressive&lt;/h2&gt;
&lt;p&gt;La migration est réalisée par lots.&lt;/p&gt;
&lt;p&gt;Les modèles générés sont validés puis intégrés progressivement dans l&amp;rsquo;environnement cible.&lt;/p&gt;
&lt;p&gt;Les écarts peuvent être contrôlés traitement par traitement pendant la phase de transition.&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; migration progressive de plusieurs centaines de jobs ETL vers dbt.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;architecture-cible&#34;&gt;Architecture cible&lt;/h2&gt;
&lt;p&gt;Les traitements deviennent des modèles SQL versionnables et maintenables.&lt;/p&gt;
&lt;p&gt;Les dépendances sont explicites, les transformations sont visibles et les traitements peuvent être exécutés directement par Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL ou tout autre moteur 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 traitements ne dépendent plus de la plateforme ETL historique mais d&amp;rsquo;un projet dbt basé sur du SQL ouvert.&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 ETL - de l&#39;ETL legacy vers le SQL</title>
      <link>http://localhost:1313/ressources/migration-etl/migration-etl-vers-le-sql/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/ressources/migration-etl/migration-etl-vers-le-sql/</guid>
      <description>&lt;p&gt;Les plateformes ETL historiques implémentent principalement des filtres, jointures, agrégations, mappings et transformations qui peuvent être exprimés en SQL.&lt;/p&gt;
&lt;p&gt;&lt;strong style=&#34;color:#C00000;&#34;&gt;{openAudit}&lt;/strong&gt; analyse les jobs ETL, reconstruit les flux et génère un équivalent SQL indépendant de la technologie source.&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 traitements sont reconstruits sous forme de SQL documenté et versionnable.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;analyse-des-traitements&#34;&gt;Analyse des traitements&lt;/h2&gt;
&lt;p&gt;Les référentiels ETL sont analysés pour reconstruire les sources, les cibles, les transformations, les paramètres et les dépendances entre traitements.&lt;/p&gt;
&lt;p&gt;Les métadonnées collectées permettent de reconstituer le fonctionnement réel des flux.&lt;/p&gt;
&lt;p&gt;Les composants inutilisés ou non consommés peuvent être identifiés avant migration.&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; un périmètre de migration réduit aux traitements réellement utilisés.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;reconstruction-des-flux&#34;&gt;Reconstruction des flux&lt;/h2&gt;
&lt;p&gt;Les chaînes de traitement sont reconstruites à partir des jobs ETL.&lt;/p&gt;
&lt;p&gt;Les dépendances entre traitements, les flux intermédiaires, les variables et les paramètres sont intégrés dans le modèle cible.&lt;/p&gt;
&lt;p&gt;Cette cartographie constitue le point d&amp;rsquo;entrée de la conversion.&lt;/p&gt;
&lt;h2 id=&#34;rationalisation&#34;&gt;Rationalisation&lt;/h2&gt;
&lt;p&gt;Le croisement du data lineage (jusqu&amp;rsquo;au champ) avec les usages réellement observés permet d&amp;rsquo;identifier les données effectivement consommées et d&amp;rsquo;écarter celles qui ne le sont pas.&lt;/p&gt;
&lt;p&gt;Chaque job est également analysé pour en évaluer la complexité : nombre d&amp;rsquo;étapes, profondeur des sous-traitements, types de transformations et dépendances externes. Ces métriques sont agrégées en un score de complexité, utilisé pour prioriser et planifier la migration.&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; un périmètre de migration réduit aux traitements réellement utilisés, priorisé selon leur complexité réelle.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;génération-sql&#34;&gt;Génération SQL&lt;/h2&gt;
&lt;p&gt;Les transformations détectées sont converties en SQL.&lt;/p&gt;
&lt;p&gt;Filtres, jointures, agrégations, lookups, mappings et calculs sont traduits en instructions SQL successives, à plat.&lt;/p&gt;
&lt;p&gt;Le SQL produit conserve le découpage logique des traitements d&amp;rsquo;origine.&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; chaque étape du traitement reste identifiable dans le SQL généré.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;exemple--jobs-ibm-datastage&#34;&gt;Exemple : jobs IBM DataStage&lt;/h2&gt;
&lt;p&gt;Sur un patrimoine DataStage, chaque type de stage est traduit selon sa logique propre :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Runtime Column Propagation (RCP)&lt;/strong&gt; : la liste des colonnes n&amp;rsquo;est pas figée dans le job ; elle est générée dynamiquement dans le SQL, pilotée par les variables passées au job.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Connecteurs Oracle&lt;/strong&gt; (lecture / écriture) : SELECT, UPDATE, MERGE ou INSERT générés à partir des options du stage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Change Capture (CDC)&lt;/strong&gt; : comparaison Before/After sur clés primaires, détection des lignes nouvelles, modifiées et supprimées.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transformer CDC&lt;/strong&gt; : routage conditionnel vers un flux dédié selon le code de changement détecté.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shared Container&lt;/strong&gt; : bloc logique factorisé, rendu comme un bloc SQL standardisé et réutilisé dans plusieurs jobs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Column Generator&lt;/strong&gt; : colonnes calculées traduites en expressions SQL typées.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modify&lt;/strong&gt; : conversions de types traduites en CAST SQL (ex. string vers timestamp).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Funnel&lt;/strong&gt; : fusion de plusieurs flux via UNION SQL, avec homogénéisation du schéma de sortie.&lt;/li&gt;
&lt;/ul&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-etl/migration-etl-vers-le-sql/datastage_screenshot_exemple_hu_1816a65e5026b334.webp 320w, http://localhost:1313/ressources/migration-etl/migration-etl-vers-le-sql/datastage_screenshot_exemple_hu_a51a8ad6f4ff8541.webp 480w, http://localhost:1313/ressources/migration-etl/migration-etl-vers-le-sql/datastage_screenshot_exemple_hu_c0539ef9bc40bb3e.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-etl/migration-etl-vers-le-sql/datastage_screenshot_exemple_hu_1816a65e5026b334.webp&#34;
               width=&#34;760&#34;
               height=&#34;320&#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 observé :&lt;/strong&gt; sur un patrimoine de plusieurs centaines de jobs DataStage, plus de 95 % des traductions SQL aboutissent dès la première exécution.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;adaptation-aux-plateformes-cibles&#34;&gt;Adaptation aux plateformes cibles&lt;/h2&gt;
&lt;p&gt;Le SQL généré peut être adapté aux dialectes des plateformes cibles.&lt;/p&gt;
&lt;p&gt;Les fonctions, types de données et mécanismes spécifiques sont pris en compte lors de la génération.&lt;/p&gt;
&lt;p&gt;Les mêmes traitements peuvent être produits pour Snowflake, BigQuery, Databricks SQL, Redshift, PostgreSQL, SQL Server ou d&amp;rsquo;autres moteurs compatibles SQL.&lt;/p&gt;
&lt;h2 id=&#34;orchestration&#34;&gt;Orchestration&lt;/h2&gt;
&lt;p&gt;Les dépendances et l&amp;rsquo;ordonnancement des traitements sont conservés.&lt;/p&gt;
&lt;p&gt;Les traitements générés peuvent être intégrés dans les outils d&amp;rsquo;orchestration déjà présents dans le Système d&amp;rsquo;Information.&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; intégration dans Airflow, Control-M ou tout autre ordonnanceur existant.&lt;/p&gt;

  &lt;/blockquote&gt;

&lt;h2 id=&#34;sql-comme-format-pivot&#34;&gt;SQL comme format pivot&lt;/h2&gt;
&lt;p&gt;Le SQL devient la représentation commune des traitements.&lt;/p&gt;
&lt;p&gt;Les transformations ne dépendent plus des composants propriétaires de la plateforme ETL d&amp;rsquo;origine.&lt;/p&gt;
&lt;p&gt;Les traitements peuvent être versionnés, relus, testés et déployés indépendamment de la technologie source.&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 de transformation reste maîtrisée par l&amp;rsquo;entreprise et ne dépend plus d&amp;rsquo;un moteur ETL spécifique.&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>Politique de confidentialité</title>
      <link>http://localhost:1313/privacy/</link>
      <pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/privacy/</guid>
      <description>&lt;p&gt;Cette page décrit comment Ellipsys traite les données personnelles des visiteurs de ce site.&lt;/p&gt;
&lt;h2 id=&#34;responsable-du-traitement&#34;&gt;Responsable du traitement&lt;/h2&gt;
&lt;p&gt;Ellipsys est responsable du traitement des données collectées via ce site.
Pour toute question, vous pouvez nous contacter via le formulaire de la page
&lt;a href=&#34;http://localhost:1313/contact/&#34;&gt;Contact&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;données-collectées&#34;&gt;Données collectées&lt;/h2&gt;
&lt;p&gt;Ce site ne dépose aucun cookie et n&amp;rsquo;utilise aucun outil de suivi ou d&amp;rsquo;analyse
d&amp;rsquo;audience.&lt;/p&gt;
&lt;p&gt;La seule donnée personnelle collectée est celle que vous nous transmettez
volontairement via le formulaire de contact (nom, adresse e-mail, société,
message). Ces informations sont utilisées uniquement pour répondre à votre
demande.&lt;/p&gt;
&lt;h2 id=&#34;conservation-des-données&#34;&gt;Conservation des données&lt;/h2&gt;
&lt;p&gt;Les données transmises via le formulaire de contact sont conservées le temps
nécessaire au traitement de votre demande, puis supprimées.&lt;/p&gt;
&lt;h2 id=&#34;vos-droits&#34;&gt;Vos droits&lt;/h2&gt;
&lt;p&gt;Conformément au Règlement Général sur la Protection des Données (RGPD), vous
disposez d&amp;rsquo;un droit d&amp;rsquo;accès, de rectification et de suppression des données
vous concernant. Pour exercer ces droits, contactez-nous via la page
&lt;a href=&#34;http://localhost:1313/contact/&#34;&gt;Contact&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;modifications&#34;&gt;Modifications&lt;/h2&gt;
&lt;p&gt;Cette politique de confidentialité peut être mise à jour. La date de dernière
mise à jour figure en haut de cette page.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>{oa-lake} — couche d&#39;interopérabilité</title>
      <link>http://localhost:1313/oa-lake/</link>
      <pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/oa-lake/</guid>
      <description></description>
    </item>
    
    <item>
      <title>{oa.tbx} — un ETL SQL</title>
      <link>http://localhost:1313/oa.tbx/</link>
      <pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/oa.tbx/</guid>
      <description></description>
    </item>
    
    <item>
      <title>À propos</title>
      <link>http://localhost:1313/a-propos/</link>
      <pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/a-propos/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Contact</title>
      <link>http://localhost:1313/contact/</link>
      <pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/contact/</guid>
      <description></description>
    </item>
    
    <item>
      <title>{openAudit} - Migration</title>
      <link>http://localhost:1313/openaudit-migration/</link>
      <pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/openaudit-migration/</guid>
      <description></description>
    </item>
    
    <item>
      <title>{openAudit} - Data Lineage</title>
      <link>http://localhost:1313/openaudit-data-lineage/</link>
      <pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/openaudit-data-lineage/</guid>
      <description></description>
    </item>
    
    <item>
      <title>Terms of Service</title>
      <link>http://localhost:1313/terms/</link>
      <pubDate>Fri, 01 Dec 2023 00:00:00 +0000</pubDate>
      <guid>http://localhost:1313/terms/</guid>
      <description>&lt;p&gt;Add your company legal terms here&amp;hellip;&lt;/p&gt;
</description>
    </item>
    
  </channel>
</rss>
