<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Code-Rhapsodie feed</title>
    <subtitle type="html">Atom feed for last blogposts</subtitle>
    <id>https://www.code-rhapsodie.fr/</id>
        <updated>2026-02-26T11:28:58+01:00</updated>
    
    <link rel="self" type="application/atom+xml" href="https://www.code-rhapsodie.fr/feed/all"/>

        <link rel="next" href="https://www.code-rhapsodie.fr/feed/all/2"/>
    <link rel="last" href="https://www.code-rhapsodie.fr/feed/all/8"/>

    <generator uri="https://www.code-rhapsodie.fr/" version="">Code-Rhapsodie</generator>
    <link href="https://www.code-rhapsodie.fr/" />

            <entry>
            <id>https://www.code-rhapsodie.fr/blog/reprise-de-la-maintenance-du-provider-apple-pour-php-league-oauth2-client</id>
            <title><![CDATA[Reprise de la maintenance du provider Apple pour PHP League OAuth2 Client]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/reprise-de-la-maintenance-du-provider-apple-pour-php-league-oauth2-client" />
              <updated>2026-02-26T11:28:58+01:00</updated>
              <published>2026-02-26T11:27:55+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/PHP" label="PHP" />
                        <author>
                <name>Jean-Baptiste N.</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><h2>&#127823; On sauve le package oauth2-apple !</h2><p>Vous utilisez l'authentification Apple dans vos projets PHP ? Alors vous connaissez s&ucirc;rement le package de <a href="https://github.com/patrickbussmann" target="_blank">Patrick Bussmann</a>. Malheureusement, celui-ci n'est plus maintenu depuis un moment, laissant les d&eacute;veloppeurs face &agrave; des enjeux de compatibilit&eacute; et de s&eacute;curit&eacute;.</p><p>Chez Code Rhapsodie, nous croyons fermement &agrave; la force de l'Open Source. Plut&ocirc;t que de laisser cet outil s'&eacute;teindre, nous avons d&eacute;cid&eacute; de prendre nos responsabilit&eacute;s.</p><h2>&#128640; Ce qui change aujourd'hui</h2><p>Nous avons officiellement <a href="https://github.com/code-rhapsodie/oauth2-apple" target="_blank">fork&eacute; le projet</a> pour lui donner un second souffle !</p><p>Maintenance active : Suivi des issues et des pull requests.</p><p>Mises &agrave; jour de s&eacute;curit&eacute; : Un code surveill&eacute; et mis &agrave; jour r&eacute;guli&egrave;rement.</p><p>Compatibilit&eacute; : Alignement avec les derni&egrave;res versions de PHP et des d&eacute;pendances de l'&eacute;cosyst&egrave;me OAuth2.</p><h2>&#128230; Comment l'utiliser ?</h2><p>Rien de plus simple, le nouveau point d'entr&eacute;e est d&eacute;sormais disponible sur Packagist. Pour migrer, il vous suffit de mettre &agrave; jour votre composer.json :</p><p><span class="ezstyle-inline_code">composer require coderhapsodie/oauth2-apple</span>

</p><p>Un grand merci &agrave; Patrick Bussmann pour le travail initial. Nous sommes ravis de pouvoir continuer &agrave; faire vivre cette ressource pour la communaut&eacute;.</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/nouvelle-fonctionnalite-de-suggestion-de-mots-cles-au-connecteur-gemini-pour-ibexa</id>
            <title><![CDATA[Nouvelle fonctionnalité de suggestion de mots-clés au connecteur Gemini pour Ibexa]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/nouvelle-fonctionnalite-de-suggestion-de-mots-cles-au-connecteur-gemini-pour-ibexa" />
              <updated>2026-02-20T17:59:38+01:00</updated>
              <published>2026-02-20T17:59:17+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Gemini" label="Gemini" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Tags" label="Tags" />
                        <author>
                <name>Equipe Code Rhapsodie</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p>La suggestion de mots-cl&eacute;s de Taxonomy est disponible dans Ibexa DXP avec le pack de mise &agrave; jour LTS et le LLM OpenAI. Pour plus d'information sur cette fonctionnalit&eacute; :</p><ul><li><a href="https://doc.ibexa.co/en/latest/content_management/taxonomy/taxonomy/#extending-taxonomy-suggestions" target="_blank">la documentation technique des IA Actions</a></li><li><a href="https://doc.ibexa.co/en/latest/content_management/taxonomy/taxonomy/#extending-taxonomy-suggestions" target="_blank">la suggestion de Taxonomy</a></li></ul><p>Cette fonctionnalit&eacute; et maintenant disponible avec <a href="https://github.com/code-rhapsodie/connector-gemini" target="_blank">notre connecteur Gemini</a>. En un click, vous disposez d'une suggestion de mots-cl&eacute;s propos&eacute;s par l'IA qui s'appuie sur une liste de champs de votre contenu (ici Titre, Introduction et Corps de texte).</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/4/0/8/0/10804-2-fre-FR/b14c97317abc-IA-TAGS-Suggestion.png" alt="" height="1426" width="1726" /></figure>

</div>
        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/0/1/8/0/10810-1-fre-FR/1dc068ef3764-tags-suggestion.png" alt="tags suggestion.png" height="542" width="2266" /></figure>

</div>
<h2>Installation</h2><p><a href="https://github.com/code-rhapsodie/connector-gemini" target="_blank">T&eacute;l&eacute;chargez le bundle Gemini Connector</a> et l'installer dans votre projet.</p><p>Depuis l'interface d'administration d'Ibexa, rendez-vous dans Administration / AI actions, ajouter une action IA "Suggest taxonomy" :</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/2/2/8/0/10822-1-fre-FR/06e15a9d7cb6-add-new-action.png" alt="add-new action.png" height="518" width="945" /></figure>

</div>
<p>Compl&eacute;ter la configuration en s&eacute;lectionnant un type de contenu, ici Article, et les zones de saisie &agrave; s&eacute;lectionner (title, intro, body) et le ou les champs taxonomy que l'on veut cibler :</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/6/1/8/0/10816-1-fre-FR/68473dd3a5b9-ai-action-suggest.png" alt="ai-action-suggest.png" height="1454" width="1171" /></figure>

</div>
<p>Et voil&agrave;, &agrave; vous de jouer !</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/diviser-un-fichier-sql-volumineux-en-petits-fichiers-pour-un-import-facilite</id>
            <title><![CDATA[Diviser un fichier SQL volumineux en petits fichiers pour un import facilité]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/diviser-un-fichier-sql-volumineux-en-petits-fichiers-pour-un-import-facilite" />
              <updated>2026-02-20T09:37:38+01:00</updated>
              <published>2026-02-20T09:36:57+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/sql" label="sql" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa/linux" label="linux" />
                        <author>
                <name>Olivier PORTIER</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><h2>Contexte du projet</h2><p>Le projet est install&eacute; sur une VM Linux Debian (Virtual Box), nous devons d&eacute;boguer un probl&egrave;me &agrave; partir d'un fichier SQL avec des donn&eacute;es de production anonymis&eacute;es. Le fichier SQL fait plusieurs giga octets.</p><p><br>Malgr&eacute; de multiples tentatives d'importation &ndash; que ce soit via PHPStorm depuis votre machine h&ocirc;te, en ligne de commande depuis l'h&ocirc;te, ou directement au sein de la VM via son terminal &ndash; le r&eacute;sultat est syst&eacute;matiquement le m&ecirc;me : la VM se fige, l'importation &eacute;choue en cours de processus, obligeant &agrave; tout reprendre depuis le d&eacute;but.</p><h2>Solution de contournement</h2><p>La meilleur solution envisag&eacute;e c'est de d&eacute;couper le fichier en plusieurs petits fichiers SQL. Nous pourrons alors importer les fichiers pour compl&eacute;ter le mod&egrave;le des donn&eacute;es &agrave; partir de la table qui &agrave; plant&eacute;e. Ainsi chaque fichier pourra &ecirc;tre reprise jusqu'&agrave; l'import complet.</p><p>Merci &agrave; <em>Kedar Vaijanapurkar</em> qui a d&eacute;velopp&eacute; un script permettant de manipuler un fichier mysqldump : <a href="https://github.com/kedarvj/mysqldumpsplitter/" target="_blank">https://github.com/kedarvj/mysqldumpsplitter/</a></p><h2>MySQLDumpSplitter</h2><p>Pour installer le script <span class="ezstyle-inline_code">https://github.com/kedarvj/mysqldumpsplitter/blob/master/mysqldumpsplitter.sh</span>

et ajouter les droits d'&eacute;x&eacute;cution :</p><pre>$ chmod +x mysqldumpsplitter.sh </pre><p>Lister les tables pr&eacute;sentes dans le fichier SQL :</p><pre>$ ./mysqldumpsplitter.sh --source my_huge_sql_file.sql --desc</pre><p>Exporter la table la plus grosse qui plante &agrave; chaque tentative :</p><pre>$ ./mysqldumpsplitter.sh --source my_huge_sql_file.sql --extract REGEXP --match_str 'TABLE_NAME'</pre><p>On obtient dans le dossier <span class="ezstyle-inline_code">out/</span>

 un fichier<span class="ezstyle-inline_code">TABLE_NAME.sql.gz</span>

.</p><h2>Import d'un fichier gzip dans MySQL</h2><p>Pour l'importer, on va utiliser gunzip avec la commande suivante :</p><pre>$ gunzip ./out/TABLE_NAME.sql.gz | mysql -h localhost -u &lt;db_user&gt; --password=&lt;db_password&gt; &lt;DBNAME&gt;</pre><p>Malheureusement, nous n'avons pas beaucoup d'information sur l'avanc&eacute; de cet import.</p><h2>Barre de progression</h2><p>Il nous faudrait une barre de progression pour plus de visibilit&eacute; sur l'avanc&eacute;e de l'import :</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/4/6/7/0/10764-1-fre-FR/e39db5b09fc3-progressebar.png" alt="progressebar.png" height="112" width="1076" /></figure>

</div>
<h2>Installer progresse bar</h2><pre>sudo apt install pv</pre><h2>Utiliser pv</h2><pre>$ pv ./out/TABLE_NAME.sql.gz | gunzip | mysql -h localhost -u &lt;db_user&gt; --password=&lt;db_password&gt; &lt;DBNAME&gt;</pre><h2>Export de plusieurs tables</h2><p>L'export et l'import fonctionnent parfaitement pour une table, voici comment en exporter plusieurs :</p><pre>$ ./mysqldumpsplitter.sh --source my_huge_sql_file.sql --extract REGEXP --match_str '(TABLE_NAME_1|TABLE_NAME_2|TABLE_NAME_3|TABLE_NAME_4|TABLE_NAME_5|TABLE_NAME_6|TABLE_NAME_7|TABLE_NAME_8)' </pre><h2>Script d'import en masse</h2><p>Nous n'allons pas executer une commande par table, on va donc se d&eacute;velopper un petit script d'import de tous les fichiers pr&eacute;sents dans le dossier <span class="ezstyle-inline_code">out/</span>

</p><pre>
   <code class="language-plaintext">

#!/bin/bash
for i in ./out/*.sql.gz
do
&nbsp; echo &quot;Importing: $i&quot;
&nbsp; pv $i | gunzip | mysql -h localhost -u &lt;db_user&gt; --password=&lt;db_password&gt; &lt;DBNAME&gt;
&nbsp; wait
done&nbsp; 
   </code>
</pre>

<p>Ex&eacute;cution d'un import progressif qui se d&eacute;roule sans accros :</p><pre>$ chmod +x import-sql-gz.sh
$ ./import-sql-gz.sh</pre><p>Le d&eacute;bogage du projet peut commencer !</p><p>Nous vous invitons &agrave; nous contacter pour toute demande de d&eacute;bogage de vos solutions ou pour la mise en oeuvre de votre projet, <a href="/contact">n'h&eacute;sitez pas &agrave; nous solliciter</a>.<br>&nbsp;</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/sylius-vs-shopware-quelle-architecture-choisir-pour-votre-futur-e-commerce</id>
            <title><![CDATA[Sylius vs Shopware : Quelle architecture choisir pour votre futur e-commerce ?]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/sylius-vs-shopware-quelle-architecture-choisir-pour-votre-futur-e-commerce" />
              <updated>2026-01-23T11:19:48+01:00</updated>
              <published>2026-01-23T11:17:00+01:00</published>
                        <author>
                <name>Jean-Baptiste N.</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p>Dans l'&eacute;cosyst&egrave;me PHP, il y a de nombreux outils pour r&eacute;aliser un site e-commerce. Voyons deux d'entre eux : <a href="https://sylius.com/fr/" target="_blank"><strong>Sylius</strong></a> et <a href="https://www.shopware.com/en/" target="_blank"><strong>Shopware</strong></a>. Bien qu'ils partagent le m&ecirc;me socle technologique, leurs philosophies divergent radicalement.</p><p>Le choix de l'un ou de l'autre n'est pas qu'une question de fonctionnalit&eacute;s, c'est une d&eacute;cision strat&eacute;gique qui impactera votre flexibilit&eacute; m&eacute;tier et vos co&ucirc;ts de maintenance &agrave; long terme. D&eacute;cryptage.</p><h2>1. Deux philosophies, deux approches du e-commerce</h2><h3>Sylius : Le "Framework" de la sur-mesure</h3><p>Sylius n'est pas une solution "cl&eacute;s en main" au sens traditionnel. C&rsquo;est un framework sp&eacute;cialis&eacute;. &Agrave; l'installation, vous disposez des briques essentielles, mais la plateforme est pens&eacute;e pour &ecirc;tre model&eacute;e par une &eacute;quipe de d&eacute;veloppement. C'est l'outil de pr&eacute;dilection pour les projets o&ugrave; le m&eacute;tier doit dicter le fonctionnement de l'outil, et non l'inverse.</p><h3>Shopware : Le "Produit" orient&eacute; &eacute;cosyst&egrave;me</h3><p>Shopware propose une approche plus packag&eacute;e. Tr&egrave;s orient&eacute; vers les plugins et les applications, il tend de plus en plus vers un mod&egrave;le <strong>SaaS (Software as a Service)</strong>. C'est une solution robuste qui permet de lancer des fonctionnalit&eacute;s rapidement gr&acirc;ce &agrave; son marketplace, tout en offrant une version auto-h&eacute;berg&eacute;e pour plus de contr&ocirc;le.</p><h2>2. L'extension du syst&egrave;me : SaaS vs Self-Hosted</h2><p>Le choix de l'architecture d'extension est le point de rupture entre les deux outils :</p><p><strong>L'approche Shopware (Vision SaaS) :</strong> Via son mod&egrave;le d'applications, Shopware d&eacute;porte la logique m&eacute;tier vers des services tiers via des <strong>Webhooks</strong> et des <strong>API</strong>. C&rsquo;est id&eacute;al pour la scalabilit&eacute;, mais cela limite la personnalisation au p&eacute;rim&egrave;tre des points d'extension pr&eacute;vus par l'&eacute;diteur.</p><p><strong>L'approche Sylius (Vision Framework) :</strong> Ici, le "SaaS" pur est plus complexe &agrave; mettre en &oelig;uvre car Sylius mise sur la souplesse. La personnalisation se fait au c&oelig;ur du code, offrant une libert&eacute; totale.</p><blockquote><p><strong>Le saviez-vous ?</strong> Si vous h&eacute;bergez vous-m&ecirc;me Shopware, vous pouvez utiliser des <strong>Plugins</strong> (similaires aux Bundles Symfony). Attention toutefois: multiplier les plugins tiers peut complexifier vos futures mises &agrave; jour, une probl&eacute;matique que les d&eacute;veloppeurs Symfony ont bien connue avec l'&egrave;re des "tout bundles" de Symfony 2.</p></blockquote><h2>3. Comparatif Technique : Sous le capot</h2><p>Bien que les deux utilisent Symfony, leur gestion des donn&eacute;es et de l'interface diff&egrave;re :</p><table class="table"><thead><tr><th><strong>Caract&eacute;ristique</strong></th><th><strong>Sylius</strong></th><th><strong>Shopware</strong></th></tr></thead><tbody><tr><td><strong>Gestion des donn&eacute;es</strong></td><td>Doctrine ORM (standard Symfony)</td><td>Couche d'abstraction propri&eacute;taire (DAL)</td></tr><tr><td><strong>Modification DB</strong></td><td>Surcharge de mod&egrave;les (souple)</td><td>Configuration &amp; tables d&eacute;di&eacute;es (rigide)</td></tr><tr><td><strong>Frontend</strong></td><td>Personnalisation totale "from scratch"</td><td>Syst&egrave;me de th&egrave;mes bas&eacute; sur l'h&eacute;ritage</td></tr><tr><td><strong>Recherche</strong></td><td>&Agrave; ajouter (<a href="https://www.elastic.co/fr/elasticsearch" target="_blank">Elasticsearch</a>, <a href="https://www.algolia.com/fr" target="_blank">Algolia</a>...)</td><td>Native (Elasticsearch/<a href="https://opensearch.org/" target="_blank">OpenSearch</a> requis)</td></tr></tbody></table><p><strong>Le point critique :</strong> Dans Shopware, la recherche est int&eacute;gr&eacute;e nativement, ce qui acc&eacute;l&egrave;re le "Time to Market". Dans Sylius, cette brique doit &ecirc;tre construite ou int&eacute;gr&eacute;e via un plugin, ce qui demande plus d'effort initial mais permet de choisir une solution parfaitement calibr&eacute;e (comme <a href="https://www.meilisearch.com/" target="_blank">Meilisearch</a> ou Algolia).</p><h2>4. Comment faire le bon choix ?</h2><p>Le choix final d&eacute;pend de votre &eacute;quipe et de votre vision strat&eacute;gique :</p><p><strong>Optez pour le SaaS (Shopware Cloud)</strong> si vous souhaitez d&eacute;l&eacute;guer la maintenance technique et adapter vos processus m&eacute;tier aux outils existants.</p><p><strong>Optez pour l'Auto-h&eacute;berg&eacute; (Sylius ou Shopware Self-hosted)</strong> si vous avez des besoins m&eacute;tier sp&eacute;cifiques, des flux de donn&eacute;es complexes ou une volont&eacute; de ma&icirc;triser votre infrastructure de A &agrave; Z.</p><h2>Pourquoi vous faire accompagner ?</h2><p>Peu importe l'outil choisi, la r&eacute;ussite de votre projet d&eacute;pend de la qualit&eacute; de l'impl&eacute;mentation. Une application e-commerce mal con&ccedil;ue devient rapidement une dette technique co&ucirc;teuse.</p><p><strong>Notre expertise technique &agrave; votre service :</strong></p><p>Que vous penchiez pour la souplesse absolue de <strong>Sylius</strong> ou la puissance de l'&eacute;cosyst&egrave;me <strong>Shopware</strong>, nous vous accompagnons dans :</p><ul><li>Le choix de l'architecture adapt&eacute;e &agrave; votre volume de ventes.</li><li>Le d&eacute;veloppement de fonctionnalit&eacute;s m&eacute;tier sp&eacute;cifiques.</li><li>La maintenance &eacute;volutive et l'optimisation des performances.</li></ul><p>Vous avez un projet e-commerce et vous h&eacute;sitez encore sur la technologie ? <a href="#section-contact">Contactez nos experts pour un audit technique</a></p><p>&nbsp;</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/ibexa-annonce-la-sortie-d-une-nouvelle-version-lts-avec-les-contributions-de-code-rhapsodie</id>
            <title><![CDATA[Ibexa annonce la sortie d'une nouvelle version LTS avec les contributions de Code Rhapsodie]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/ibexa-annonce-la-sortie-d-une-nouvelle-version-lts-avec-les-contributions-de-code-rhapsodie" />
              <updated>2025-12-11T11:47:37+01:00</updated>
              <published>2025-12-11T11:47:01+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Symfony" label="Symfony" />
                        <author>
                <name>Code Rhapsodie team</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p>Ibexa a publi&eacute; le 10 d&eacute;cembre 2025 <a href="https://developers.ibexa.co/security-advisories/ibexa-sa-2025-005-password-change-and-xss-vulnerabilities-in-back-office" target="_blank">un avis de s&eacute;curit&eacute;</a> et sortie dans la foul&eacute;e une nouvelle version <strong>Ibexa DXP v4.6.26 et v5.0.4.</strong></p><p>Dans le cadre d'un projet Ibexa 5, nous avons identifi&eacute; une faille de s&eacute;curit&eacute; lors du changement de mot de passe d'un utilisateur.&nbsp;</p><p>Nous avons d&eacute;clar&eacute; cette faille &agrave; l'&eacute;diteur Ibexa au travers du portail de support de notre client. Ibexa l'a corrig&eacute; et inclut &agrave; la nouvelle version 5.0.4. Merci &agrave; Ibexa pour la mention &#128079;</p><p><strong>N'attendez pas pour d&eacute;marrer un projet Ibexa 5 </strong>et b&eacute;n&eacute;ficiez de Symfony 7 et PHP 8.3 et +. Malgr&eacute; quelques anomalies que nous identifions au fils de l'eau, la version 5 est tr&egrave;s stable et tout &agrave; fait adapt&eacute;e pour d&eacute;marrer votre projet DXP.</p><p>&nbsp;</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/connecteur-mistral-pour-les-actions-ia-d-ibexa</id>
            <title><![CDATA[Connecteur Mistral pour les actions IA d'Ibexa]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/connecteur-mistral-pour-les-actions-ia-d-ibexa" />
              <updated>2026-01-21T20:05:43+01:00</updated>
              <published>2026-01-21T20:05:26+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/IA" label="IA" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Mistral" label="Mistral" />
                        <author>
                <name>L&#039;équipe de Code Rhapsodie</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p>Le connecteur Mistral pour Ibexa est compatible avec Ibexa v4.6 et n&eacute;cessite<a href="https://doc.ibexa.co/en/latest/release_notes/ibexa_dxp_v4.6/#ibexa-dxp-v4613" target="_blank"> la LTS Update AI Actions</a>. Pour commencer &agrave; utiliser les actions IA, il est n&eacute;cessaire d'installer <a href="https://doc.ibexa.co/en/latest/ai_actions/install_ai_actions/" target="_blank" title="Voir les actions d'installation requises dans la documentation officielle">les paquets requis et de proc&eacute;der &agrave; la configuration initiale des AI Actions</a>.</p><p>Dans un second temps vous devrez suivre la documentation d'installation disponible dans <a href="https://github.com/code-rhapsodie/connector-mistral/blob/master/README.md" target="_blank" title="README du connecteur Mistral">le README du connecteur Mistral pour AI actions.</a></p><p>Pour configurer votre clef d'API Mistral, rendez-vous sur <a href="https://docs.mistral.ai/getting-started/quickstart" target="_blank">la documentation Mistral Ai pour les d&eacute;veloppeurs</a>.</p><p><br>N'oubliez pas d'<strong>importer les migrations </strong>apr&egrave;s l'installation et l'activation du connecteur. Ces migrations vous mettent &agrave; disposition des actions par d&eacute;faut telles que :</p><ul><li>r&eacute;sumer un texte (summarize),</li><li>reformuler un texte (rewrite),</li><li>raccourcir un texte (shorten).</li></ul><h3>R&eacute;sumer, raccourcir, reformuler ... traduire</h3><p>Dans les blocs de texte riches, vous disposez aussi d'un bouton d'action IA. S&eacute;lectionnez un paragraphe ou une portion de texte et choisissez l'action qui sera ex&eacute;cut&eacute;e par Mistral AI.</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/7/3/4/0/10437-1-fre-FR/5045678e90ac-mistralaidemo.png" alt="mistralaidemo.png" height="1434" width="2274" /></figure>

</div>
<p>Vous aurez le choix de remplacer le texte ou de l'ajouter dessous et ainsi remanier votre texte comme bon vous semble.</p><h3>Pour en savoir plus</h3><p>Pour aller plus loin et pourquoi pas d&eacute;velopper votre propre connecteur IA, prenez connaissance de <a href="https://doc.ibexa.co/en/latest/ai_actions/ai_actions/" target="_blank" title="Ibexa AI Actions documentation">la documentation officielle l'Ibexa AI Actions</a>.</p><p>Votre aide est pr&eacute;cieuse, si vous aimez notre connecteur, parlez-en sur les r&eacute;seaux sociaux ou <a href="https://github.com/code-rhapsodie/connector-mistral" target="_blank" title="D&eacute;velopper sur GitHub du Connecteur Mistral">participer au co-d&eacute;veloppement sur Github</a>.</p><p>&nbsp;</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/le-nom-des-zones-du-page-builder-d-ibexa-dxp-est-il-adapte-aux-contributeurs</id>
            <title><![CDATA[Le nom des zones du Page Builder d'Ibexa DXP est-il adapté aux contributeurs ?]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/le-nom-des-zones-du-page-builder-d-ibexa-dxp-est-il-adapte-aux-contributeurs" />
              <updated>2025-10-16T14:17:49+02:00</updated>
              <published>2025-10-16T14:16:16+02:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Page+Builder" label="Page Builder" />
                        <author>
                <name>Olivier Portier</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><h2>Les zones du Page Builder d'Ibexa</h2><p>Dans le Page Builder d'Ibexa DXP, vous pouvez d&eacute;finir le layout de vos pages en d&eacute;clarant des zones de contribution. Les blocs seront gliss&eacute;s dans ces zones afin de construire progressivement la page bloc par bloc.</p><p>Voici un exemple de configuration des zones dans un fichier YAML d'Ibexa :</p><pre>        dlayout_three_rows_two_columns:
            identifier: 'layout_three_rows_two_columns'
            name: 'Three rows, two columns'
            description: 'Three rows, two columns'
            thumbnail: '/bundles/ibexadashboard/img/layouts/three_rows_two_columns.svg'
            template: '@ibexadesign/dashboard/builder/layouts/three_rows_two_columns.html.twig'
            zones:
                top:
                    name: 'top'
                middle_left:
                    name: 'middle-left'
                middle_right:
                    name: 'middle-right'
                bottom:
                    name: 'bottom'</pre><p>La zone '<em><strong>top</strong></em>' porte le nom '<strong>top</strong>' mais ce nom n'apparait nulle part dans l'interface d'&eacute;dition d'une page du Page Builder, elle sera identifi&eacute;e par <strong>Drop zone 1 </strong>:</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/9/2/3/0/10329-1-fre-FR/b99bb96173cd-dashboard-edition-zones.png" alt="dashboard-edition-zones.png" height="756" width="2244" /></figure>

</div>
<p>M&ecirc;me principe dans la <em>structure view </em>(tr&egrave;s utile pour d&eacute;placer vos blocs d'une zone &agrave; une autre) les zones sont identifi&eacute;es par <strong>Drop zone 1, 2, 3 </strong>... :</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/_aliases/reference/5/3/3/0/10335-1-fre-FR/69e3d7a075dd-treemenu.png" alt="treemenu.png" height="600" width="492" /></figure>

</div>
<p>A quoi bon donner un nom sp&eacute;cifique dans la configuration si ce nom n'est utilis&eacute; nulle part.</p><h2>Comment est affich&eacute; le nom de la zone ?</h2><p>Le nom des zones est affich&eacute; en javascript par les scripts :</p><ul><li>ibexa/page-builder/src/bundle/ui-dev/src/modules/page-builder/page.builder.js</li><li>ibexa/page-builder/src/bundle/ui-dev/src/modules/page-builder/components/structure/structure.tree.js</li></ul><pre>const hasFieldset = zone.querySelector('fieldset') !== null;

if (!hasFieldset) {
  const dropZoneLabel = Translator.trans(
    /*@Desc("Drop zone %number%")*/ 'structure.drop.zone',
    {
        number: index + 1,
    },
    'ibexa_page_builder',
  );
  const fieldset = document.createElement('fieldset');
  const legend = document.createElement('legend');</pre><p>Difficile de traduire une chaine de texte alors que son libell&eacute; change &agrave; chaque zone. Dans le script <em>page.builder.js,</em> on voit que si un &eacute;l&eacute;ment <span class="ezstyle-inline_code">&lt;fieldset&gt;</span>

 est d&eacute;j&agrave; pr&eacute;sent dans le DOM de la zone, alors il n'est pas recr&eacute;&eacute;.</p><p>Sans faire de d&eacute;veloppement trop complexe ni de <em>hack kernel</em>, on doit pouvoir ajouter ce bloc HTML dans notre template de layout pour nommer convenablement nos zones.</p><h2>Avoir des noms de zones intuitifs</h2><p>Dans notre template <span class="ezstyle-inline_code">three_rows_two_columns.html.twig</span>

, on a donc ajout&eacute; le <span class="ezstyle-inline_code">&lt;fieldset&gt;</span>

 et la <span class="ezstyle-inline_code">&lt;legend&gt;</span>

 avec le nom de zone que l'on a configur&eacute; dans notre fichier YAML.</p><pre>&lt;div class="ibexa-db-zones"&gt;
    &lt;div class="ibexa-db-zones__row"&gt;
        &lt;div class="ibexa-db-zones__zone" data-ibexa-zone-id="{{ zones[0].id }}"&gt;
             &lt;fieldset class="m-page-builder__fieldset"&gt;
                &lt;legend class="m-page-builder__legend"
                        style="background-color: white; padding: 3px; border-radius: 5px; border: 1px dashed #4191ff;"
                &gt;
                  {{ zones[0].name }}
                &lt;/legend&gt;
             &lt;/fieldset&gt;
    
            {% if zones[0].blocks %}
    ...
             
            {% endif %}
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ibexa-db-zones__row ibexa-db-zones__row--double"&gt;
        &lt;div class="ibexa-db-zones__zone" data-ibexa-zone-id="{{ zones[1].id }}"&gt;
            &lt;fieldset class="m-page-builder__fieldset"&gt;
                &lt;legend class="m-page-builder__legend"
                        style="background-color: white; padding: 3px; border-radius: 5px; border: 1px dashed #4191ff;"
                &gt;
                  {{ zones[0].name }}
                &lt;/legend&gt;
            &lt;/fieldset&gt;            
            {% if zones[1].blocks %}

   ...

            {% endif %}
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div</pre>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/1/4/3/0/10341-1-fre-FR/a79b7d0d650c-zone-renames.png" alt="zone-renames.png" height="876" width="3006" /></figure>

</div>
<p>Les zones de pr&eacute;-visualisation sont maintenant parlantes et bien plus simples &agrave; comprendre, surtout lors de cas complexe de gestion &eacute;ditoriale dont voici un exemple :</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/7/4/3/0/10347-1-fre-FR/82f8b28b1f0e-zones-custom-ibexa-stackable.png" alt="zones-custom-ibexa-stackable.png" height="1126" width="3010" /></figure>

</div>
<p>Sans des noms de zones explicites, l'&eacute;quipe &eacute;ditoriale ne peut pas distinguer une zone de Cover, une zone avec des blocs empilables (<a href="https://tailwindcss.com/plus/ui-blocks/application-ui/application-shells/stacked" target="_blank" title="Tailwind stackable blocks"><em>stackable blocks</em></a> dont nous parlerons dans un prochain article) ou une zone libre avec des blocs qui s'afficheront les uns sous les autres.</p><p>Des id&eacute;es pour propager cette fonctionnalit&eacute; qui devrait &ecirc;tre native dans la <em>Structure view</em> ? J'en appelle &agrave; l'&eacute;quipe d'Ibexa pour nous apporter une petite am&eacute;lioration avec Ibexa 5.</p><p><em><strong>Mise &agrave; jour du 16 octobre</strong></em></p><p>Nous avons poursuivis les d&eacute;veloppements et r&eacute;alis&eacute; un hack pour avoir l'ensemble des zones avec le nom souhait&eacute;. Voil&agrave; !</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/9/8/4/0/10489-3-fre-FR/328760eda8b0-zones-custom-ibexa-stackable-finale.png" alt="" height="1126" width="3010" /></figure>

</div>
<p>Si vous souhaitez en savoir plus n'h&eacute;sitez pas &agrave;<a href="https://www.code-rhapsodie.fr/contact"> nous contacter.</a></p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/connecteur-google-gemini-pour-les-actions-ia-d-ibexa</id>
            <title><![CDATA[Connecteur Google Gemini pour les actions IA d'Ibexa]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/connecteur-google-gemini-pour-les-actions-ia-d-ibexa" />
              <updated>2025-06-11T12:11:02+02:00</updated>
              <published>2025-06-11T12:10:37+02:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/IA" label="IA" />
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Gemini" label="Gemini" />
                        <author>
                <name>L&#039;équipe de Code Rhapsodie</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p>Le connecteur Google Gemini pour Ibexa est compatible avec Ibexa v4.6 et n&eacute;cessite<a href="https://doc.ibexa.co/en/latest/release_notes/ibexa_dxp_v4.6/#ibexa-dxp-v4613" target="_blank"> la LTS Update AI Actions</a>. Pour commencer &agrave; utiliser les actions IA, il est n&eacute;cessaire d'installer <a href="https://doc.ibexa.co/en/latest/ai_actions/install_ai_actions/" target="_blank" title="Voir les actions d'installation requises dans la documentation officielle">les paquets requis et de proc&eacute;der &agrave; la configuration initiale des AI Actions</a>.</p><p>Dans un second temps vous devrez suivre la documentation d'installation disponible dans <a href="https://github.com/code-rhapsodie/connector-gemini/blob/master/README.md" target="_blank" title="README du connecteur Gemini">le README du connecteur Gemini pour AI actions.</a></p><p>Pour configurer votre clef d'API Gemini, rendez-vous sur <a href="https://ai.google.dev/gemini-api/docs/api-key?hl=fr" target="_blank">la documentation Google Ai pour les d&eacute;veloppeurs</a>.</p><p><br>N'oubliez pas d'<strong>importer les migrations </strong>apr&egrave;s l'installation et l'activation du connecteur. Ces migrations vous mettent &agrave; disposition des actions par d&eacute;faut telles que :</p><ul><li>r&eacute;sumer un texte (summarize),</li><li>reformuler un texte (rewrite),</li><li>raccourcir un texte (shorten),</li><li>g&eacute;n&eacute;rer un texte alternatif pertinents pour les images associ&eacute;es (generate alt text on images).</li></ul>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/8/4/0/0/10048-1-fre-FR/64148a5f3e2c-Ibexa-DXP-06-10-2025_12_54_PM.png" alt="Vue d&#039;une interface utilisateur web affichant une liste d&#039;actions d&#039;IA, notamment &quot;R&eacute;&eacute;crire dans un style amical&quot; et &quot;R&eacute;sumer&quot;." height="2440" width="3024" /></figure>

</div>
<p>Cette image qui illustre mon article a &eacute;t&eacute; int&eacute;gr&eacute;e &agrave; la m&eacute;diath&egrave;que sans texte alternatif.</p><h3>G&eacute;n&eacute;rer un texte alternatif &agrave; une image</h3><p>Voici comment je vais pouvoir g&eacute;n&eacute;rer un texte alternatif pertinent en quelques clics.</p><p>J'identifier mon image depuis l'onglet Relations de mon article :</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/3/5/0/0/10053-1-fre-FR/e8ee9213f2db-relations.png" alt="relations.png" height="1068" width="1728" /></figure>

</div>
<p>J'acc&egrave;de &agrave; mon image pour la modifier. Un bouton IA apparait sur les champs qui disposent d'actions IA, c'est le cas du texte alternatif (<em>Alternative text</em>):</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/8/5/0/0/10058-1-fre-FR/ccc69773274b-ia-alt-texte.png" alt="ia alt-texte.png" height="1336" width="2446" /></figure>

</div>
<p>Il est possible de <strong>remplacer</strong> le contenu du champs par la proposition de Gemini, de <strong>retenter</strong> une nouvelle fois ou de <strong>stoper</strong> sans effectuer de changement.</p><p>Un contenu en anglais utilisera l'action en langue anglaise, ainsi la r&eacute;ponse de Gemini sera bien dans la langue de votre contenu.</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/3/7/0/0/10073-1-fre-FR/330a939b5a38-english-relation-ai.png" alt="english-relation-ai.png" height="1308" width="2442" /></figure>

</div>
<h3>&nbsp;</h3><h3>R&eacute;sumer, raccourcir, reformuler ... traduire</h3><p>Dans les blocs de texte riches, vous disposez aussi d'un bouton d'action IA. S&eacute;lectionnez un paragraphe ou une portion de texte et choisissez l'action qui sera ex&eacute;cut&eacute;e par Gemini.</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/0/2/1/0/10120-1-fre-FR/492db75735b7-richtext.png" alt="richtext.png" height="774" width="1858" /></figure>

</div>
<p>Vous aurez le choix de remplacer le texte ou de l'ajouter dessous et ainsi remanier votre texte comme bon vous semble.</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/5/2/1/0/10125-1-fre-FR/a27299d51b7b-richtextai2.png" alt="richtextai2.png" height="1068" width="1772" /></figure>

</div>
<h3>Pour en savoir plus</h3><p>Pour aller plus loin et pourquoi pas d&eacute;velopper votre propre connecteur IA, prenez connaissance de <a href="https://doc.ibexa.co/en/latest/ai_actions/ai_actions/" target="_blank" title="Ibexa AI Actions documentation">la documentation officielle l'Ibexa AI Actions</a>.</p><p>Votre aide est pr&eacute;cieuse, si vous aimez notre connecteur, parlez-en sur les r&eacute;seaux sociaux ou <a href="https://github.com/code-rhapsodie/connector-gemini" target="_blank" title="D&eacute;velopper sur GitHub du Connecteur Gemini">participer au co-d&eacute;veloppement sur Github</a>.</p><p>&nbsp;</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/notre-equipe-est-certifiee-a-100-ibexa</id>
            <title><![CDATA[Notre équipe est certifiée à 100% Ibexa]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/notre-equipe-est-certifiee-a-100-ibexa" />
              <updated>2025-03-05T13:06:27+01:00</updated>
              <published>2025-03-05T13:06:18+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                            <category term="https://www.code-rhapsodie.fr/tags/Formation" label="Formation" />
                            <category term="https://www.code-rhapsodie.fr/tags/Certification" label="Certification" />
                        <author>
                <name>L&#039;équipe Code Rhapsodie</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p><em>Experts Ibexa de longue date, forts de nombreux projets r&eacute;ussis sur Ibexa, eZ Publish et eZ Platform, Code Rhapsodie est partenaire Ibexa depuis 2023. Les certifications Ibexa sont essentielles pour nous et nos clients. D&eacute;livr&eacute;es par l'&eacute;diteur, elles attestent de notre ma&icirc;trise approfondie de la solution et renforcent la confiance que nos clients nous accordent.</em></p><p>Ibexa propose une plateforme de formation et de certification tr&egrave;s riche et permet &agrave; votre &eacute;quipe de se former &agrave; son rythme. Chaque collaborateur trouvera la formation &agrave; sa mesure :</p><h3>Avant-vente, commercial, directeur de projet : Certification Sales</h3><p>Cette formation vous fera d&eacute;couvrir la plateforme Ibexa, ses grandes fonctionnalit&eacute;s, les diff&eacute;rentes d&eacute;clinaisons d'Ibexa du Headless &agrave; Commerce, les solutions de l'&eacute;cosyst&egrave;me Qntm (Raptor CDP, Actito, Qualifio, Quable...), Ibexa Cloud la plateforme cl&eacute;s en mains avec Platform.sh, les engagements d'Ibexa en avant vente. C'est la bo&icirc;te &agrave; outils essentielle de vos &eacute;quipes de vente.</p>        
<div  class="align-center ibexa-embed-type-image">
    
    
    <figure class="ezimage-field"><img src="https://www.code-rhapsodie.fr/var/coderhapsodie/storage/images/_aliases/medium/3/6/7/9/9763-1-fre-FR/2a95608beac8-OLIVIER.jpg" alt="Illustration d&#039;un homme souriant, portant des lunettes et une barbe. Il a les cheveux bruns et une chemise blanche." height="200" width="200" /></figure>

</div>
<p style="text-align:center;"><a href="https://calendly.com/contact-code-rhapsodie/30min" target="_blank" title="RDV de 30min avec Olivier">Rencontrez Olivier</a>, <strong>Expert Ibexa et certifi&eacute; Sales</strong>.</p><h3>Equipe &eacute;ditoriale et &eacute;quipe projet : Certification Content Editor</h3><p>La formation compl&egrave;te de vos utilisateurs, contributeurs et &eacute;quipe projet est indispensable avant le lancement de votre projet. Ce module de formation couvre l'ensemble des fonctionnalit&eacute;s de l'interface d'administration d'Ibexa. Les contributeurs pratiquent avec des d&eacute;mos interactives, ce qui facilite l'apprentissage et la prise en mains.</p><p>La certification compl&egrave;te la formation en posant les bonnes questions pour valider les acquis essentiels &agrave; un bon r&eacute;dacteur de contenu.</p><h3>Direction de projet, chef de projet, webmestre : Certification Security</h3><p>Maitriser Ibexa c'est aussi maitriser son mod&egrave;le de donn&eacute;es, la gestion des utilisateurs, des r&ocirc;les et des droits d'acc&egrave;s. La s&eacute;curit&eacute; d'une plateforme Ibexa est &agrave; la charge du partenaire int&eacute;grateur mais aussi du client et de ses utilisateurs. Il est essentiel de bien comprendre ces concepts et garantir une s&eacute;curit&eacute; optimale tout au long de votre projet. Cette formation certifiante est l&agrave; pour &ccedil;a.</p><h3>D&eacute;veloppeurs et lead d&eacute;veloppeurs&nbsp;</h3><p>Un partenaire Ibexa se doit d'avoir un minimum de d&eacute;veloppeurs certifi&eacute;s. Code Rhapsodie compte :</p><ul><li><strong>100% </strong>de ses consultants et d&eacute;veloppeurs certifi&eacute;s<strong> Ibexa Developer,</strong></li><li><strong>75% </strong>certifi&eacute;s<strong> Ibexa Advanced Developer.</strong></li></ul><p><strong>Notre signature : Expertise, Conformit&eacute; et Qualit&eacute;&nbsp;</strong></p><p>Mais nous ne nous arr&eacute;tons pas seulement &agrave; Ibexa, notre &eacute;quipe se forme aux solutions Qntm dont Raptor CDP, Qualifio, Quable et bien entendu Platform.sh partenaire d'Ibexa et de Code Rhapsodie pour l'h&eacute;bergement de nos projets dans <a href="https://platform.sh/regions/france/#:~:text=Cloud%20souverain%20fran%C3%A7ais%2C%20ou%20Clouds%20publics%20localis%C3%A9s%20en%20Europe" target="_blank" title="Cloud souverain fran&ccedil;ais, ou Clouds publics localis&eacute;s en Europe">le cloud souverain europ&eacute;en</a>.</p><p>Que vous soyez utilisateur, client ou partenaire Ibexa, <a href="https://www.code-rhapsodie.fr/contact">contactez-nous</a> sans h&eacute;siter pour d&eacute;couvrir nos services et d&eacute;velopper vos comp&eacute;tences sur Ibexa et obtenir la certification qui validera votre expertise !</p>
</div>
]]>
            </content>
        </entry>
            <entry>
            <id>https://www.code-rhapsodie.fr/blog/profitez-d-une-certification-gratuite-lors-de-l-ibexa-summit-2025</id>
            <title><![CDATA[Profitez d'une certification gratuite lors de l'Ibexa Summit 2025]]></title>
            <link rel="alternate" type="text/html"
                  href="https://www.code-rhapsodie.fr/blog/profitez-d-une-certification-gratuite-lors-de-l-ibexa-summit-2025" />
              <updated>2025-01-20T12:05:03+01:00</updated>
              <published>2025-01-20T12:04:30+01:00</published>
                            <category term="https://www.code-rhapsodie.fr/tags/Technos/Ibexa" label="Ibexa" />
                        <author>
                <name>Code Rhapsodie</name>
            </author>
            <content type="html">
                <![CDATA[<div class="ezrichtext-field"><p>Profitez d'une certification gratuite lors de l'Ibexa Summit 2025&nbsp;! Le 31&nbsp;janvier, profitez de cette opportunit&eacute; exclusive d'am&eacute;liorer et valider vos comp&eacute;tences en &eacute;tant certifi&eacute; Ibexa :<br>&#10004;&#65039; Certification &eacute;ditoriale - Parfaite pour les sp&eacute;cialistes du marketing et les r&eacute;dacteurs.<br>&#10004;&#65039; Certification technique - Con&ccedil;ue pour les d&eacute;veloppeurs et les passionn&eacute;s de technologie.</p><p><a href="https://www.ibexa.co/events/ibexa-summit-2025" target="_blank">Venez donc nombreux &agrave; la conf&eacute;rence Ibexa Summit 2025 !</a></p>
</div>
]]>
            </content>
        </entry>
    </feed>
