<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Couche Sémantique | </title>
    <link>http://localhost:1313/tags/couche-semantique/</link>
      <atom:link href="http://localhost:1313/tags/couche-semantique/index.xml" rel="self" type="application/rss+xml" />
    <description>Couche Sémantique</description>
    <generator>HugoBlox Kit (https://hugoblox.com)</generator><language>fr-FR</language><lastBuildDate>Thu, 02 Jul 2026 00:00:00 +0000</lastBuildDate>
    <image>
      <url>http://localhost:1313/media/logo.svg</url>
      <title>Couche Sémantique</title>
      <link>http://localhost:1313/tags/couche-semantique/</link>
    </image>
    
    <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>
    
  </channel>
</rss>
