<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="https://chierchia.fr/wp-content/plugins/pretty-rss-feeds/xslt/pretty-feed.xsl" type="text/xsl" media="screen" ?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gutenberg - Ange Chierchia</title>
	<atom:link href="https://chierchia.fr/tag/gutenberg/feed/" rel="self" type="application/rss+xml" />
	<link>https://chierchia.fr/tag/gutenberg/</link>
	<description>Développeur Web full-stack</description>
	<lastBuildDate>Tue, 04 Aug 2026 19:11:44 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://chierchia.fr/wp-content/uploads/cropped-16350293-SSDKVqo3-32x32.jpg</url>
	<title>Gutenberg - Ange Chierchia</title>
	<link>https://chierchia.fr/tag/gutenberg/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
					<title>Blockshifter : mon premier plugin WordPress est en ligne !</title>
					<link>https://chierchia.fr/2026/08/blockshifter-mon-premier-plugin-wordpress-est-en-ligne/</link>
					<comments>https://chierchia.fr/2026/08/blockshifter-mon-premier-plugin-wordpress-est-en-ligne/#respond</comments>
		
		<dc:creator><![CDATA[<span class='p-author h-card'>Ange Chierchia</span>]]></dc:creator>
		<pubDate>Sun, 02 Aug 2026 09:30:00 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Gutenberg]]></category>
		<category><![CDATA[personnel]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://chierchia.fr/?p=10385</guid>

					<description><![CDATA[Voilà, c&#8217;est fait. Blockshifter, mon premier plugin, est publié sur le répertoire officiel WordPress ! Et oui, je suis assez fier de le dire. L&#8217;idée me trotte dans la tête depuis plusieurs mois, suite à mon expérience chez Foyer et mes projets actuels chez Concept Factory. À un moment, j&#8217;ai arrêté de la laisser traîner [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class='e-content'>
<p class="wp-block-paragraph">Voilà, c&rsquo;est fait. <strong><a href="https://wordpress.org/plugins/blockshifter">Blockshifter</a></strong>, mon premier plugin, est publié sur le répertoire officiel WordPress ! Et oui, je suis assez fier de le dire.</p>



<span id="more-10385"></span>



<p class="wp-block-paragraph">L&rsquo;idée me trotte dans la tête depuis plusieurs mois, suite à mon expérience chez Foyer et mes projets actuels chez Concept Factory. À un moment, j&rsquo;ai arrêté de la laisser traîner et je me suis mis à coder.</p>



<p class="wp-block-paragraph">Concrètement, tout s&rsquo;est fait en quelques jours, pendant mes vacances, avec un agent IA en support sur une bonne partie du code. Je préfère le dire clairement plutôt que de laisser croire à je ne sais quel mythe du développeur solitaire qui code tout à la main pendant des mois… Ce n&rsquo;est pas comme ça que ça s&rsquo;est passé, et ça fait partie de ma façon de travailler aujourd&rsquo;hui.</p>



<h2 class="wp-block-heading">Le problème que je voulais régler</h2>



<p class="wp-block-paragraph">Vous avez une Galerie ou un Groupe de blocs Gutenberg, et l&rsquo;affichage natif ne suffit pas. Vous voulez un carousel, un accordéon, etc. Du coup vous installez un plugin qui rajoute <em>encore</em> un nouveau bloc, avec sa propre syntaxe, ses propres réglages, souvent lourd, parfois abandonné et qui casse le jour où vous changez de thème.</p>



<p class="wp-block-paragraph">J&rsquo;en avais marre de ce pattern. Alors j&rsquo;ai fait l&rsquo;inverse.</p>



<h2 class="wp-block-heading">Même bloc, autre forme</h2>



<p class="wp-block-paragraph">Blockshifter n&rsquo;ajoute aucun nouveau bloc. Il fait une seule chose : il change l&rsquo;affichage front-end d&rsquo;un bloc «&nbsp;core&nbsp;» que vous utilisez déjà sans toucher à son contenu ni à sa structure.</p>



<p class="wp-block-paragraph">Dans la pratique :</p>



<ol class="wp-block-list">
<li>Vous sélectionnez un bloc Galerie ou Groupe, comme d&rsquo;habitude.</li>



<li>Un nouveau panneau apparaît dans l&rsquo;Inspector.</li>



<li>Vous activez le mode d’affichage souhaité (uniquement Carousel pour le moment).</li>



<li>Le bloc reste 100&nbsp;% natif et éditable, mais son rendu change complètement.</li>
</ol>



<p class="wp-block-paragraph">Pas de nouveau bloc à apprendre, pas de shortcode. Un interrupteur, c&rsquo;est tout.</p>



<p class="wp-block-paragraph">Et si un jour vous désactivez le plugin, votre Galerie ou votre Groupe s&rsquo;affiche juste&#8230; normalement. Rien ne casse, rien ne reste bloqué dans un format propriétaire.</p>



<h2 class="wp-block-heading">Ce qu&rsquo;il y a dedans</h2>



<p class="wp-block-paragraph">Un seul module pour l&rsquo;instant : <strong>Carousel</strong>, sur les blocs Galerie et Groupe. Il s&rsquo;appuie sur <a href="https://splidejs.com/">Splide.js</a> — léger, accessible, sans dépendances qui traînent.</p>



<ul class="wp-block-list">
<li>Nombre de slides visibles</li>



<li>Lecture automatique</li>



<li>Boucle infinie</li>



<li>Responsive, navigable au clavier, lecteur d&rsquo;écran compatible</li>
</ul>



<h2 class="wp-block-heading">Pourquoi c&rsquo;est en 0.1.0</h2>



<p class="wp-block-paragraph">Le plugin fonctionne, il est publié, vous pouvez l&rsquo;installer maintenant. Mais je ne le considère pas comme un produit fini, d&rsquo;où le 0.1.0. C&rsquo;est un premier module qui marche, pas une boîte à outils complète. Accordion, Masonry et d&rsquo;autres modes d&rsquo;affichage sont dans un coin de ma tête, avec la même logique à chaque fois : un bloc connu, un interrupteur, un rendu différent.</p>



<p class="wp-block-paragraph">D&rsquo;ailleurs, pour Masonry, la réflexion a déjà abouti à <a href="https://github.com/nighcrawl/Blockshifter/issues/8">une spec complète sur GitHub</a> (grille CSS Grid à hauteurs variables, sans lib tierce). C&rsquo;est un agent IA qui va s&rsquo;en charger, dans la continuité de ce que je disais plus haut sur ma façon de travailler aujourd&rsquo;hui. Objectif : un module fonctionnel dans les prochains jours.</p>



<p class="wp-block-paragraph">Ça avancera au rythme où ça avancera. Pas de roadmap gravée dans le marbre, juste l&rsquo;idée de continuer à construire dessus.</p>



<h2 class="wp-block-heading">L&rsquo;installer</h2>



<p class="wp-block-paragraph">C&rsquo;est gratuit, open source, disponible dès maintenant :</p>



<p class="has-text-align-center wp-block-paragraph"><strong><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://wordpress.org/plugins/blockshifter">wordpress.org/plugins/blockshifter</a></strong></p>



<ol class="wp-block-list">
<li>Extensions&nbsp;&gt; Ajouter, cherchez «&nbsp;Blockshifter&nbsp;», installez, activez.</li>



<li>Sélectionnez un bloc Galerie ou Groupe.</li>



<li>Activez le panneau Blockshifter Carousel dans l&rsquo;Inspector.</li>
</ol>



<p class="wp-block-paragraph">Rien d&rsquo;autre à configurer.</p>



<h2 class="wp-block-heading">Le code est ouvert</h2>



<p class="wp-block-paragraph">Tout est développé en public sur <a href="https://github.com/nighcrawl/Blockshifter">GitHub</a>. Si vous testez le plugin et que quelque chose vous gêne, ou que vous avez une idée de module à prioriser, je suis preneur.</p>



<p class="wp-block-paragraph"><em>Et si vous laissez une review sur le répertoire WordPress.org, ça aide vraiment — visibilité du plugin, et un petit coup de pouce pour un premier projet.</em></p>
</div>]]></content:encoded>
					
					<wfw:commentRss>https://chierchia.fr/2026/08/blockshifter-mon-premier-plugin-wordpress-est-en-ligne/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
					<title>Windsurf et moi : journal d’un dev qui apprend à parler à une IA</title>
					<link>https://chierchia.fr/2026/02/windsurf-et-moi-journal-dun-dev-qui-apprend-a-parler-a-une-ia/</link>
		
		<dc:creator><![CDATA[<span class='p-author h-card'>Ange Chierchia</span>]]></dc:creator>
		<pubDate>Mon, 02 Feb 2026 06:45:00 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<category><![CDATA[Gutenberg]]></category>
		<category><![CDATA[IA]]></category>
		<category><![CDATA[JSX]]></category>
		<category><![CDATA[React]]></category>
		<category><![CDATA[vibe coding]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://chierchia.fr/?p=7980</guid>

					<description><![CDATA[Ça fait deux semaines que j&#8217;utilise Windsurf pour développer un plugin WordPress.Le principe ? Ajouter des options sur les blocs Gutenberg natifs (en React/JSX), et gérer des Custom Post Types proprement. Rien de dingue sur le papier.Mais en vrai, c&#8217;est le genre de projet où tu te retrouves vite avec du code front mélangé au [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class='e-content'>
<p class="wp-block-paragraph">Ça fait deux semaines que j&rsquo;utilise <strong>Windsurf</strong> pour développer un plugin WordPress.<br>Le principe ? Ajouter des options sur les blocs Gutenberg natifs (en React/JSX), et gérer des Custom Post Types proprement.</p>



<p class="wp-block-paragraph">Rien de dingue sur le papier.<br />Mais en vrai, c&rsquo;est le genre de projet où tu te retrouves vite avec du code front mélangé au code métier, des fichiers qui grossissent, et un moment où tu te demandes « mais pourquoi j&rsquo;ai foutu ça là ? ».</p>



<p class="wp-block-paragraph">Avant, j&rsquo;aurais passé une journée entière à refactoriser pour que ce soit propre.<br />Là, j&rsquo;ai tenté de faire équipe avec l&rsquo;IA.</p>



<p class="wp-block-paragraph">Spoiler : c&rsquo;est ni parfait, ni magique. Mais franchement, c&rsquo;est troublant.</p>



<h2 class="wp-block-heading">Le moment où j&rsquo;ai compris que c&rsquo;était différent</h2>



<p class="wp-block-paragraph">Au début, je lui ai juste balancé :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">« J&rsquo;ai du code pour étendre des blocs Gutenberg. Aide-moi à séparer proprement le front-end de la logique métier. »</p>
</blockquote>



<p class="wp-block-paragraph">Windsurf ne m&rsquo;a pas juste craché trois suggestions de fonctions.<br />Il a <strong>réorganisé des fichiers</strong>.<br />Il a créé des dossiers, proposé une archi, déplacé du code React d&rsquo;un côté, les enregistrements de CPT de l&rsquo;autre.</p>



<p class="wp-block-paragraph">Pas parfait, hein. Mais cohérent.</p>



<p class="wp-block-paragraph">Et moi, pendant ce temps, je ne codais presque pas.<br />Je lisais, je validais, je virais ce qui ne me plaisait pas.</p>



<p class="wp-block-paragraph">C&rsquo;est là que j&rsquo;ai senti le truc : je n&rsquo;étais plus vraiment en train de « coder ».<br />J&rsquo;étais en train de <strong>piloter</strong>.</p>



<h2 class="wp-block-heading">Font Awesome sur les boutons : ou comment j&rsquo;ai réécrit mes prompts 15 fois</h2>



<p class="wp-block-paragraph">Le truc qui m&rsquo;a le plus pris la tête, c&rsquo;est l&rsquo;ajout d&rsquo;<strong>icônes Font Awesome sur les blocs <code>core/button</code></strong>.</p>



<p class="wp-block-paragraph">Sur le papier, c&rsquo;est simple :<br />tu rajoutes un control dans le panneau Gutenberg, tu laisses l&rsquo;utilisateur choisir une icône, tu l&rsquo;affiches côté front avec la bonne classe Font Awesome.</p>



<p class="wp-block-paragraph">Dans la réalité ?<br />Windsurf m&rsquo;a sorti :</p>



<ul class="wp-block-list">
<li>Des contrôles Gutenberg qui ne compilaient pas.</li>



<li>Des attributs qui disparaissaient au save/reload.</li>



<li>Du JSX bancal avec des icônes qui se dupliquaient ou qui partaient dans le mauvais sens.</li>



<li>Une fois, il m&rsquo;a même proposé d&rsquo;importer <strong>tout Font Awesome en JS côté éditeur</strong> (merci, mais non).</li>
</ul>



<p class="wp-block-paragraph">Le problème, c&rsquo;est que je lui demandais des trucs trop vagues.<br />Genre :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">« Ajoute une option pour choisir une icône Font Awesome. »</p>
</blockquote>



<p class="wp-block-paragraph">Résultat : il partait dans tous les sens.</p>



<p class="wp-block-paragraph">J&rsquo;ai dû affiner. Beaucoup.<br />Jusqu&rsquo;à arriver à des prompts du style :</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p class="wp-block-paragraph">« Ajoute un SelectControl dans InspectorControls pour choisir parmi 5 icônes Font Awesome.<br />L&rsquo;attribut doit s&rsquo;appeler <code>faIcon</code>, de type string.<br />L&rsquo;icône doit s&rsquo;afficher avant le texte du bouton, côté front uniquement, avec la classe <code>fa-solid fa-{nomIcone}</code>. »</p>
</blockquote>



<p class="wp-block-paragraph">Là, ça commençait à tourner.</p>



<p class="wp-block-paragraph">Mais j&rsquo;ai quand même dû <strong>tout recommencer à zéro</strong> une fois, parce qu&rsquo;il m&rsquo;avait généré une logique tellement tordue que je ne m&rsquo;y retrouvais plus.</p>



<h2 class="wp-block-heading">Ce que j&rsquo;ai appris : parler à une IA, c&rsquo;est un métier</h2>



<p class="wp-block-paragraph">Ce qui m&rsquo;a le plus marqué, c&rsquo;est à quel point <strong>la façon dont tu poses la question change tout</strong>.</p>



<p class="wp-block-paragraph">Si tu dis :<br />« Fais-moi un truc pour gérer des icônes »,<br />tu obtiens du code générique, verbeux, à moitié cassé.</p>



<p class="wp-block-paragraph">Si tu dis :<br />« Crée un attribut <code>faIcon</code> de type string, ajoute un SelectControl avec 5 options fixes, affiche l&rsquo;icône en <code>&lt;i&gt;</code> avec la classe correspondante dans le RichText »,<br />là, ça roule.</p>



<p class="wp-block-paragraph">Et ça, pour moi, c&rsquo;est nouveau.<br />Avant, coder, c&rsquo;était : je sais ce que je veux, je le tape.<br />Maintenant, c&rsquo;est : je sais ce que je veux, <strong>j&rsquo;apprends à le formuler pour qu&rsquo;une IA le fasse</strong>.</p>



<p class="wp-block-paragraph">C&rsquo;est presque un exercice de specs en temps réel.<br />Et franchement, ça m&rsquo;a forcé à être plus <strong>clair dans ma tête</strong> sur ce que je voulais vraiment.</p>



<h2 class="wp-block-heading">La structure du plugin : là où l&rsquo;IA m&rsquo;a vraiment aidé</h2>



<p class="wp-block-paragraph">Ce qui est cool, c&rsquo;est que Windsurf m&rsquo;a aidé à mettre en place une archi propre dès le début.</p>



<p class="wp-block-paragraph">Avant, j&rsquo;aurais fait un gros <code>index.php</code>, un dossier <code>assets</code>, et je me serais dit « je rangerai plus tard ».<br />Jamais fait, évidemment.</p>



<p class="wp-block-paragraph">Là, il m&rsquo;a proposé direct :</p>



<ul class="wp-block-list">
<li>Un dossier <code>src/blocks</code> pour tout le code React/JSX qui étend les blocs Gutenberg.</li>



<li>Un dossier <code>includes</code> pour les CPT et la logique métier.</li>



<li>Un build propre avec webpack (enfin… plus ou moins propre, j&rsquo;ai dû ajuster).</li>



<li>Une séparation claire entre ce qui tourne côté éditeur et ce qui se charge côté front.</li>
</ul>



<p class="wp-block-paragraph">C&rsquo;est pas révolutionnaire.<br />Mais c&rsquo;est exactement ce que j&rsquo;aurais dû faire depuis le début, et que je faisais jamais par flemme.</p>



<p class="wp-block-paragraph">L&rsquo;IA m&rsquo;a forcé à être <strong>structuré dès le départ</strong>, parce qu&rsquo;elle avait besoin de comprendre où mettre les fichiers.</p>



<p class="wp-block-paragraph">Et résultat : mon code est plus maintenable. Plus facile à relire. Moins bordélique.</p>



<h2 class="wp-block-heading">Les moments de frustration (parce qu&rsquo;il y en a)</h2>



<p class="wp-block-paragraph">Je ne vais pas mentir : il y a eu des phases où j&rsquo;ai eu envie de tout fermer et de retourner coder comme avant.</p>



<p class="wp-block-paragraph">Genre :</p>



<ul class="wp-block-list">
<li>Quand l&rsquo;IA me modifiait 4 fichiers alors que je lui avais demandé d&rsquo;en toucher qu&rsquo;un.</li>



<li>Quand elle « corrigeait » du JSX qui marchait très bien, merci.</li>



<li>Quand elle m&rsquo;inventait des hooks React qui n&rsquo;existent pas, et que je perdais 20 minutes à comprendre pourquoi ça plantait.</li>
</ul>



<p class="wp-block-paragraph">Il y a aussi ce moment bizarre où tu te rends compte que <strong>tu lis plus de code que tu n&rsquo;en écris</strong>.<br />Et parfois, ça frustre.<br />Parce que coder, c&rsquo;est pas juste produire du code. C&rsquo;est aussi réfléchir, tâtonner, trouver des solutions.</p>



<p class="wp-block-paragraph">Avec l&rsquo;IA, tu sautes une partie de ce process.<br />Des fois c&rsquo;est génial.<br />Des fois, tu te sens un peu… spectateur.</p>



<h2 class="wp-block-heading">Ce que je retiens après deux semaines</h2>



<p class="wp-block-paragraph"><strong>Windsurf, c&rsquo;est un outil de structure avant tout.</strong><br />Il te force à penser ton projet proprement, parce qu&rsquo;il a besoin de comprendre où il met les pieds.</p>



<p class="wp-block-paragraph"><strong>C&rsquo;est aussi un amplificateur de clarté mentale.</strong><br />Si tu ne sais pas vraiment ce que tu veux, il va partir en vrille.<br />Si tu es clair, il va vite.</p>



<p class="wp-block-paragraph"><strong>Mais ça reste un assistant, pas un dev.</strong><br />Tu ne peux pas lui laisser la main sur tout.<br />Surtout si tu fais du React/JSX un peu poussé, ou si tu touches à des trucs sensibles (attributs Gutenberg, save/edit, etc.).</p>



<p class="wp-block-paragraph">Le truc à retenir ?<br /><strong>L&rsquo;IA produit le squelette. Toi, tu mets la chair.</strong></p>



<p class="wp-block-paragraph">Et franchement, pour l&rsquo;instant, ça me va bien comme ça.</p>



<h2 class="wp-block-heading">Et toi, t&rsquo;en es où ?</h2>



<p class="wp-block-paragraph">Je suis curieux de savoir si d&rsquo;autres devs WordPress ont testé ce genre d&rsquo;outils sur des projets Gutenberg.<br />Parce que franchement, entre le JSX, les attributs, le <code>save</code> vs <code>edit</code>, et tout le bordel de la compilation&#8230; c&rsquo;est pas toujours évident de savoir ce qu&rsquo;on peut déléguer à l&rsquo;IA et ce qu&rsquo;il vaut mieux garder sous contrôle.</p>



<p class="wp-block-paragraph">Si t&rsquo;as des retours d&rsquo;expérience, des prompts qui marchent bien (ou qui partent complètement en couille), ou juste une opinion tranchée sur le fait de coder avec une IA, balance-moi ça.</p>



<p class="wp-block-paragraph">Parce qu&rsquo;au fond, on est tous un peu en train d&rsquo;apprendre ensemble comment bosser avec ces trucs-là.<br />Et autant partager les galères, non ?</p>
</div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
