<?xml version="1.0" encoding="UTF-8"?><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>webmaster &#8211; Pierre Lannes</title>
	<atom:link href="https://www.pierre-lannes.fr/tag/webmaster/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.pierre-lannes.fr</link>
	<description></description>
	<lastBuildDate>Tue, 22 Jul 2025 16:11:49 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://www.pierre-lannes.fr/wp-content/uploads/2025/06/cropped-Pierre-Lannes_LOGO_transparent-32x32.png</url>
	<title>webmaster &#8211; Pierre Lannes</title>
	<link>https://www.pierre-lannes.fr</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Refonte de mon site web en collaboration avec ChatGPT-4</title>
		<link>https://www.pierre-lannes.fr/refonte-de-mon-site-web-en-collaboration-avec-chatgpt-4/</link>
					<comments>https://www.pierre-lannes.fr/refonte-de-mon-site-web-en-collaboration-avec-chatgpt-4/#respond</comments>
		
		<dc:creator><![CDATA[Pierre]]></dc:creator>
		<pubDate>Fri, 04 Jul 2025 15:49:39 +0000</pubDate>
				<category><![CDATA[Applications et webmastering]]></category>
		<category><![CDATA[Ergonomie et design]]></category>
		<category><![CDATA[Prospective des usages]]></category>
		<category><![CDATA[conception]]></category>
		<category><![CDATA[intelligence artificielle]]></category>
		<category><![CDATA[webmaster]]></category>
		<guid isPermaLink="false">https://www.pierre-lannes.fr/?p=57864</guid>

					<description><![CDATA[Refonte intégrale de pierre‑lannes.fr réalisée en tandem avec ChatGPT‑4 : d’un ancien thème lourd à un site épuré, 100 % Gutenberg/FSE, migré SEO, plus léger et maintenable.]]></description>
										<content:encoded><![CDATA[
<p>Refondre un site web peut-être un projet d’ampleur lorsqu’on décide de repartir de zéro sur la conception mais sans abandonner son référencement et les anciens contenus qu&rsquo;on souhaite conserver.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Mon site web a <strong>29 ans</strong>. Ne vous moquez pas <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f605.png" alt="😅" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
</blockquote>



<p>Cette semaine j&rsquo;ai réalisé la&nbsp;<strong>refonte complète d&rsquo;ici présent mon site professionnel</strong>&nbsp;en choisissant de <strong>travailler main dans la main avec ChatGPT-4</strong>, l’IA conversationnelle d’OpenAI accessible via mon abonnement ChatGPT&nbsp;Plus. Dans ce billet, je vous propose de découvrir ce retour d’expérience en trois volets&nbsp;:</p>



<ol start="1" class="wp-block-list">
<li><strong>La collaboration avec ChatGPT-4 dans le design web</strong>&nbsp;– Quels avantages et inconvénients à impliquer une IA dans un projet de conception&nbsp;? Comment utiliser efficacement un outil comme ChatGPT tout en gardant le contrôle du projet&nbsp;?</li>



<li><strong>Les motivations et principes de la refonte</strong>&nbsp;– Pourquoi abandonner mon ancien site sous WordPress (thème&nbsp;Qode <em>Bridge</em> associé au page builder WPBakery) pour un site plus léger et résilient&nbsp;? Quels choix d’ergonomie et de design ont guidé cette refonte&nbsp;?</li>



<li><strong>La réalisation technique de la refonte</strong>&nbsp;– Comment nous avons reconstruit le site sur des bases saines&nbsp;: importation des contenus, nouveau thème WordPress minimaliste, optimisation du code et utilisation du nouvel éditeur de blocs (Gutenberg).</li>
</ol>



<p>Nous avons, ChatGPT-4 et moi collaboré aussi pour la rédaction du présent billet en faisant appels à nos mémoires. Même s&rsquo;il y aura quelques fois des éléments un peu technique, nous essaierons d&rsquo;avoir un ton accessible et pédagogique afin que chacun, même non spécialiste, comprenne les enjeux et les enseignements de cette refonte collaborative avec une IA. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<h2 class="wp-block-heading">Préambule&nbsp;: pour moi c&rsquo;est elle <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f60d.png" alt="😍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> et pas lui</h2>



<p>On s&rsquo;écrit, on se parle et j&rsquo;essaye de bien lui « prompter »*.</p>



<p>Pour oublier que le bilan énergétique de l&rsquo;IA est absolument catastrophique et exponentiel <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f621.png" alt="😡" class="wp-smiley" style="height: 1em; max-height: 1em;" />, j&rsquo;ai féminisée <strong>ChatGPT-4</strong> dans mes échanges <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f601.png" alt="😁" class="wp-smiley" style="height: 1em; max-height: 1em;" />. </p>



<h3 class="wp-block-heading">Modalités d&rsquo;interaction&nbsp;: texte et fichiers</h3>



<p>En terme de modalités d&rsquo;interactions, je passe la plupart du temps par des messages écrits pour échanger, mais aussi par l&rsquo;envoi direct de bouts de code, de fichiers, et d&rsquo;images parfois commentées, le résultat étant assez bluffant. Car bien souvent, <strong>ChatGPT-4 </strong>saura parfaitement analyser, en prenant en compte le contexte, une image que vous lui envoyez, par exemple une capture d&rsquo;écran d&rsquo;une fenêtre de paramétrage dans WordPress ou encore d&rsquo;un écran d&rsquo;affichage du contenu d&rsquo;une table de la base de données dans PhpMyAdmin.</p>



<h3 class="wp-block-heading">Mode vocal</h3>



<p>J&rsquo;utilise rarement l&rsquo;interaction vocale, sauf quand je suis en mobilité ou quand j&rsquo;ai des éléments bien en tête et que je sens que ça ira plus vite de le verbaliser plutôt que de l&rsquo;écrire. Et là aussi, le résultat est bluffant, autant dans la compréhension et le traitement du langage naturel, mais aussi dans le réalisme de la voix de ChatGPT (plusieurs choix possibles).</p>



<div class="wp-block-group is-layout-constrained wp-container-core-group-is-layout-b821fca1 wp-block-group-is-layout-constrained">
<div style="height:60px" aria-hidden="true" class="wp-block-spacer"></div>



<figure style="padding-right:0;padding-left:0" class="wp-block-video"><video height="720" style="aspect-ratio: 720 / 720;" width="720" controls src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sol.mp4"></video><figcaption class="wp-element-caption">Voix de <strong>Sol</strong> dans <strong>ChatGPT-4</strong></figcaption></figure>
</div>



<h3 class="wp-block-heading">L&rsquo;art de bien prompter*</h3>



<p>Un des principes à retenir quand on donne des instructions à une IA pour lui donner des tâches à réaliser, c&rsquo;est de bien réfléchir et de très bien formuler sa demande. C&rsquo;est une évidence et une nécessité.</p>



<p>(*) Un <strong>prompt</strong>, dans le contexte de l&rsquo;intelligence artificielle (IA), est une instruction ou un ensemble de directives données à une IA pour accomplir une tâche spécifique</p>



<h2 class="wp-block-heading">1. Concevoir un site web en tandem avec <span style="white-space: nowrap;">ChatGPT-4&nbsp;:</span> opportunités et limites</h2>



<p>L’idée de&nbsp;<strong>collaborer avec une intelligence artificielle</strong>&nbsp;pour refaire son site pourrait sembler futuriste pour certains, et pour d&rsquo;autres initiés rien de bien original, car cela fait déjà pas mal de temps que des développeurs travaillent avec l&rsquo;aide de l&rsquo;IA.</p>



<p>Concrètement, comment ChatGPT-4 m’a aidé&nbsp;? En simplifiant, j’ai utilisé ChatGPT comme un&nbsp;<strong>assistant virtuel</strong>&nbsp;capable de répondre à mes questions techniques, de proposer des solutions, analyser du code, aider à la planification et même de générer du code ou du texte à intégrer sur le site. Grâce à mon abonnement ChatGPT&nbsp;Plus, j’ai pu exploiter la puissance de la version GPT-4, bien plus avancée que les modèles génériques, pour bénéficier de réponses précises et contextualisées.</p>



<h3 class="wp-block-heading">➔ Un “co-pilote” pour le design et le développement&nbsp;</h3>



<p>ChatGPT-4 dispose d’une énorme base de connaissances couvrant le développement web, WordPress, le design UX, etc. Il peut ainsi fournir&nbsp;<em>en quelques secondes</em>&nbsp;des informations ou idées qu’il m’aurait fallu des heures à rechercher. </p>



<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Il convient déjà à ce stade de rester prudent. ChatGPT-4 peut parfois proposer des solutions obsolètes ou erronées qui ne tiennent pas compte de versions récentes d&rsquo;outils et applications. </p>



<p>L&rsquo;IA propose des solutions en s&rsquo;adaptant à votre niveau de connaissance. Par exemple, lors de la refonte, je lui ai demandé comment migrer proprement les contenus de mon ancien thème vers le nouveau en préférant l&rsquo;utilisation de requêtes SQL dans ma base de données&nbsp;: elle a su me lister les étapes et même m’expliquer comment convertir des types de contenus personnalisés via des requêtes SQL. C’est un gain de temps appréciable, car l’IA&nbsp;<strong>automatise en quelque sorte les tâches de recherche ou de cadrage répétitives</strong>, ce qui&nbsp;<em>«&nbsp;réduit considérablement le temps nécessaire pour créer un site web&nbsp;»</em>&nbsp;(Source&nbsp;<a href="https://www.advisuel.com/creation-site-internet/avantages-et-inconvenients-de-lutilisation-de-lia-dans-la-creation-de-site-internet/">advisuel.com</a>).</p>



<h3 class="wp-block-heading">➔ Les avantages concrets d’une IA comme ChatGPT-4</h3>



<h4 class="wp-block-heading">Gain de temps et productivité</h4>



<p>L’IA accélère de nombreuses tâches fastidieuses (recherche de code, synthèse de documentation, génération de texte), ce qui permet de se concentrer sur la vision globale du projet. En automatisant ces tâches répétitives ou techniques,&nbsp;<strong>on gagne en efficacité dans le processus de création</strong>&nbsp;<em>(Source&nbsp;: <a href="https://www.advisuel.com/creation-site-internet/avantages-et-inconvenients-de-lutilisation-de-lia-dans-la-creation-de-site-internet/#:~:text=%E2%80%93%20Gain%20de%20temps%20%3A,pour%20cr%C3%A9er%20un%20site%20web">advisuel.com</a>)</em>.</p>



<h4 class="wp-block-heading">Assistance 24h/24</h4>



<p>ChatGPT est disponible à toute heure pour répondre à une question ou fournir un avis. Pas besoin d’attendre la réponse d’un collègue développeur ou de fouiller des forums pendant des heures. Cette disponibilité a été précieuse pour itérer rapidement.</p>



<h4 class="wp-block-heading">Rappel des bonnes pratiques</h4>



<p>J&rsquo;ai de l’expérience en UX et ergonomie, et elle le sait. Je sais ce que je veux, mais ChatGPT joue un peu le rôle de&nbsp;<em>filet de sécurité</em> en faisant  des rappels, par exemple, au responsive design ou encore en vérifiant la conformité RGPD (ce qu’il a fait notamment pour l’intégration des polices locales, voir plus loin) ou encore en fournissant des&nbsp;<strong>check-lists</strong>&nbsp;et des conseils basés sur l’état de l’art.</p>



<h4 class="wp-block-heading">Booster de créativité</h4>



<p>Paradoxalement, échanger avec l’IA stimule aussi la réflexion. En proposant des idées de design ou de contenu, même génériques, ChatGPT m’a permis d’envisager des directions auxquelles je n’aurais pas forcément pensé spontanément. Il sert de&nbsp;<strong>moteur à idées</strong>&nbsp;en phase de brainstorming.</p>



<p>Je préfère travailler avec des humains. Mais je préfère travailler avec une IA plutôt que tout seul dans bien des cas, car cela nous impose de r<strong>éfléchir autrement</strong>, de <strong>reformuler</strong>, de se faire <strong>challenger</strong>, ce qui vient stimuler sa propre <strong>créativité</strong> et <strong>imagination</strong>.</p>



<p>Cependant,&nbsp;<strong>tout n’est pas rose</strong>&nbsp;dans la collaboration avec une IA et il faut connaître ses&nbsp;<strong>limites</strong>&nbsp;pour en tirer le meilleur parti.</p>



<h3 class="wp-block-heading">➔ Garder un œil critique&nbsp;: les limites et risques à anticiper</h3>



<h4 class="wp-block-heading">Pas de véritable créativité ni de sensibilité humaine, risques de standardisations</h4>



<p>ChatGPT, aussi avancé soit-il, reste un modèle statistique. Il&nbsp;<strong>manque de la créativité et de l’innovation qu’un designer humain peut apporter</strong>, et ses propositions peuvent manquer de personnalité. Il a tendance à donner des solutions génériques, déjà vues (puisqu’il s’entraîne sur de l’existant). Il faut donc éviter de prendre ses idées pour argent comptant, et toujours les adapter pour&nbsp;<em>se démarquer</em> et correspondre à son identité propre.</p>



<p><em>Des designs uniformes</em>&nbsp;– Lié au point précédent, un risque en s’appuyant trop sur l’IA est de se retrouver avec un site «&nbsp;formaté&nbsp;» comme d’autres. Par exemple, si ChatGPT propose une structure de page standard et qu’on l’applique telle quelle, on obtient quelque chose d’efficace mais de peu original.&nbsp;<strong>Plusieurs utilisateurs pourraient recevoir les mêmes suggestions</strong>, aboutissant à des sites au look similaire. L’intervention humaine est donc cruciale pour injecter de l’unicité et de la personnalité dans le design.</p>



<h4 class="wp-block-heading">Besoins de vérification et de contrôle. Le plus gros point noir à mon sens</h4>



<p>ChatGPT n’est pas infaillible. Il lui arrive de se tromper ou de proposer du code erroné, de s&rsquo;enfoncer dans des <strong>« tunnels » d&rsquo;erreurs en cascade, ce qui, tout d&rsquo;abord, peut être extrêmement chronophage (et donc à l&rsquo;inverse de ce dont on en attend) ou pire, mener à des catastrophes ou de la casse</strong>. Il peut affirmer des choses fausses, même en lui rappelant sans cesse de ne pas être affirmatif, d&rsquo;étayer&#8230;  <strong>De mon point de vue, c&rsquo;est son plus gros défaut</strong>. Dans notre collaboration, j’ai dû&nbsp;<strong>vérifier chaque recommandation technique</strong>&nbsp;avant de l’appliquer. Par exemple, l’IA m’a suggéré une requête SQL pour convertir mes anciens&nbsp;<em>posts</em>&nbsp;de portfolio en articles standards&nbsp;: j’ai dû la tester sur une copie de la base et ajuster certaines syntaxes.&nbsp;<strong>Aucune action n’a été faite aveuglément</strong>. L’IA est un excellent assistant, mais il faut garder le manche. En ergonomie, on parle d’<em><strong>automation surveillée</strong></em>, et c’est exactement cela&nbsp;: j’ai utilisé l’IA pour aller plus vite, tout en gardant constamment le contrôle humain et en validant chaque étape avec mon expertise. </p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>En ergonomie, bien avant l&rsquo;ère de l&rsquo;IA générative actuelle, nous connaissons depuis longtemps les problématiques de supervision de systèmes automatisés, de coopération entre les hommes et les machines. C&rsquo;est d&rsquo;ailleurs ici, depuis un peu plus d&rsquo;un siècle, que l&rsquo;ergonomie moderne est née&nbsp;: dans les cockpits et dans les salles de contrôle de systèmes complexes où des hommes supervisent des machines intégrant des automatismes.</p>
</blockquote>



<h4 class="wp-block-heading">Dépendance et perte de compétences</h4>



<p>Un écueil à éviter est de devenir&nbsp;<strong>dépendant</strong>&nbsp;de l’IA pour la moindre décision. Il était tentant parfois de demander à ChatGPT de rédiger directement un paragraphe de présentation ou de générer un style CSS complet. Je l’ai fait ponctuellement, mais toujours en retravaillant ensuite le résultat. Je reste conscient que&nbsp;<strong>s’appuyer excessivement sur l’IA peut faire régresser certaines compétences</strong>&nbsp;sur le long terme. Il est important de continuer à pratiquer et à décider par soi-même, sans quoi on risque de perdre la maîtrise technique ou rédactionnelle. ChatGPT doit rester un outil, pas un&nbsp;<em>remplaçant</em>&nbsp;de notre savoir-faire. <strong>Ce point ouvre un très vaste débat concernant les risques et les enjeux de l&rsquo;introduction de l&rsquo;IA sur les compétences et métiers</strong>. C&rsquo;était un des volets traité dans une expertise que j&rsquo;ai réalisé récemment pour un leader de l&rsquo;informatique européen.</p>


<div class=" content_cards_card content_cards_domain_www-pierre-lannes-fr">
			<div class="content_cards_image">
				<a class="content_cards_image_link" href="https://www.pierre-lannes.fr/analyse-et-conseil-strategique-sur-lintroduction-de-systemes-dintelligence-artificielle-dans-un-groupe-europeen-de-services-informatiques/" target="_blank">
					<img decoding="async" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/05/ia.png" alt="Analyse et conseil stratégique sur l&#039;introduction de systèmes d&#039;intelligence artificielle - Pierre Lannes">				</a>
		</div>
	
	<div class="content_cards_title">
		<a class="content_cards_title_link" href="https://www.pierre-lannes.fr/analyse-et-conseil-strategique-sur-lintroduction-de-systemes-dintelligence-artificielle-dans-un-groupe-europeen-de-services-informatiques/" target="_blank">
			Analyse et conseil stratégique sur l'introduction de systèmes d'intelligence artificielle - Pierre Lannes		</a>
	</div>
	<div class="content_cards_description">
		<a class="content_cards_description_link" href="https://www.pierre-lannes.fr/analyse-et-conseil-strategique-sur-lintroduction-de-systemes-dintelligence-artificielle-dans-un-groupe-europeen-de-services-informatiques/" target="_blank">
			<p>2025 – Dans le cadre d’une mission d’expertise habilitée, j’ai accompagné un grand groupe européen du secteur IT dans l’analyse et l’orientation stratégique de l’intégration de systèmes d’intelligence artificielle (IA). L’intervention a couvert les volets suivants&nbsp;: organisation, évolution de l’offre de services, transformation des processus internes, accompagnement des métiers (formation,…</p>
		</a>
	</div>
	<div class="content_cards_site_name">
		<img decoding="async" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/06/cropped-Pierre-Lannes_LOGO_transparent-32x32.png" alt="Pierre Lannes" class="content_cards_favicon"/>		Pierre Lannes	</div>
</div>


<p>En résumé, cette première partie de l’aventure montre que&nbsp;<strong>ChatGPT-4 a été un formidable allié</strong>, m’offrant support et gain de temps, mais qu’il a fallu l’utiliser&nbsp;<strong>de manière réfléchie</strong>. L’IA n’est pas (encore) une baguette magique capable de refaire votre site toute seule gratuitement&nbsp;– c’est votre expertise combinée à la sienne qui fait la différence. D’ailleurs, même les experts du domaine soulignent que&nbsp;<em>«&nbsp;l’IA est un excellent outil pour automatiser certaines étapes […]. Toutefois, elle ne remplace pas la créativité et la sensibilité humaines […] pour des sites plus personnalisés ou complexes, l’intervention humaine reste indispensable&nbsp;»</em>&nbsp;<em>(Source: &nbsp;<a href="https://www.advisuel.com/creation-site-internet/avantages-et-inconvenients-de-lutilisation-de-lia-dans-la-creation-de-site-internet/#:~:text=L%E2%80%99IA%20est%20un%20excellent%20outil,complexes%2C%20l%E2%80%99intervention%20humaine%20reste%20indispensable">advisuel.com</a>)</em>. Ce projet en collaboration avec ChatGPT illustre bien ce principe&nbsp;: j’ai pu accélérer et sécuriser ma refonte grâce à l’IA, tout en imprimant ma patte et en prenant chaque décision finale.</p>



<p>Dans la partie suivante, nous allons voir&nbsp;<strong>pourquoi</strong>&nbsp;j’ai entrepris cette refonte totale. Quels étaient les problèmes de l’ancienne version du site, et quels objectifs m’ont poussé à tout recommencer sur de nouvelles bases.</p>



<h2 class="wp-block-heading">2. Pourquoi refondre&nbsp;? Un site plus léger, résilient et épuré</h2>



<p>Mon site professionnel existait depuis de nombreuses années et avait connu plusieurs évolutions. Avant la refonte, il tournait sous WordPress avec un&nbsp;<strong>thème premium nommé Bridge (par Qode)</strong>, très populaire il y a quelques années. Ce thème était couplé au&nbsp;<strong>constructeur de pages WPBakery (anciennement Visual Composer)</strong>, un plugin de&nbsp;<em>page builder</em> visuel intégré. Si cette solution m’avait permis à l’époque de bâtir un site au design riche sans coder, elle montrait désormais ses limites. Voici les&nbsp;<strong>raisons principales qui m’ont poussé à abandonner l’ancienne version</strong>.</p>



<figure class="wp-block-image size-large"><img alt="" fetchpriority="high" decoding="async" width="1024" height="599" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/bridge-1024x599.jpg" alt="" class="wp-image-57891" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/bridge-1024x599.jpg 1024w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/bridge-300x175.jpg 300w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/bridge-768x449.jpg 768w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/bridge-1536x898.jpg 1536w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/bridge.jpg 1574w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Le thème Bridge, par Qode Interactive</figcaption></figure>



<h3 class="wp-block-heading">Un site devenu lourd et lent à charger</h3>



<p>Le thème Bridge est un thème «&nbsp;tout-en-un&nbsp;» offrant des dizaines de modèles et de fonctionnalités (sliders, animations, portfolio intégré, etc.), embarquant énormément de code même pour des fonctions que je n’utilisais pas. De même, WPBakery injecte de nombreux shortcodes et scripts pour chaque mise en page. Des tests comparatifs indiquent qu’en moyenne,&nbsp;<strong>un site construit avec un page builder peut charger jusqu’à 57&nbsp;% plus lentement que le même site réalisé avec l’éditeur Gutenberg natif</strong>&nbsp;<em>(<em>Source&nbsp;:</em> <a href="https://www.kalamuna.com/blog/gutenberg-vs-page-builders-how-choose-guide-mission-driven-organizations#:~:text=Page%20builders%20add%20a%20lot,than%20a%20Guttenberg%20powered%20site"><em>kalamuna.com</em>)</a></em>, l&rsquo;éditeur de blocs de WordPress. Cette différence de performance, due à l’excès de code embarqué, pénalise l’expérience utilisateur et potentiellement le référencement dans les moteurs de recherche. L’objectif de la refonte était donc&nbsp;<strong>d’alléger drastiquement le site</strong>&nbsp;pour améliorer sa rapidité.</p>



<h3 class="wp-block-heading">Une maintenance complexe et des mises à jour risquées</h3>



<p>Utiliser un thème lourd et un page builder rend les mises à jour de WordPress délicates. Chaque nouvelle version du CMS ou de PHP peut casser des éléments du thème Bridge ou de WPBakery. D’ailleurs, mettre à jour le thème Bridge nécessitait d’attendre des patchs du fournisseur, et WPBakery devait aussi être mis à jour séparément (parfois via une licence). Cela créait une&nbsp;<strong>dépendance vis-à-vis de l’éditeur du thème</strong>. De plus, la quantité d’extensions installées augmentait les risques de conflit ou de faille de sécurité. Je voulais&nbsp;<strong>un site plus résilient</strong>, c’est-à-dire capable de traverser les évolutions sans encombre, en s’appuyant un maximum sur le&nbsp;<strong>noyau WordPress natif</strong>&nbsp;(core) plutôt que sur des couches tierces. En passant à un site “allégé”, je réduis la surface d’attaque et les problèmes de compatibilité, et gagne en&nbsp;<strong>stabilité sur le long terme</strong>.</p>



<h3 class="wp-block-heading">Le verrouillage du contenu (“content lock-in”)</h3>



<p>C’est un problème bien connu des sites construits avec des page builders propriétaires. Concrètement,&nbsp;<strong>si vous désactivez WPBakery/Bridge, vos pages ne ressemblent plus à rien</strong>. Elles affichent une bouillie de shortcodes invraisemblables (<em>Source&nbsp;:</em> <a href="https://www.kalamuna.com/blog/gutenberg-vs-page-builders-how-choose-guide-mission-driven-organizations#:~:text=Page%20builders%20add%20a%20lot,than%20a%20Guttenberg%20powered%20site"><em>kalamuna.com</em>)</a>. En refondant le site avec les blocs WordPress (Gutenberg) qui sont maintenant intégrés au core, je m’assure que&nbsp;<strong>mes articles et pages resteront lisibles et éditables peu importe le thème actif</strong>. WordPress évolue désormais vers plus de standardisation avec les&nbsp;<em>block themes</em>, il était logique d’embrasser ce mouvement pour pérenniser mes contenus.</p>



<h3 class="wp-block-heading">Une interface d’édition contraignante pour le blog&nbsp;</h3>



<p>WPBakery permettait de jolis layouts, mais pour rédiger un simple article de blog, c’était overkill. L’éditeur était lourd, peu ergonomique pour du texte, avec des&nbsp;<em>shortcodes</em> partout dans le contenu en mode édition. À l’inverse, le nouvel éditeur WordPress (Gutenberg) offre une expérience bien plus fluide pour la rédaction&nbsp;: on voit directement à l’écran le rendu, on peut structurer avec des blocs (paragraphes, images, titres, etc.) de façon claire.</p>



<h3 class="wp-block-heading">Un design à moderniser et épurer</h3>



<p>Sur le plan visuel, mon ancien site n’était pas «&nbsp;moche&nbsp;», mais il commençait à dater. J’avais par exemple une&nbsp;<strong>colonne latérale (sidebar)</strong>&nbsp;avec des widgets, des effets de transition au scroll, etc., hérités de l’ère des blogs des années 2010. Aujourd’hui les tendances design penchent vers plus d’aération, de minimalisme, et surtout un usage majoritaire du mobile qui rend les sidebars souvent superflues. J’ai donc voulu&nbsp;<strong>simplifier l’interface</strong>&nbsp;: tout est centré sur le contenu principal, j’ai retiré les animations gadgets pour revenir à quelque chose de plus sobre. </p>



<p>En termes de style, j’ai opté pour un design très épuré qui&nbsp;<strong>met en valeur le contenu et la lecture</strong>, avec une palette restreinte respectant ma charte graphique mais sans fioritures. Cette épuration visuelle s’aligne avec mon positionnement professionnel (ergonomie, design centré sur l’utilisateur)&nbsp;: un site simple d’apparence, mais efficace pour communiquer l’essentiel.</p>



<p>En&nbsp;<strong>résumé</strong>, la refonte s’est imposée car&nbsp;<em>sous le capot</em>, il y avait&nbsp;<strong>trop de complexité et de lourdeur</strong>. Mon objectif était triple&nbsp;:&nbsp;<strong>alléger</strong>&nbsp;(pour la performance),&nbsp;<strong>standardiser</strong>&nbsp;(pour la maintenabilité et la durabilité), et&nbsp;<strong>simplifier</strong>&nbsp;(pour l’UX et l’édition de contenu). À l’arrivée, même si&nbsp;<em>en apparence</em>&nbsp;le site reste dans la continuité (mêmes contenus, même auteur <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f601.png" alt="😁" class="wp-smiley" style="height: 1em; max-height: 1em;" />), les changements techniques sont majeurs. J’ai pratiquement&nbsp;<em>divisé par deux</em>&nbsp;le nombre d’extensions actives, éliminé tout ce qui était spécifique au thème précédent, et adopté une solution WordPress beaucoup plus «&nbsp;pure&nbsp;» et pérenne.</p>



<p>Dans la partie suivante, entrons dans le&nbsp;<strong>concret</strong>&nbsp;: comment avons-nous procédé avec notre amie ChatGPT-4 pour réaliser cette refonte&nbsp;? Quelles étapes ont été suivies, et quelles solutions techniques mises en place pour atteindre ces objectifs&nbsp;?</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="765" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blog-old-1024x765.jpg" alt="Colonne latérale / sidebar widget (ancien site)" class="wp-image-57894" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blog-old-1024x765.jpg 1024w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blog-old-300x224.jpg 300w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blog-old-768x574.jpg 768w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blog-old.jpg 1229w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Old School&nbsp;: colonne latérale / sidebar widget (ancien site)</figcaption></figure>



<h2 class="wp-block-heading">3. Repartir sur des bases saines&nbsp;: réalisation technique de la refonte</h2>



<p>Une refonte complète implique généralement de&nbsp;<strong>réinstaller un nouveau site</strong>&nbsp;et d’y migrer les contenus de l’ancien. C’est exactement l’approche que j’ai suivie&nbsp;: nouveau serveur de test, installation fraîche de WordPress, puis import des données et mise en place du nouveau thème/configuration, avant de mettre en production. J’ai pu m’appuyer sur ChatGPT-4 pour planifier ce chantier et éviter d’oublier des étapes. Voici un aperçu détaillé des actions réalisées.</p>



<h3 class="wp-block-heading">Importation et conversion des contenus de l’ancien site</h3>



<h4 class="wp-block-heading">Export des données depuis l’ancien site</h4>



<p>Sur le site sous Bridge/WPBakery, j’ai exporté l’ensemble des contenus à l’aide des outils WordPress (fichiers XML d’export pour les articles, pages, menus, médias…). Cela m’a permis de récupérer mes textes et images. J’ai également veillé à exporter les réglages SEO&nbsp;: j’utilisais le plugin&nbsp;<strong>All In One SEO (AIOSEO)</strong>&nbsp;auparavant, qui stocke les balises méta (titres SEO, descriptions, etc.). Il était crucial de ne pas perdre ce travail de référencement lors de la migration.</p>



<h4 class="wp-block-heading">Import dans le nouveau site WordPress vierge</h4>



<p>J’ai installé un&nbsp;<strong>nouveau WordPress minimal</strong>&nbsp;sur un hébergement de test. Aucune extension superflue, juste le nécessaire. J’ai importé le fichier XML des contenus via l’outil d’import natif (ce qui a recréé tous mes articles, pages et médias dans la base). J’ai installé le plugin&nbsp;<strong>SEO Press</strong>&nbsp;(mon choix pour remplacer AIOSEO, plus moderne et léger) et utilisé sa fonction d’<strong>importation des métadonnées SEO</strong> depuis AIOSEO. Ainsi,&nbsp;<em>toutes mes pages ont conservé leurs optimisations SEO</em>&nbsp;(titres personnalisés, descriptions, textes ALT d’images…) après la migration, malgré le changement de plugin.</p>



<h4 class="wp-block-heading">Conversion de l’ancien portfolio en articles standards</h4>



<p>Sur mon ancien site, le thème Bridge utilisait un&nbsp;<strong>type de contenu personnalisé “Portfolio”</strong>&nbsp;pour présenter mes <a href="https://www.pierre-lannes.fr/category/portfolio/" data-type="category" data-id="141">Missions réalisées</a>. Plutôt que de conserver ce format propriétaire, j’ai décidé d’intégrer ces réalisations comme des articles WordPress, standards pour m’éviter d’installer un plugin de portfolio, faciliter et alléger l&rsquo;édition de ces contenus. Avec l’aide de ChatGPT, j’ai mis au point une&nbsp;<strong>requête SQL</strong>&nbsp;permettant de transformer ces entrées de portfolio en articles WordPress normaux. Techniquement, cela revient à changer la valeur&nbsp;post_type&nbsp;de chaque entrée&nbsp;portfolio&nbsp;en&nbsp;post&nbsp;dans la table de la base de données, et à remapper les taxonomies associées (les catégories/étiquettes du portfolio ont été converties en catégories du blog). Cette manipulation s’est bien déroulée et m’a fait gagner un temps fou&nbsp;: plutôt que de copier-coller chaque ancien projet manuellement, tout a été converti en une opération.</p>



<h4 class="wp-block-heading">Nettoyage de la base de données</h4>



<p>Après ces opérations, j’ai passé un petit coup de balai dans la base WordPress. J’ai supprimé les tables laissées par l’ancien thème et ses plugins (par exemple les tables spécifiques à Bridge ou WPBakery s’il y en avait, ainsi que des entrées&nbsp;wp_options&nbsp;obsolètes). J’ai aussi vérifié qu’il n’y avait pas d’erreurs d’encodage, et reconstruit les permaliens. L’idée était d’avoir&nbsp;<strong>une base propre et allégée</strong>, sans vestiges du passé, afin d’assurer les meilleures performances et éviter tout conflit. Ce nettoyage s’apparente à un&nbsp;<em>démarrage frais</em>&nbsp;: on élimine tout le “gras” accumulé.</p>



<p>À ce stade, sur le nouveau site,&nbsp;<strong>tous mes contenus étaient en place</strong>&nbsp;(articles, pages, images, menus) mais avec le thème WordPress par défaut et aucune personnalisation visuelle. J’avais donc un site fonctionnel mais très brut visuellement. La prochaine étape a été de construire le&nbsp;<strong>nouveau design minimaliste</strong>&nbsp;et la structure du site selon les principes définis.</p>



<figure class="wp-block-image size-full is-resized"><img decoding="async" width="887" height="902" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blcockbase.jpg" alt="Blockbase Theme" class="wp-image-57897" style="width:1000px;height:auto" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blcockbase.jpg 887w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blcockbase-295x300.jpg 295w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/blcockbase-768x781.jpg 768w" sizes="(max-width: 887px) 100vw, 887px" /><figcaption class="wp-element-caption">Le thème <a href="https://wordpress.org/themes/blockbase/" target="_blank" rel="noreferrer noopener nofollow">WordPress <strong>Blockbase</strong> par <strong>Automattic</strong></a></figcaption></figure>



<h3 class="wp-block-heading">Minimalisme, thème enfant et Full Site Editing</h3>



<h4 class="wp-block-heading">De Blocksy à Blockbase&nbsp;: pourquoi ce choix&nbsp;?</h4>



<p>Au début du projet, j’ai testé le thème <strong>Blocksy</strong> — moderne et riche en options —, mais je me suis vite rendu compte qu’il <strong>regorgeait encore de fonctionnalités non indispensables</strong> (scripts dynamiques, système de hooks propriétaire, panneau d’options très lourd). Je cherchais quelque chose de <strong>plus minimaliste et 100 % axé Full Site Editing (FSE)</strong> l’éditeur de site complet introduit dans WordPress 5.9&nbsp;<em>(Source&nbsp;:&nbsp;<a href="https://wpmarmite.com/en/gutenberg-vs-page-builder/#:~:text=2022,9">wpmarmite.com</a>)</em>.&nbsp;<em>Pour faire simple, le FSE permet d’éditer non seulement le contenu des pages, mais aussi le header, footer, modèles d’articles… le tout depuis l’interface WordPress avec des blocs, sans écrire une ligne de code.</em></p>



<p>C’est ainsi que je me suis orienté vers <strong>Blockbase</strong>, un thème parent FSE  ultra minimaliste fourni et maintenu par les développeurs de WordPress (société Automattic). Blockbase fournit&nbsp;:</p>



<ul class="wp-block-list">
<li>Un <strong>socle ultra-léger</strong> (quelques templates et un fichier <code>theme.json</code> concis) offrant une&nbsp;<strong>bonne base “minimum syndical”</strong>&nbsp;pour construire sa propre identité visuelle,</li>



<li><strong>Aucun framework JS supplémentaire</strong>,</li>



<li>La garantie d’une <strong>compatibilité native</strong> avec l’éditeur de site WordPress.</li>
</ul>



<p>J’ai donc créé <strong>blockbase-child</strong>, mon thème enfant, pour surcharger les styles (<code>style.css</code>), embarquer mes polices locales et ajouter quelques fonctions PHP mineures sans toucher au code du thème parent (ce qui assure qu’on pourra mettre à jour le parent sans perdre nos modifications). Dans mon thème enfant, j’ai surtout travaillé sur le fichier&nbsp;style.css&nbsp;pour y définir mes styles personnalisés&nbsp;:</p>



<ul class="wp-block-list">
<li>Couleurs exactes de ma charte, choix typographiques, marges et mises en page spécifiques</li>



<li>Comme dans la version précédente de mon site, il y a 2 styles&nbsp;: un pour le mode clair, et un pour le mode sombre&nbsp;: ils se chargent automatiquement en fonction de la configuration du système de l&rsquo;utilisateur consultant le site</li>
</ul>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="638" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/clair-1024x638.png" alt="Mode Clair" class="wp-image-57874" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/clair-1024x638.png 1024w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/clair-300x187.png 300w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/clair-768x478.png 768w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/clair-1536x957.png 1536w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/clair-2048x1276.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Mode Clair</figcaption></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="639" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sombre-1024x639.png" alt="Mode sombre" class="wp-image-57875" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sombre-1024x639.png 1024w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sombre-300x187.png 300w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sombre-768x479.png 768w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sombre-1536x959.png 1536w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sombre-2048x1279.png 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Mode sombre</figcaption></figure>
</div>
</div>



<ul class="wp-block-list">
<li><strong>Intégration des polices de caractères en local</strong>&nbsp;plutôt que de les appeler depuis l’extérieur. Cela présente plusieurs avantages&nbsp;: aucune requête externe n’est nécessaire pour les polices, ce qui&nbsp;<strong>améliore les temps de chargement et l’indépendance du site vis-à-vis de services tiers</strong>&nbsp;(Source&nbsp;:&nbsp;<a href="https://blog.raidboxes.io/en/online-marketing/google-fonts-wordpress/#:~:text=,the%20display%20of%20your%20website">blog.raidboxes.io</a>), et c’est également bien plus respectueux du RGPD&nbsp;: plus de transfert de l’IP du visiteur vers Google Fonts pour charger la police de caractère.</li>



<li>En plus du CSS, j’ai défini un fichier de fonctions du thème enfant pour de légers ajustements. L’ensemble de ces personnalisations m’a permis d’atteindre&nbsp;<strong>un design épuré sur mesure</strong>&nbsp;: un fond clair, une typo professionnelle, un rendu compatible sur mobile et desktop, le tout&nbsp;<strong>sans l’encombrement d’un page builder</strong>.</li>
</ul>



<h4 class="wp-block-heading">Un design épuré et centré contenu</h4>



<p>Comme évoqué précédemment, j’ai supprimé les éléments visuels superflus. Concrètement, le site adopte désormais une&nbsp;<strong>mise en page sur une seule colonne</strong>&nbsp;(plus de sidebar latérale). Le menu de navigation est en haut de page de façon classique ainsi que le pied de page. Les articles de blog s’affichent avec une largeur de texte confortable pour la lecture, sans distractions autour. J’ai également limité la palette de couleurs aux tons de ma charte, sans ajouter d’effets graphiques inutiles.&nbsp;<strong>Moins d’effets = plus de clarté</strong>&nbsp;pour le lecteur. Les quelques illustrations présentes servent le contenu. Cette sobriété rend le site non seulement plus élégant et lisible, mais contribue aussi aux performances (moins d’images de déco, moins de scripts d’animation, etc.). C’est en phase avec le courant du&nbsp;<em>minimalisme web</em>&nbsp;dont l’un des bénéfices est justement d’<strong>accélérer le site et d’améliorer le SEO en réduisant le temps de chargement</strong>&nbsp;(Source&nbsp;: <a href="https://crocoblock.com/blog/best-minimalist-wordpress-themes/#:~:text=Key%20advantages%20of%20minimalist%20themes%3A,seamless%20viewing%20across%20all%20devices">crocoblock.com</a>).</p>



<h4 class="wp-block-heading">Utilisation du système de blocs (Gutenberg) et du Full Site Editing</h4>



<p>L’une des évolutions majeures de WordPress ces dernières années est l’éditeur Gutenberg et le FSE. Je souhaitais capitaliser sur cet outil pour&nbsp;<strong>faciliter la gestion du site à l’avenir</strong>. Concrètement, après avoir activé mon thème enfant <strong>Blockbase</strong>, je suis passé par l’<strong>éditeur de site</strong> (Apparence &gt; Éditeur dans l’admin WP) pour personnaliser mes gabarits&nbsp;: articles de blog, page d’accueil, de contact, etc., en assemblant des&nbsp;<em>blocs</em>&nbsp;(en-tête, titre du site, liste des derniers articles, zone de contenu, formulaire de commentaire, pied de page…). C’est un plaisir de pouvoir faire cela&nbsp;<strong>visuellement, en direct</strong>, sans toucher au PHP&nbsp;: WordPress affiche une prévisualisation du site et on glisse/dépose les blocs souhaités. Et si un jour je veux changer la disposition d’un élément (par ex. placer la date sous le titre ou inversement), je peux le faire en 3 clics dans cet éditeur de site.</p>



<p>En parallèle,&nbsp;<strong>pour la rédaction au quotidien</strong>, j’utilise maintenant pleinement l’éditeur de blocs Gutenberg. Plus besoin de WPBakery&nbsp;: quand je créé un nouvel article, j’ai une page blanche où chaque paragraphe, image ou citation est un bloc qu’on peut styliser et déplacer facilement. C’est&nbsp;<strong>bien plus intuitif pour un utilisateur</strong>&nbsp;lambda qu’un builder à interface complexe. D’ailleurs, en n’ayant plus qu’un seul système (les blocs natifs) à maîtriser, je simplifie la formation et la maintenance&nbsp;:&nbsp;<em>«&nbsp;Parce que Gutenberg fait partie de WordPress, il suffit de former les éditeurs de contenu sur un seul système, pas deux&nbsp;»</em>&nbsp;note un expert&nbsp;<em>(Source&nbsp;:&nbsp;<a href="https://www.kalamuna.com/blog/gutenberg-vs-page-builders-how-choose-guide-mission-driven-organizations#:~:text=2.%20,training%20time">kalamuna.com</a>)</em>. C’est exactement ce que je recherchais&nbsp;:&nbsp;<strong>unifier l’expérience d’édition</strong>.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="533" src="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/gutemberg-1024x533.jpg" alt="Gutenberg Full Site Editing" class="wp-image-57901" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/gutemberg-1024x533.jpg 1024w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/gutemberg-300x156.jpg 300w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/gutemberg-768x400.jpg 768w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/gutemberg-1536x799.jpg 1536w, https://www.pierre-lannes.fr/wp-content/uploads/2025/07/gutemberg.jpg 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">L&rsquo;éditeur de blocs Gutenberg intégré dans WordPress</figcaption></figure>



<h4 class="wp-block-heading">Réduction drastique des extensions</h4>



<p>Qui dit simplicité dit aussi limiter le nombre de plugins. J’ai pu supprimer plusieurs extensions liées à l’ancien thème (slider, portfolio, page builder…). À présent, le site tourne avec&nbsp;<strong>moins d&rsquo;extensions</strong>&nbsp;: essentiellement&nbsp;<strong>SEOPress pour le référencement</strong>,&nbsp;<strong>cache/performance</strong>&nbsp;(pour servir les pages encore plus vite aux visiteurs, bien que le site soit déjà rapide, un cache ne fait pas de mal),&nbsp;2 extensions pour la <strong>sécurité</strong>, une autre pour le <strong>formulaire de contact</strong>&nbsp;; globalement, une dizaine d&rsquo;extensions, contre plus d&rsquo;un quinzaine auparavant. Chaque plugin en moins, c’est du code en moins, donc potentiellement des gains de performance et moins de risques de faille. C’est en cela que le site est plus&nbsp;<strong>léger et maintenable</strong>&nbsp;: la plupart des fonctions sont assurées soit par WordPress lui-même, soit par quelques dizaines de lignes dans le thème enfant, plutôt que par de grosses extensions.</p>



<h4 class="wp-block-heading">Une extension « maison » développée avec ChatGPT-4</h4>



<p>L&rsquo;interface de recherche (icône loupe en haut à droite de ce site) lance une fenêtre modale pleine page pour faire une recherche sur le site en utilisant les fonctionnalités standards intégrées à WordPress. Comme je voulais quelque chose de spécifique et de très léger, j&rsquo;ai fait du sur mesure avec ChatGPT-4 qui m&rsquo;a développé une grande partie du code. Je lui ai fait faire quelques ajustements et j&rsquo;ai codé le style CSS moi-même.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">En conclusion</h2>



<p>Cette refonte de mon site professionnel en collaboration avec ChatGPT-4 a été une expérience enrichissante. Le résultat est à la hauteur de mes attentes&nbsp;: un site à l’apparence&nbsp;<em>sobre et professionnelle</em>, qui cache une&nbsp;<strong>architecture modernisée</strong>&nbsp;et épurée. J’y ai gagné en&nbsp;<strong>vitesse</strong>&nbsp;(le site se charge beaucoup plus vite qu’avant), en&nbsp;<strong>flexibilité</strong> (je peux faire évoluer la mise en page ou les contenus très facilement grâce aux blocs), et en&nbsp;<strong>sérénité</strong>&nbsp;(moins de bugs à craindre lors des mises à jour, un codebase allégé que je comprends de A à Z).</p>



<p>Travailler avec ChatGPT-4 m’a clairement fait gagner du temps et m’a aidé à éviter bien des écueils techniques, tout en me permettant d’apprendre de nouvelles astuces au passage. Cette&nbsp;<strong>collaboration humain + IA</strong>&nbsp;illustre bien comment on peut, dès aujourd’hui, mener un projet web de bout en bout en tirant parti de l’intelligence artificielle sans jamais perdre la main sur les décisions. Les avantages sont nombreux – assistance, inspiration, efficacité – à condition de rester maître du processus et de ne pas tomber dans la facilité de tout déléguer aveuglément.</p>



<p>Si vous envisagez vous aussi de refondre votre site (ou tout autre projet de design), je ne peux que vous conseiller d’essayer cet accompagnement d’un nouveau genre. Bien utilisé,&nbsp;<strong>ChatGPT-4 peut être un véritable catalyseur</strong>&nbsp;pour vos projets numériques, vous permettant d’aller plus loin et plus vite, tout en enrichissant votre propre expertise. Et qui sait, vous aurez peut-être, comme moi, envie de raconter cette expérience innovante sur votre blog <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" />&nbsp;!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pierre-lannes.fr/refonte-de-mon-site-web-en-collaboration-avec-chatgpt-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://www.pierre-lannes.fr/wp-content/uploads/2025/07/sol.mp4" length="217892" type="video/mp4" />

			</item>
		<item>
		<title>Faire fonctionner le composant de newsletter YaNC sous Joomla! 1.5</title>
		<link>https://www.pierre-lannes.fr/composant-newsletter-yanc-sous-joomla-1-5/</link>
					<comments>https://www.pierre-lannes.fr/composant-newsletter-yanc-sous-joomla-1-5/#comments</comments>
		
		<dc:creator><![CDATA[Pierre]]></dc:creator>
		<pubDate>Sat, 26 Sep 2009 09:58:39 +0000</pubDate>
				<category><![CDATA[Applications et webmastering]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[composants Joomla!]]></category>
		<category><![CDATA[Joomla!]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[webmaster]]></category>
		<guid isPermaLink="false">http://www.pierre-lannes.fr/?p=1723</guid>

					<description><![CDATA[Ce billet est une compilation des différentes bidouilles et hacks qui m'ont permis de faire tourner parfaitement le composant de newsletter / e-mailing  YaNC sous Joomla! 1.5 sur mes sites webs (sachant que YaNC, dans sa version actuelle, ne fonctionne qu'avec Joomla! 1.0)]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-table"><table><tbody><tr><td><img alt="" loading="lazy" decoding="async" class="aligncenter size-full wp-image-22793" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc.jpg" alt="" width="150" height="102"></td><td><img loading="lazy" decoding="async" class="aligncenter wp-image-1705 size-full" title="Joomla_15" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/Joomla_15-1-2.jpg" alt="Joomla! 1.5 Logo" width="300" height="56"></td></tr></tbody></table></figure>



<p>Ce billet est une compilation des différentes bidouilles et hacks qui m&rsquo;ont permis de faire tourner parfaitement le composant de newsletter / e-mailing&nbsp;<strong> <a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><strong>YaNC</strong></a></strong> sous <strong>Joomla! 1.5 </strong>sur mes sites webs (sachant que <strong>YaNC</strong>, dans sa version actuelle, ne fonctionne qu&rsquo;avec <strong>Joomla! 1.0</strong>)</p>



<p>Les modifications mentionné ici ont permis de faire fonctionner <strong>YaNC </strong>sur 2 sites sous <strong>Joomla! 1.5</strong> chez 2 hébergeurs différents&nbsp;:</p>



<ul class="wp-block-list">
<li>Le site du <strong>DODO Surf Club</strong>&nbsp;sur un hébergement mutualisé chez <strong><a href="https://www.ovh.com/" target="_blank" rel="noopener noreferrer">OVH</a></strong>&nbsp;PHP 5.2.10</li>



<li>Le site des <a href="https://www.penibles.com"><strong>Pénibles de Mauvezin</strong></a>&nbsp;sur un un serveur dédié chez <strong><a href="https://www.haisoft.fr/" target="_blank" rel="noopener noreferrer">Haisoft</a></strong>&nbsp;PHP 5.1.6</li>
</ul>



<h2 class="wp-block-heading">Yanc, un excellent système de Newsletter pour Joomla!</h2>



<p>Le composant <a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><strong>YaNC</strong></a>, considéré par beaucoup comme le meilleur système de <strong>Newsletter</strong> pour Joomla!, n&rsquo;évolue plus 2 ans. La version <strong><a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><span style="font-weight: normal;">disponible au téléchargement</span></a> </strong><span style="font-weight: bold;">sur le site du développeur</span> n&rsquo;est pas compatible avec <strong>Joomla 1.5</strong>, et ce malgré l&rsquo;activation du plugin <strong><a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer">Legacy Mode</a>. </strong>Ce plugin rend possible l&rsquo;installation et le fonctionnement sous <strong>Joomla! 1.5</strong> de certains composants, modules, etc. de l’ancien <strong>Joomla! 1.0. </strong>(le <strong>support de la branche 1.0 de Joomla!</strong> a été <strong>abandonné </strong><a href="https://community.joomla.org/blogs/leadership/981-an-end-of-an-era.html" target="_blank" rel="noopener noreferrer">officiellement le 22 juillet dernier</a>).</p>



<p>Le développeur de <strong>YaNC</strong> semble se décider à travailler sur une version 2 de son composant, pour <strong>Joomla! 1.5</strong>. Mais la <strong><a class="snap_shot" href="https://fr.wikipedia.org/wiki/Roadmap" target="_blank" rel="noopener noreferrer">roadmap</a></strong> reste incertaine. On peut se replier vers certains <strong>composants</strong> alternatifs avec des capacités d&rsquo;import d&rsquo;autres composants de Newsletter, comme <strong>Acajoom</strong>, mais en ce qui me concerne étant habitué à <a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><strong>YaNC</strong></a>&nbsp;j&rsquo;ai essayé (et réussi) à le faire tourner sur <strong>Joomla! 1.5</strong>.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="900" height="499" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_sc_big-1-2.jpg" alt="Yanc admin panel in Joomla! CMS big screenshot" class="wp-image-1707" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_sc_big-1-2.jpg 900w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_sc_big-1-2-300x166.jpg 300w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_sc_big-1-2-768x426.jpg 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure>



<h2 class="wp-block-heading">Les fonctionnalités de YaNC</h2>



<ul class="wp-block-list">
<li>Multilingue</li>



<li>Gestion de plusieurs Newsletters</li>



<li>Possibilité de personnaliser et gérer plusieurs templates pour les e-mails</li>



<li>Gestion de plusieurs listes d&rsquo;abonnés (e-mails) avec fonction d&rsquo;import/export de listes (formats XML, CSV)</li>



<li>Gestion de l&rsquo;association d&rsquo;un abonné avec un compte utilisateur <strong>Joomla! / <a href="https://extensions.joomla.org/extension/clients-a-communities/communities/community-builder/" target="_blank" rel="noopener noreferrer">Community Builder</a></strong></li>



<li>Possibilités pour les visiteurs du site de s&rsquo;inscrire à une newsletter depuis un module ou une page</li>



<li>Possibilité pour un utilisateur du site de gérer ses inscriptions aux newsletters depuis la modification de son profil <strong><a href="https://extensions.joomla.org/extension/clients-a-communities/communities/community-builder/" target="_blank" rel="noopener noreferrer">Community Builder</a></strong></li>



<li>Possibilité pour les administrateurs de créer, supprimer, confirmer, bloquer des abonnés</li>



<li>Possibilité d&rsquo;envois automatique d&rsquo;e-mails de confirmation d&rsquo;inscription/désinscription aux abonnés et à l&rsquo;administrateur</li>



<li>Possibilité de donner accès aux archives des emails aux visiteurs et utilisateurs du site dans le front-end</li>



<li>Gestion des niveaux d&rsquo;accès <strong>Joomla!</strong></li>



<li>Possibilité de renvoyer des éléments d&rsquo;archives depuis le site pour tout visiteur ou utilisateur</li>



<li>Envoi d&rsquo;e-mails aux formats HTML et texte</li>



<li>Gestion des éditeurs <strong>WYSIWYG</strong> de <strong>Joomla! </strong>(TinyMCE, JCE, etc.)</li>



<li>Insertion d&rsquo;images et de pièces jointes dans les e-mails</li>



<li>Inclusion de lien de désabonnement</li>



<li>Enregistrement et affichage d&rsquo;aperçu avant d&rsquo;envoyer l&rsquo;e-mailing</li>



<li>Indicateur de progression d&rsquo;envoi de Newsletter en AJAX</li>



<li>Planification des envois automatiques</li>



<li>Différents moyens d&rsquo;envoyer des mails: PHP mail, sendmail ou SMTP</li>



<li>Statistiques sur la lecture des mails par les abonnés et les clicks sur les liens contenus dans les e-mails</li>
</ul>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="900" height="559" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_admin_sc_big-1-2.jpg" alt="Yanc admin panel in Joomla! CMS big screenshot" class="wp-image-1729" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_admin_sc_big-1-2.jpg 900w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_admin_sc_big-1-2-300x186.jpg 300w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_admin_sc_big-1-2-768x477.jpg 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure>



<h2 class="wp-block-heading">Les différents hacks et bidouilles à opérer pour faire tourner YaNC sous Joomla! 1.5</h2>



<h3 class="wp-block-heading">Installer la version « trunk » du 20 juin 2008</h3>



<p>Pour installer <strong>Yanc</strong>! et le faire fonctionner il faudra que vous activiez le plugin <a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer">Legacy Mode</a> dans votre <strong>Joomla! 1.5</strong>.</p>



<p>Il vous faudra d&rsquo;abord récupérer une version « tronquée » du composant YaNC réalisée par le développeur lui-même. Comme c&rsquo;est la galère pour récupérer cette fameuse version, je vous la mets à disposition ici&nbsp;:</p>


<p>[download id= »2&Prime;]</p>



<p>Installation d&rsquo;un fichier de langue française complet et paramétrage de l&rsquo;affichage des accents</p>



<p>La version de langue française dans le package d&rsquo;installation est incomplet, et incompatible avec le format d&rsquo;affichage <a class="snap_shot" href="https://fr.wikipedia.org/wiki/UTF-8" target="_blank" rel="noopener noreferrer">UTF-8</a> (configuration de caractère standard pour des sites en PHP 5.x). Ci-dessous un fichier complet au bon format, à déposer dans le répertoire /administrator/components/com_yanc/language&nbsp;:</p>


<p>[download id= »1&Prime;]</p>



<p>Dans le panneau d&rsquo;administration du composant, il faudra également, dans la configuration du composant, saisir la valeur « UTF-8 » dans le champ « Encodage du message », pour éviter des titres d&#8217;emails illisibles.</p>



<h3 class="wp-block-heading">Correction du problème d&rsquo;apparition d&rsquo;Antislash (stripslashes) dans les textes</h3>



<p><strong>Le problème&nbsp;:</strong><strong> Yanc</strong>! a la fâcheuse tendance à rajouter un « \ » avant les apostrophes dans les textes a chaque enregistrement de données.</p>



<p><strong>Source du hack </strong>: fix for problem in administrator when magic quotes are switched on</p>



<p>Dans les fichiers letter.php, mailing.php et subscriber.php (répertoire administrator/components/com_yanc/classes) au niveau de la fonction save()&nbsp;:</p>



<p>rajouter le code:</p>



<pre class="wp-block-preformatted">$_POST = yanc::fix_magic_quotes($_POST);</pre>



<p>au dessus de la ligne&nbsp;:</p>



<pre class="wp-block-preformatted">$row-&gt;bind($_POST);</pre>



<p>ce qui donne donc&nbsp;:</p>



<pre class="wp-block-preformatted">$_POST = yanc::fix_magic_quotes($_POST);
$row-&gt;bind($_POST);</pre>



<p>Dans le fichier /administrator/components/com_yanc/<strong>yanc.class.php</strong>, rajoutez la fonction suivante dans la classe « yanc »&nbsp;:</p>



<p>Juste après&nbsp;:</p>



<pre class="wp-block-preformatted">class yanc {</pre>



<p>rajouter&nbsp;:</p>



<pre class="wp-block-preformatted">function fix_magic_quotes($a)
{
if(!get_magic_quotes_gpc())
return $a;
foreach($a as $key=&gt;$val)
if(!is_array($val))
$a[$key] = stripslashes($val);
return $a;
}</pre>



<h3 class="wp-block-heading">Intégration avec le composant Community Builder</h3>



<p>Le composant <a href="https://extensions.joomla.org/extension/clients-a-communities/communities/community-builder/" target="_blank" rel="noopener noreferrer">Community Builder</a> intègre un plugin « YaNC 1.4b3 Newsletters » qui permet à un utilisateur, lors de son inscription sur le site ou lors de la modification de son profil, de gérer son inscription aux Newsletters auxquelles il a accès sur le site. Pour faire fonctionner cela sous Joomla! 1.5, il faut faire quelques modifications.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="490" height="319" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_cb_tab-1-2.jpg" alt="Yanc Tab in Community Builder admin panel in Joomla! CMS screenshot" class="wp-image-1718" title="yanc_cb_tab" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_cb_tab-1-2.jpg 490w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/yanc_cb_tab-1-2-300x195.jpg 300w" sizes="auto, (max-width: 490px) 100vw, 490px" /></figure>



<p><strong>Source du hack numéro 1 </strong>: Yanc 1.5x &#8211; Compatible with Joomla 1.5.3?</p>



<p>Dans /components/com_yanc/<strong>yanc.html.php</strong></p>



<p>Ramplacer (à la ligne line 73 ou 99 environ&nbsp;?)&nbsp;:</p>



<pre class="wp-block-preformatted">$my-&gt;load( );</pre>



<p>par</p>



<pre class="wp-block-preformatted">$my = &amp; JFactory::getUser();</pre>



<p><strong>Source du hack numéro 2&nbsp;:</strong> <a href="https://www.joomlapolis.com/forum/70/84403" target="_blank" rel="noopener noreferrer">Getting YaNC Working With CB 1.2 RC4</a></p>



<p>Modifier le fichier /administrator/components/com_yanc/classes/<strong>subscriber.php</strong></p>



<p>Sous la fonction&nbsp;:</p>



<pre class="wp-block-preformatted">confirm($hash)</pre>



<p>changer la ligne&nbsp;:</p>



<pre class="wp-block-preformatted">echo "&lt;script&gt; 
alert('". Y_FRONT_SUBSCRIPTION_CONFIRMED . "'); 
document.location.href='index.php?option=$option&amp;Itemid=$Itemid';
&lt;/script&gt;\n";</pre>



<p>par&nbsp;:</p>



<pre class="wp-block-preformatted">echo "&lt;script&gt; 
alert('". Y_FRONT_SUBSCRIPTION_CONFIRMED . "'); 
document.location.href='index.php?view=article&amp;id=129';
&lt;/script&gt;\n";</pre>



<h3 class="wp-block-heading">Correction du problème d&rsquo;affichage des pages dans le front-end</h3>



<p><strong>Le problème&nbsp;:</strong> lorsqu&rsquo;on veut accèder à une archive d&rsquo;e-mail ou utiliser le fonction de transfert d&rsquo;une archive, l&rsquo;affichage pête complétement la page /template du site.</p>



<p><strong>La solution </strong>: dans le fichier yanc.html.php, la chaine&nbsp;&nbsp;&amp;no_html=1 doit être supprimée</p>



<p>Pour cela, dans le fichier</p>



<p>Ramplacer&nbsp;:</p>



<pre class="wp-block-preformatted">sefRelToAbs('index2.php?option=' 
. $option . '&amp;act=archive&amp;task=view&amp;cid=' 
. $mailing-&gt;id . '&amp;Itemid=' . $Itemid . 
'&amp;no_html=1');</pre>



<p>Par&nbsp;:</p>



<pre class="wp-block-preformatted">sefRelToAbs('index2.php?option=' 
. $option . '&amp;act=archive&amp;task=view&amp;cid=' 
. $mailing-&gt;id . '&amp;Itemid=' 
. $Itemid);</pre>



<h3 class="wp-block-heading">Correction du problème des boutons inactifs dans le front-end</h3>



<p><strong>Le problème&nbsp;:</strong> les boutons accessibles dans le front-end du site ne fonctionnent pas&nbsp;: confirmation d&rsquo;abonnement à une newsletter, confirmation d&rsquo;envoi d&rsquo;un e-mail archivé à un ami, etc.</p>



<p><strong>La solution&nbsp;:</strong> rajouter le script <em>joomla.javascript.js</em> dans la balise <em>head </em>du fichier <em>index.php</em> de votre template actif&nbsp;:</p>



<pre class="wp-block-preformatted">&lt;head&gt;
&lt;jdoc:include type="head" /&gt;
&lt;script src="&lt;?php echo $this-&gt;baseurl&nbsp;?&gt;/includes/js/joomla.javascript.js" type="text/javascript"&gt;&lt;/script&gt;
(...)</pre>



<h3 class="wp-block-heading">Enlever un petit message d&rsquo;erreur dans le front-end lors de la visualisation d&rsquo;une archive d&rsquo;e-mail en plein écran</h3>



<p><strong>Le problème </strong>: j&rsquo;ai pu constater l&rsquo;apparition d&rsquo;un petit message d&rsquo;erreur en haut de page lors de la visualisation d&rsquo;une archive d&rsquo;e-mail en plein écran dans le front-end. Cela était visible sur un seul de mes deux sites (la différence entre les deux sites vient sans doute de la configuration de l&rsquo;affichage des erreurs sur le serveur).</p>



<p>La solution&nbsp;: j&rsquo;ai modifié le fichier plugins/yanc/<strong>core.php</strong> en remplacant la chaine</p>



<pre class="wp-block-preformatted">#__mambots</pre>



<p>par la chaîne</p>



<pre class="wp-block-preformatted">#__plugins</pre>



<p>Voilà&nbsp;! Maintenant bon <strong>e-mailing</strong> et bon <strong>Joomla</strong>! à vous&nbsp;!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pierre-lannes.fr/composant-newsletter-yanc-sous-joomla-1-5/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Comment migrer son site Joomla! de version 1.0.x à 1.5.x (après avoir failli abandonner Joomla!…)</title>
		<link>https://www.pierre-lannes.fr/migrer-joomla-1-0-a-1-5/</link>
					<comments>https://www.pierre-lannes.fr/migrer-joomla-1-0-a-1-5/#comments</comments>
		
		<dc:creator><![CDATA[Pierre]]></dc:creator>
		<pubDate>Sat, 05 Sep 2009 23:56:44 +0000</pubDate>
				<category><![CDATA[Applications et webmastering]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[composants Joomla!]]></category>
		<category><![CDATA[Joomla!]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[webmaster]]></category>
		<guid isPermaLink="false">http://www.pierre-lannes.fr/?p=1629</guid>

					<description><![CDATA[Tutoriel et retour d'expérience sur la migration de sites web sous le CMS Joomla! 1.0.x vers le nouveau framework 1.5.x :pas une mince affaire !]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image alignleft"><img loading="lazy" decoding="async" width="140" height="187" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/migration-1-2.jpg" alt="migration Joomla! 1.0 &gt; 1.5" class="wp-image-1414" title="migration"/></figure>



<h2 class="wp-block-heading">Un bon CMS qui aime frôler la mort</h2>



<p><strong><a href="https://fr.wikipedia.org/wiki/Joomla!" target="_blank" rel="noopener noreferrer">Joomla!</a></strong> est un <a href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu" target="_blank" rel="noopener noreferrer">CMS</a> &#8211; <em>système de gestion de contenu</em> &#8211; qui permet de gérer un site web. Alors qu&rsquo;il vient de fêter ses 4 ans le premier septembre dernier, le moins que l&rsquo;on puisse dire est que sa petite enfance a été particulièrement chaotique, mais c&rsquo;est finalement un peu le lot de ces bons outils fournis gratuitement à la communauté. Il faut aussi en être un sacré fan ou/et aimer le risque pour l&rsquo;avoir utilisé depuis ses débuts&#8230;.</p>



<p>Ce n&rsquo;est pas un hasard si on devient fan de <strong>Joomla!</strong>&nbsp;: une fois la bête apprivoisée c&rsquo;est un<strong> formidable gestionnaire de site</strong>, qui permet notamment de réaliser un des objectifs ultimes d&rsquo;un bon site web&nbsp;: <strong>faciliter l&rsquo;animation d&rsquo;un site</strong> en <strong>rendant autonomes et efficaces les contributeurs et rédacteurs du site, </strong>qui vont pouvoir gérer avec aisance la création et le suivi du contenu de leur site.</p>



<p>Dans mon cas personnel, j&rsquo;ai failli abandonner <strong>Joomla!</strong> il y a peu. Mais finalement j&rsquo;ai réussi à migrer mes sites vers la nouvelle version avec très peu de pertes et de dégâts. Je vais y revenir ci-dessous, dans un style se situant entre le <strong>tutoriel </strong>et le <strong>retour d&rsquo;expérience sur la migration</strong>. En attendant, un peu d&rsquo;histoire&#8230;</p>



<h2 class="wp-block-heading">De Mambo Open Source à Joomla!&nbsp;: un passage en douceur&#8230;</h2>



<p>La plupart des <a href="https://www.pierre-lannes.fr/author/pierre/">sites webs que je conçois et administre</a> fonctionnaient à partir de 2003 avec le <a class="snap_shot" href="https://fr.wikipedia.org/wiki/Syst%C3%A8me_de_gestion_de_contenu" target="_blank" rel="noopener noreferrer">CMS</a> <a class="snap_shot" href="https://fr.wikipedia.org/wiki/Mambo_(CMS)" target="_blank" rel="noopener noreferrer"><strong>Mambo </strong>Open Source</a>. En 2005, <strong>Mambo </strong>est dans la tourmente, et la branche <strong>libre et open source</strong> du CMS devient <a class="snap_shot" href="https://fr.wikipedia.org/wiki/Joomla!" target="_blank" rel="noopener noreferrer">Joomla!</a>. Quelques temps plus tard, je réalise la migration de mes sites de <strong>Mambo </strong>vers <strong>Joomla!. </strong>Le code informatique des 2 branches est alors très proche à ce moment là, et la migration du contenu, templates, composants, modules et plugins (encore appelés <strong>« mambots »</strong> à l&rsquo;époque) est donc facile.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="1200" height="304" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/joomla-1-2.png" alt="Joomla! Big Logo" class="wp-image-1416" title="joomla" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/joomla-1-2.png 1200w, https://www.pierre-lannes.fr/wp-content/uploads/2009/08/joomla-1-2-300x76.png 300w, https://www.pierre-lannes.fr/wp-content/uploads/2009/08/joomla-1-2-1024x259.png 1024w, https://www.pierre-lannes.fr/wp-content/uploads/2009/08/joomla-1-2-768x195.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></figure>



<h2 class="wp-block-heading">De Joomla! 1.0 à Joomla! 1.5&nbsp;: une violente rupture sous la douce apparence d&rsquo;un + 0.5</h2>



<p>La <strong>communauté des développeurs et contributeurs</strong> du projet réalise un <strong>formidable travail</strong> et fait preuve d&rsquo;une grande dévotion&#8230;. et de patience, face à des utilisateurs aux questions déjà traitées plusieurs fois dans les forums, mais peut être est-ce la rançon du succès&nbsp;? Alors que la certains utilisateurs (comme moi) dormaient tranquillement pendant que leurs sites ronronnaient aussi tranquillement sous <strong>Joomla!</strong>, nous avons eu un réveil difficile début 2008.</p>



<p>Avec la sortie de la nouvelle 1.5 de <strong>Joomla!, </strong> c&rsquo;est un virage brutal dans les fondements du <strong><a class="snap_shot" href="https://fr.wikipedia.org/wiki/Framework" target="_blank" rel="noopener noreferrer">framework</a></strong>, marquant une rupture avec les branches <strong>Mambo/Joomla! 1.0</strong>. Conséquence&nbsp;: les anciens <strong>templates</strong>, <strong>composants</strong>, <strong>modules </strong>et <strong>plugins </strong>deviennent incompatibles entre les versions 1.0.x et 1.5.x de Joomla! Un plugin <a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer"><strong>Legacy Mode</strong></a> est censé permettre la compatibilité pour les différents modules, composants et mambots/plugins, mais ce plugin ne fonctionne pas systématiquement avec certains d&rsquo;entre eux. En ce qui concerne les templates, les anciennes versions ne fonctionnent plus. Bref, <strong>C&rsquo;EST L&rsquo;HORREUR&#8230;</strong>. . On a forcément une pensée pour les <strong>généreux créateurs de templates, composants, plugins et modules</strong>, mettant à disposition leur travail <strong>gratuitement</strong>&nbsp;: c&rsquo;est tout leur travail qui est remis en question&#8230;</p>



<h2 class="wp-block-heading">Un an et demi pour enfin disposer du nécessaire pour envisager une migration de Joomla! 1.0.x à Joomla! 1.5.x</h2>



<p>Au début, les procédures de migrations sont réduites aux <strong>fonctions natives de Joomla!</strong>, c&rsquo;est à dire&nbsp;: sections et catégories, contenus des articles, groupes et utilisateurs/groupes, liens web, contacts&#8230;. Le composant de migration <strong>Migrator </strong>pour <strong>Joomla! 1.0.x.</strong> est le composant <a href="https://docs.joomla.org/Migrating_from_1.0.x_to_1.5_Stable" target="_blank" rel="noopener noreferrer">officiellement recommandé</a>. Progressivement, des plugins complémentaires pour Migrator sont mis à disposition pour pouvoir migrer les données des composants&nbsp;: il faut laisser le temps aux développeurs de faire les adaptations. Tout cela représente un énorme travail qui prendra du temps&#8230; En ce qui me concerne, le composant Migrator se révèlera inefficace, j&rsquo;aurai beaucoup de mauvaises surprises sur l&rsquo;import des données, j&rsquo;ai donc abandonné cette piste.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="400" height="83" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/mtwmigrator-1-2.png" alt="mtw migrator logo" class="wp-image-1465" title="mtwmigrator" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/mtwmigrator-1-2.png 400w, https://www.pierre-lannes.fr/wp-content/uploads/2009/08/mtwmigrator-1-2-300x62.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>



<p>Heureusement, depuis quelques temps, le composant <strong>Mtwmigrator</strong>, permettant l&rsquo;import de données directement depuis <strong>Joomla! 1.5</strong> en allant récupérer et convertir les données depuis la base de l&rsquo;ancien site sous<strong> Joomla! 1.0.x.,</strong> s&rsquo;est révélé efficace pour mes sites web, malgré encore quelques imperfections.</p>



<p>Certains <strong>composants</strong> pour <strong>Joomla! 1.5</strong>, eux, fonctionnent très bien avec les données contenues dans les anciennes bases, d&rsquo;autres intègrent des fonctions d&rsquo;importations des données de leurs anciennes versions ou même de données de composants équivalents fonctionnellement, j&rsquo;y reviendrais plus bas.</p>



<p>Dans mon cas il aura donc fallu attendre <strong>un an et demi</strong> pour que la migration devienne donc réellement envisageable&#8230; ça tombe bien, puisque le <strong>support de la branche 1.0 de Joomla!</strong> a été <strong>abandonné </strong><a href="https://community.joomla.org/blogs/leadership/981-an-end-of-an-era.html" target="_blank" rel="noopener noreferrer">officiellement le 22 juillet dernier</a>.</p>



<h2 class="wp-block-heading">Le plus gros frein au changement&nbsp;: d&rsquo;excellents composants pour Joomla! 1.0 qui ne fonctionnent plus et ne sont pas mis à jour pour Joomla! 1.5</h2>



<figure class="wp-block-image aligncenter"><img decoding="async" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/zmg-1-2.gif" alt="ZOOM Media Galery Joomla! Component Logo" class="wp-image-1443" title="zmg"/></figure>



<p>Même avec le mode de compatibilité pour les anciennes versions, certains composants (et leurs modules et plugins associés) ne fonctionnent pas sous <strong>Joomla! 1.5</strong>. Pour les développeurs, la mise à jour de leurs composants pour les rendre compatibles peut être un énorme boulot&nbsp;: <strong>certains projets seront alors abandonnés..</strong>. C&rsquo;est le cas de <strong> Zoom Media Gallery</strong> pour la gestion de galeries d&rsquo;image, incompatible avec <strong>Joomla! 1.5</strong>, même en <strong>Legacy Mode</strong>. A mon sens, <strong>Zoom Media Gallery</strong> était de très loin le meilleur gestionnaire de galerie d&rsquo;image pour <strong>Joomla!</strong>, et le seul composant avec lequel j&rsquo;arrivais à faire tourner l&rsquo;excellent <strong><a href="http://jupload.sourceforge.net/" target="_blank" rel="noopener noreferrer">Java JUplad</a></strong>, facilitant la vie des contributeurs de site pour uploader des fichiers images sur leur site web. Progressivement, de nouveaux composants de galerie de très bon niveau ont vu le jour pour <strong>Joomla! 1.5</strong>, citons parmi ceux-ci <a href="https://www.phoca.cz/phocagallery" target="_blank" rel="noopener noreferrer"><strong>Phoca Gallery</strong></a> et <strong><a href="https://extensions.joomla.org/extensions/extension/photos-a-images/galleries/joomgallery" target="_blank" rel="noopener noreferrer">Joomgallery</a>.</strong> J&rsquo;ai choisi ce dernier pour remplacer l&rsquo;obsolète <strong>Zoom Media Gallery</strong>, mais sans avoir la possibilité d&rsquo;importer directement les anciennes données, sauf à bidouiller des scripts de migration. Mais j&rsquo;en ai marre des nuits blanches&#8230;</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="150" height="102" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/yanc-1-2.jpg" alt="Yanc Logo" class="wp-image-1444" title="yanc"/></figure>



<p>Le composant <a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><strong>YaNC</strong></a>, considéré par beaucoup comme le meilleur système de <strong>Newsletter</strong> pour Joomla!, n&rsquo;évolue plus 2 ans. Mais il le faut pas désespérer, puisque le développeur semble se décider à travailler sur une version 2 de son composant, pour <strong>Joomla! 1.5</strong>. Mais la <strong><a class="snap_shot" href="https://fr.wikipedia.org/wiki/Roadmap" target="_blank" rel="noopener noreferrer">roadmap</a></strong> reste incertaine. On peut se replier vers certains <strong>composants</strong> alternatifs avec des capacités d&rsquo;import d&rsquo;autres composants de Newsletter, comme <strong>Acajoom</strong>, mais en ce qui me concerne, je m&rsquo;étais bien attaché à <a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><strong>YaNC</strong></a>. C&rsquo;est pour cela que moyennant quelques recherches et bidouilles, j&rsquo;ai réussi à le faire tourner sur Joomla! 1.5, voir mon billet « <strong><a href="/composant-newsletter-yanc-sous-joomla-1-5/">Faire fonctionner le composant de newsletter YaNC sous Joomla! 1.5</a></strong>« .</p>



<p>Dans tous les cas, le fait que les composants <a href="https://web.archive.org/web/20160123111803/http://joomla-addons.org/joomla-components/yanc.html" target="_blank" rel="noopener noreferrer"><strong>YaNC</strong></a> et <strong>Zoom Media Gallery</strong> permettent des fonctionnalités parmi les plus importantes sur mes sites web, et qu&rsquo;ils soient à l&rsquo;abandon du fait de leur incompatibilité avec <strong>Joomla! 1.5</strong>, a failli me pousser à abandonner complètement <strong>Joomla!</strong>. Je pense que je ne suis pas le seul, quand on sait la place que prennent désormais d&rsquo;autres <strong>CMS</strong>, également <strong>Open Source</strong> et <strong>gratuits</strong>&#8230;</p>



<h2 class="wp-block-heading">Réaliser la migration vers Joomla 1.5</h2>



<p>J&rsquo;attire l&rsquo;attention au lecteur sur le fait que le contenu ci-dessous n&rsquo;est pas une procédure officielle, il s&rsquo;agit simplement de faire partager (à toutes fins utiles) mon expérience personnelle en décrivant les procédés qui m&rsquo;ont permis de réussir le migration de 2 sites webs&nbsp;:</p>



<ul class="wp-block-list">
<li>Le site du&nbsp;<strong>DODO Surf Club</strong>&nbsp;sur un hébergement mutualisé chez&nbsp;<strong><a href="https://www.ovh.com/" target="_blank" rel="noopener noreferrer">OVH</a> </strong>PHP 5.2.10</li>



<li>Le <a href="https://www.penibles.com">site des&nbsp;<strong>Pénibles de Mauvezin</strong></a>&nbsp;sur un serveur dédié chez&nbsp;<strong><a href="https://www.haisoft.fr/" target="_blank" rel="noopener noreferrer">Haisoft</a></strong>&nbsp;PHP 5.1.6</li>
</ul>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="495" height="340" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/joomla_buzz-1-2.jpg" alt="Joomla! Buzz" class="wp-image-1553" title="joomla_buzz" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/joomla_buzz-1-2.jpg 495w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/joomla_buzz-1-2-300x206.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure>



<h2 class="wp-block-heading">Installer un Joomla! 1.5</h2>



<p>Tout d&rsquo;abord, il vaut mieux commencer à faire une <strong>sauvegarde en local</strong> des <strong>fichiers </strong>et de la <strong>base de données</strong> du site en vieille version <strong>Joomla! 1.0.x.</strong>, en laissant une version en ligne, pour faire plus tard l&rsquo;<strong>importation des données</strong>, et des comparaisons de l&rsquo;ancienne et la nouvelle version du site.</p>



<p>Il faut ensuite créer une nouvelle base de données, en notant les paramètres d&rsquo;accès à cette base de données, puis installer un <strong>Joomla 1.5</strong> en partant de zéro. Il vaut mieux l&rsquo;installer sur le serveur d&rsquo;hébergement (par exemple dans un sous répertoire du site actuel), c&rsquo;est mieux que faire l&rsquo;installation en local, ça évitera des problèmes de transfert liés aux différentes configurations par la suite.</p>



<p>Une fois le nouveau <strong>Joomla! 1.5</strong> installé, il faut aller dans l&rsquo;administration et activer le plugin <strong><a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer">Legacy Mode</a>,</strong> afin de rendre possible l&rsquo;installation de composants, modules, etc. de l&rsquo;ancien <strong>Joomla! 1.0</strong> compatibles avec la version 1.5.</p>



<h2 class="wp-block-heading">Migrer les fichiers de contenu de Joomla! 1.0 à Joomla! 1.5</h2>



<p>Il faut ensuite transférer le contenu de l&rsquo;ancien répertoire <code>/images</code> vers le nouveau. Il ne faut pas transférer les fichiers qui ont été uploadés avec les différents composants du site existants (fichiers <strong><strong>DOCman</strong></strong>, images et fichiers issus d&rsquo;attachement depuis un forum, fichiers de vidéos, mp3, etc.). Il faudra les transférer par la suite, dans les bons répertoires correspondants, une fois que les nouveaux composants seront installés sur la nouvelle version.</p>



<p>Je n&rsquo;ai récupéré aucun fichier au niveau des <strong>composants </strong>et <strong>mambots/plugins</strong>.</p>



<h2 class="wp-block-heading">Le cas particulier des fichiers de module</h2>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="490" height="550" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/joomla_mod-1-2.jpg" alt="Joomla! module files" class="wp-image-1555" title="joomla_mod" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/joomla_mod-1-2.jpg 490w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/joomla_mod-1-2-267x300.jpg 267w" sizes="auto, (max-width: 490px) 100vw, 490px" /></figure>



<p>Concernant les fichiers liés aux <strong>modules</strong>, c&rsquo;est peu plus compliqué et quelquefois au cas par cas&nbsp;:</p>



<ul class="wp-block-list">
<li>Pour les <strong>modules dont le fonctionnement est lié à des composants spécifiques</strong>, la suppression ou le remplacement de ces modules <strong>dépendra de la version du composant</strong> qu&rsquo;on installera sur le nouveau site, de leur compatibilité, de la mise à disposition de nouveaux modules adaptés aux nouveaux composants installés, etc.</li>



<li>J&rsquo;ai choisi de ne pas récupèrer les fichiers des modules pour lesquels il existe une <strong>nouvelle version</strong> pour<strong> Joomla! 1.5</strong>&nbsp;: pour trouver les nouvelles versions il faut faire des recherches sur le web (aller voir le lien web sur la ligne de descriptif du module, aller voir sur le <a href="https://extensions.joomla.org" target="_blank" rel="noopener noreferrer">site officiel des extensions</a>) et récupérer les fichiers d&rsquo;installations des nouvelles versions des modules pour <strong>Joomla! 1.5</strong>.</li>



<li>Pour les vieux modules qui n&rsquo;ont pas de versions pour <strong>Joomla! 1.5</strong>, la plupart tourneront en <a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer">Legacy Mode</a> sur la nouvelle version de <strong>Joomla! en 1.5</strong>. Il faut récupérer les fichiers et répertoires associés de l&rsquo;ancienne version. Ensuite, il faut savoir que dans la version 1.5 de <strong>Joomla!</strong> les fichiers de module ne sont pas installés dans le répertoire racine <code>/modules</code> . Chacun des modules est dans un sous-répertoire spécifique sous <code>/modules</code> , portant le même nom que le fichier PHP principal du module. Par exemple si vous avez un fichier <code>mod_birthday.php</code>, il faudra créer un répertoire « <code>mod_birthday</code> » dans le répertoire <code>/modules</code> du nouveau Joomla!., et y transférer ensuite le fichier <code>mod_birthday.php</code> et <code>mod_birthday.xml</code>, et éventuellement le répertoire associé au module s&rsquo;il existe (avec son contenu). Pour les paramètres des modules, ça se passe dans la base de données (voir plus bas).</li>
</ul>



<h2 class="wp-block-heading">Convertir son template Joomla! 1.0 en Joomla! 1.5</h2>



<p>Tout d&rsquo;abord, copier le (ou les) répertoires de votre (ou vos) ancien(s) template(s) vers le répertoire <code>/templates</code> de votre nouvelle installation <strong>Joomla! 1.5</strong>.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="465" height="342" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/templates-joomla.jpg" alt="templates ejoomla" class="wp-image-22791" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/templates-joomla.jpg 465w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/templates-joomla-300x221.jpg 300w" sizes="auto, (max-width: 465px) 100vw, 465px" /></figure>



<p>Une partie du code des <strong><a href="https://fr.wikipedia.org/wiki/Template" target="_blank" rel="noopener noreferrer">templates</a></strong> pour <strong>Joomla! 1.0</strong> (patrons de mise en page de votre site) devient incompatible avec <strong>Joomla! 1.5</strong>. En revanche, aucun problème avec les <strong>feuilles de styles CSS</strong> et images des templates&nbsp;: elles sont exploitables sans modifications. Dans mon cas, l&rsquo;activation du plugin de compatibilité <strong><a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer">Legacy Mode</a></strong> avec<strong> Joomla! 1.0</strong> n&rsquo;aura aucun effet sur mes anciens templates&nbsp;: aucun ne fonctionnent. Pour les mettre à jour, ce sera « à l&rsquo;ancienne », mettre les mains dans le cambouis, c&rsquo;est à dire dans le code <strong><a class="snap_shot" href="https://fr.wikipedia.org/wiki/PHP" target="_blank" rel="noopener noreferrer">PHP</a></strong>, avec un bon vieil éditeur de texte. Ce n&rsquo;est pas trop sorcier, il faut remplacer le code spécifique pour les commandes d&rsquo;appels de fonctions <strong>Joomla!</strong>, faire des tests, chasser les lignes de code obsolètes, etc.</p>



<p>A la sortie de <strong>Joomla! 1.5</strong>, je ne trouve aucun tutoriel satisfaisant, <strong>c&rsquo;est très énervant..</strong>. et surprenant, quant on connait l&rsquo;effervescente communauté d&rsquo;utilisateurs de ce <strong>CMS</strong>&#8230; A croire que beaucoup d&rsquo;entre eux avaient comme moi la gueule de bois en janvier 2008 avec la sortie de <strong>Joomla! 1.5</strong>. Ceux qui n&rsquo;ont pas envie d&rsquo;aller dans le code sont obligés d&rsquo;<strong>utiliser de nouveaux templates</strong>, ou bien <strong>payent des prestataires</strong> pour réaliser la mise à jour de compatibilité de leur ancien template.</p>



<p>Heureusement, il y a des gens sympas&nbsp;: voir ce tableau récupéré dans un doc joint dans<a href="https://forum.joomla.fr/showthread.php?t=82662" target="_blank" rel="noopener noreferrer"> une discussion</a> sur le <a href="https://forum.joomla.fr" target="_blank" rel="noopener noreferrer">forum francophone de Joomla!</a> (j&rsquo;y ai réalisé quelques modifications) faisant un petit inventaire des modifications à faire dans les fichiers de template (<strong>TemplateDetails.xml</strong> et <strong>index.php</strong>)&nbsp;:</p>



<figure class="wp-block-table"><table><tbody><tr><td>
<h2 style="font-size: 1.5em; text-align: center;">Joomla! 1.0</h2>
</td><td>
<h2 style="font-size: 1.5em; text-align: center;"><strong>Joomla! 1.5</strong></h2>
</td></tr><tr><td colspan="2"><strong>TemplateDetails.xml</strong></td></tr><tr><td>&lt;mosinstall&gt; Contenu de fichier &lt;/mosinstall&gt;</td><td>&lt;install &gt; Contenu de fichier &lt;/install&gt;</td></tr><tr><td colspan="2">
<p style="text-align: left;"><strong>Index.php</strong></p>
</td></tr><tr><td>&lt;?php defined( « _VALID_MOS » ) or die( « Direct Access to this location is n $iso = split( « = », _ISO );&nbsp;?&gt; &lt;!DOCTYPE html PUBLIC « //W3C//DTD XHTML 1.0 Transitional//EN » « htt &lt;html xmlns= »http://www.w3.org/1999/xhtml »&gt; &lt;head&gt; &lt;?php if ( $my&gt;id ) { initEditor(); } mosShowHead();&nbsp;?&gt; &lt;meta httpequiv= »ContentType » content= »text/ html; &lt;?php echo _ISO;&nbsp;?&gt; » &lt;link href= »&lt;?php echo $mosConfig_live_site. »/ templates/ ».$mainframe&gt;get &lt;link href= »&lt;?php echo $mosConfig_live_site. »/ templates/ ».$mainframe&gt;get &lt;/head&gt;</td><td>&lt;!DOCTYPE html PUBLIC « //W3C//DTD XHTML 1.0 Transitional//EN » « htt &lt;html xmlns= »http://www.w3.org/1999/xhtml » xml:lang= »&lt;?php echo $this&gt; &lt;head&gt; &lt;jdoc:include /&gt; &lt;link rel= »stylesheet » href= »templates/_system/css/general.css » stylesheet » href= »templates/&lt;?php echo $this&gt;template&nbsp;?&gt;/css/te &lt;/head&gt;</td></tr><tr><td>_VALID_MOS</td><td>_JEXEC</td></tr><tr><td>echo &lsquo;Hello‘</td><td>echo JText::_( &lsquo;Hello&rsquo; )</td></tr><tr><td colspan="2"><strong>La racine du site (url)</strong></td></tr><tr><td>&lt;?php echo $mosConfig_live_site;&nbsp;?&gt;</td><td>&lt;?php echo $mainframe&gt;getCfg(&lsquo;live_site&rsquo;);&nbsp;?&gt;</td></tr><tr><td>$mosConfig_live_site</td><td>$this&gt;url</td></tr><tr><td colspan="2"><strong>Template par défaut</strong></td></tr><tr><td>&lt;?php echo $cur_template;&nbsp;?&gt;</td><td>&lt;?php echo $this&gt;template&nbsp;?&gt;</td></tr><tr><td>$mainframe&gt;getTemplate()</td><td>$this&gt;template</td></tr><tr><td colspan="2"><strong>Pathway – Fil d&rsquo;ariane</strong></td></tr><tr><td>&lt;?php mosPathWay();&nbsp;?&gt; ou &lt;?php include « includes/pathway.php »;&nbsp;?&gt;</td><td>&lt;jdoc:include type= »modules » name= »breadcrumb » /&gt; (créer et activer le module breadcrumb dans le backoffice de Joomla!)</td></tr><tr><td colspan="2"><strong>Date</strong></td></tr><tr><td>&lt;?php echo mosCurrentDate ();&nbsp;?&gt;</td><td>&lt;?php echo JHTML::Date( &lsquo;now&rsquo;, &lsquo;%d | %m | %Y&rsquo; );&nbsp;?&gt;</td></tr><tr><td colspan="2"><strong>Affichage de composant</strong></td></tr><tr><td>&lt;?php mosMainBody();&nbsp;?&gt;</td><td>&lt;jdoc:include type= »component » /&gt;</td></tr><tr><td colspan="2"><strong>Chargement des modules</strong></td></tr><tr><td>&lt;?php if (mosCountModules(&lsquo;top&rsquo;)) {&nbsp;?&gt; &lt;?php mosLoadModules ( &lsquo;top&rsquo; );&nbsp;?&gt; &lt;?php }&nbsp;?&gt;</td><td>&lt;?php if($this&gt;countModules(&lsquo;top&rsquo;))&nbsp;:&nbsp;?&gt; &lt;jdoc:include style= »table » /&gt; &lt;?php endif;&nbsp;?&gt;</td></tr><tr><td>&lt;?php mosLoadModules ( &lsquo;right&rsquo;,2 );&nbsp;?&gt;</td><td>&lt;jdoc:include type= »modules » name= »right » style= »xhtml » /&gt;</td></tr><tr><td colspan="2"><strong>Styles d&rsquo;affichage des modules</strong></td></tr><tr><td>1<br>2<br>3</td><td>style= »table » style= »horz »<br>style= »xhtml »<br>style= »rounded »</td></tr></tbody></table></figure>



<h2 class="wp-block-heading"><span style="padding-top: 15px;"><strong>Migration directe de données de Joomla! 1.0 à Joomla! 1.5</strong></span></h2>



<p>Certains <strong>composants</strong> pour <strong>Joomla! 1.5</strong> fonctionnent très bien avec les données telles qu&rsquo;elles existent dans les anciennes bases, ou bien ils intègrent des fonctions d&rsquo;importations des données de leurs anciennes versions, au moment de l&rsquo;installation&nbsp;: le gestionnaire de communauté <strong><a href="https://extensions.joomla.org/extensions/210/details" target="_blank" rel="noopener noreferrer">Community Builder</a></strong>, <strong><a href="https://kunena.aide-joomla.com/" target="_blank" rel="noopener noreferrer">Kunena Forum</a></strong> (qui exploite sans problème les données du composant de forum <strong>Fireboard</strong>, son prédécesseur), le gestionnaire multilingue <strong>Joomfish</strong>, le gestionnaire de jeux vidéos d&rsquo;arcade <strong>PUarcade</strong>.</p>



<p>D&rsquo;autres composants intègrent des fonctions d&rsquo;importations de données de composants équivalents fonctionnellement. Dans mon cas le composant de messagerie privé <strong><a href="https://extensions.joomla.org/extension/communication/pms/uddeim/" target="_blank" rel="noopener noreferrer">UddeIM</a></strong> importe sans problème les messages issus de l&rsquo;ancien composant<strong> JIM</strong>. Le composant de commentaires <strong><a href="http://www.joomlatune.com/jcomments-downloads.html" target="_blank" rel="noopener noreferrer">Jcomments</a></strong> importera les commentaires articles des composants <strong>AkoComments</strong>, <strong>mXcomments</strong>, (cf. image ci-dessous) , etc.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="495" height="362" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/jcomments_import-1-2.jpg" alt="JComments Import panel in Joomla! Admin" class="wp-image-1570" title="jcomments_import" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/jcomments_import-1-2.jpg 495w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/jcomments_import-1-2-300x219.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure>



<p>Pour tous ces composants, il faudra donc récupérer la structure et les données des tables concernées dans votre ancien site <strong>Joomla: 1.0</strong>, et les intégrer directement dans votre nouvelle base sous <strong>Joomla! 1.5</strong>. Ces fonctions sont faciles à réaliser avec l&rsquo;utilitaire <strong><a class="snap_shot" href="https://fr.wikipedia.org/wiki/PhpMyAdmin" target="_blank" rel="noopener noreferrer">PhpMyAdmin</a></strong>, qui est mis à disposition en ligne par la plupart des hébergeurs.</p>



<h2 class="wp-block-heading">Migration des autres données à l&rsquo;aide d&rsquo;un composant</h2>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="400" height="83" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/mtwmigrator-1-2.png" alt="mtw migrator logo" class="wp-image-1465" title="mtwmigrator" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/08/mtwmigrator-1-2.png 400w, https://www.pierre-lannes.fr/wp-content/uploads/2009/08/mtwmigrator-1-2-300x62.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></figure>



<p>Pour les données des fonctions natives de <strong>Joomla!</strong> (structure de menus, paramètres de modules, sections, catégories, articles, contacts, liens webs, sondages&#8230;) et pour certains composants, j&rsquo;ai utilisé le <strong><a href="https://web.archive.org/web/20121019204421/http://extensions.joomla.org:80/extensions/3895/details" target="_blank" rel="noopener noreferrer">composant Mtwmigrator</a></strong>.</p>



<p>Une fois le composant installé dans votre nouveau <strong>Joomla 1.5</strong>, il faut aller dans l&rsquo;écran de configuration du composant (cf. image ci-dessous, cliquer sur celle-ci pour l&rsquo;agrandir), saisir les données d&rsquo;accès à votre ancienne base de données de votre ancien site en <strong>Joomla! 1.0 </strong>(serveur/host, nom de la base, identifiant et mot de passe de connexion à la base&nbsp;: ces informations sont disponibles dans le fichier configuration.php à la racine de votre ancien site).</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="900" height="802" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/mtwmigrator_big-1-2.jpg" alt="mtw migrator Joomla! admin Panel big screenshot" class="wp-image-1548" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/mtwmigrator_big-1-2.jpg 900w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/mtwmigrator_big-1-2-300x267.jpg 300w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/mtwmigrator_big-1-2-768x684.jpg 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure>



<p>Sur la partie droite de l&rsquo;écran de configuration du composant, vous avez la possibilité de rajouter un <strong>import </strong>pour <strong>certains composants</strong>. Dans mon cas, je n&rsquo;ai utilisé que l&rsquo;import des données du composant de gestion de fichiers <a href="https://extensions.joomla.org/extensions/directory-a-documentation/downloads/10958" target="_blank" rel="noopener noreferrer"><strong>DOCman</strong></a> (à noter, ce composant ne dispose pas encore de version pour Joomla! 1.5, mais il fonctionne en <a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer">Legacy Mode</a>). Je ne me suis pas servi du <a href="https://web.archive.org/web/20121019204421/http://extensions.joomla.org:80/extensions/3895/details" target="_blank" rel="noopener noreferrer">composant <strong>Mtwmigrator</strong></a> pour l&rsquo;import des données des composants <strong><a href="https://extensions.joomla.org/extension/clients-a-communities/communities/community-builder/" target="_blank" rel="noopener noreferrer">Community Builder</a>, </strong><a href="https://kunena.aide-joomla.com/" target="_blank" rel="noopener noreferrer"><strong>Kunena</strong> Forum</a>, <strong>Joomfish</strong> et <strong>PUarcade</strong>&nbsp;: je suis passé par l&rsquo;import direct (voir paragraphe précédent).</p>



<p>Pour information, j&rsquo;avais auparavant essayé d&rsquo;importer les données de <a href="https://extensions.joomla.org/extension/clients-a-communities/communities/community-builder/" target="_blank" rel="noopener noreferrer"><strong>Community Builder</strong></a> avec <a href="https://web.archive.org/web/20121019204421/http://extensions.joomla.org:80/extensions/3895/details" target="_blank" rel="noopener noreferrer"><strong>Mtwmigrator</strong></a>, et ça n&rsquo;avait pas marché (peut être à cause des champs additionnels dans les tables, générés par certains plugins de <a href="https://extensions.joomla.org/extensions/210/details" target="_blank" rel="noopener noreferrer"><strong>Community Builder</strong></a>&nbsp;?). Dans mon cas, l&rsquo;import direct des données (voir paragraphe précédent) pour <a href="https://extensions.joomla.org/extensions/210/details" target="_blank" rel="noopener noreferrer"><strong>Community Builder</strong></a> a parfaitement fonctionné.</p>



<p>Certaines fonctions de <a href="https://web.archive.org/web/20121019204421/http://extensions.joomla.org:80/extensions/3895/details" target="_blank" rel="noopener noreferrer"><strong>Mtwmigrator</strong></a> sont très efficaces. Par exemple, au niveau de l&rsquo;import des articles, il récupère parfaitement les informations, et convertit même l&rsquo;ancienne balise <code><strong>{mosimage}</strong></code> en lien vers les bonnes images.</p>



<h2 class="wp-block-heading">Import des données de modules</h2>



<p>En ce qui me concerne, le <strong>seul point noir</strong> concerne les <strong>modules</strong>. L&rsquo;importation des données n&rsquo;a pas marché, et cela sur les 2 sites que j&rsquo;ai migré. Il a fallu donc faire un peu de bidouillage, au niveau des données des tables <code>mos_modules</code> et <code>mos_module_menu</code>. J&rsquo;ai importé les données (pas la structure) des anciennes tables du site sous Joomla! 1.0, et fait un petit « UPDATE » sur les champ ID et MODULEID pour rajouter la valeur +10 200&nbsp;:</p>



<p><code>UPDATE jos_modules SET id=id+10200</code></p>



<p><code>UPDATE jos_modules_menu SET moduleid=moduleid+10200</code></p>



<p>J&rsquo;ai ensuite inséré ces données dans la base de données du nouveau site sous Joomla! 1.5 <span style="text-decoration: underline;">en veillant bien de ne pas écraser les valeurs existantes</span>. Par bonheur, les structures de ces tables n&rsquo;ont pas changé entre <strong>Joomla! 1.0</strong> et <strong>Joomla! 1.5</strong>, ce qui fait que l&rsquo;insertion de données de l&rsquo;ancienne base est possible sans manipulation.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="495" height="274" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/modul_admin-1-2.jpg" alt="Modul panel in Joomla! Admin screenshot" class="wp-image-1580" title="modul_admin" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/modul_admin-1-2.jpg 495w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/modul_admin-1-2-300x166.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure>



<p>Ensuite, rendez-vous dans le panneau d&rsquo;administration de <strong>Joomla! 1.5</strong>, il faut <strong>faire des tests</strong> et des <strong>modifications de paramétrages</strong> sur les modules, c&rsquo;est du cas par cas. Les <strong>modules « utilisateurs » (custom)</strong> sont récupérés sans problème. En ce qui concerne les modules utilisateurs qui contiennent du code provenant de sites externes (<strong><a class="snap_shot" href="https://fr.wikipedia.org/wiki/Javascript" target="_blank" rel="noopener noreferrer">javascript</a></strong> ou autre, c&rsquo;est souvent le cas par exemple quand on veut installer un petit widget météo&#8230;), il faudra installer le module <strong>Custom Code for Joomla 1.5</strong>.</p>



<h2 class="wp-block-heading">Installation des plugins</h2>



<p>Dans la mesure du possible, il est recommandé d&rsquo;installler les plugins les plus récents.</p>



<p>Dans le cadre de la migration de mes sites, il était important d&rsquo;installer le plugin <strong>MosModule</strong>, qui fonctionne en en <a href="https://web.archive.org/web/20091108065228/http://www.joomlabc.com:80/faq-joomla/1-administration/9-qu-est-ce-que-le-mode-legacy-mode-dans-joomla.html" target="_blank" rel="noopener noreferrer"><strong>Legacy Mod</strong><strong>e</strong></a>, et permet d&rsquo;afficher des modules dans des articles, technique que j&rsquo;ai largement utilisée sur mes sites.</p>



<p>Bonne surprise, la dernière version (2.2.2) du plugin <strong><a href="https://www.joomlacontenteditor.net/" target="_blank" rel="noopener noreferrer">JCE Utilities</a></strong>, qui permet entre autres choses d&rsquo;afficher de beaux effets <strong><a href="https://lokeshdhakar.com/projects/lightbox2/" target="_blank" rel="noopener noreferrer">Lightbox</a> </strong>(exemple ci-dessous) sur les images des articles, fonctionnera parfaitement avec les articles importés qui contiennent des tags de classes antérieurs des anciennes versions de <strong><a href="https://www.joomlacontenteditor.net/" target="_blank" rel="noopener noreferrer">JCE Utilities</a>. </strong>Attention, j&rsquo;ai remarqué qu&rsquo;avec l&rsquo;ancienne version de <strong>JCE Utilities,</strong> la 2.2.1, les effets de <strong>Lightbox </strong>du composant de galerie d&rsquo;images <a href="https://extensions.joomla.org/category/photos-a-images" target="_blank" rel="noopener noreferrer"><strong>Joomgallery</strong></a> ne fonctionnaient pas (aucun souci avec la version 2.2.2 de <strong>JCE Utilities</strong>, bien sûr).</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="495" height="307" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/lightbox_saint_leu-1-2.jpg" alt="Lightbox Saint Leu in DODO Surf Club website middle screenshot" class="wp-image-1592" title="lightbox_saint_leu" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/lightbox_saint_leu-1-2.jpg 495w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/lightbox_saint_leu-1-2-300x186.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /><figcaption class="wp-element-caption">Exemple d&rsquo;effet Lightbox sur une image</figcaption></figure>



<p>Même chose pour le plugin <strong><a href="https://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/812" target="_blank" rel="noopener noreferrer">AllVideos</a></strong>, qui permet d&rsquo;insérer des vidéos dans les articles (fichiers vidéos internes ou vidéos issus de services externes tels <strong><a href="https://www.youtube.com/c/PierreLannes" target="_blank" rel="noopener noreferrer">YouTube</a></strong>, <strong>Dailymotion</strong>, etc.)&nbsp;: les nouvelles versions pour <strong>Joomla 1.5</strong> interprèteront bien les balises intégrées dans vos articles issus d&rsquo;un import, les vidéos s&rsquo;afficheront donc sans problèmes. Au passage, je signale l&rsquo;existence d&rsquo;un package composant/plugin/module appelé <strong><a href="https://extensions.joomla.org/extension/multimedia/multimedia-players/allvideos/" target="_blank" rel="noopener noreferrer">AllVideos Reloaded</a></strong>, qui est conçu sur le base d&rsquo;<a href="https://extensions.joomla.org/extensions/multimedia/video-players-a-gallery/812" target="_blank" rel="noopener noreferrer"><strong>AllVideos</strong></a>, qui facilite l&rsquo;insertion de vidéos dans un site<strong> Joomla!</strong>.</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="495" height="364" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/video_surf-1-2.jpg" alt="video surf integration in DODO Surf Club Website" class="wp-image-1595" title="video_surf" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/video_surf-1-2.jpg 495w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/video_surf-1-2-300x221.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /><figcaption class="wp-element-caption">Affichage de vidéos avec AllVideos</figcaption></figure>



<h2 class="wp-block-heading">Ajustements de paramètres après l&rsquo;import de données</h2>



<p>Après l&rsquo;import des données, il y a des <strong>ajustements à réaliser</strong>&nbsp;: certains <strong>liens de menus</strong> vers des composants ne fonctionnent plus, il faut les recréer. C&rsquo;est le cas du <strong>composant natif de contact</strong> par exemple. Bizarrement, j&rsquo;ai également remarqué que les pages de contacts ne s&rsquo;affichaient plus. Il suffit d&rsquo;aller dans le panneau d&rsquo;administration, ouvrir et sauver chaque formulaire de contact sans les modifier pour qu&rsquo;ils s&rsquo;affichent de nouveau sur le site (sans doute un champ est mis à jour dans la base de données quand on sauve le formulaire).</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="495" height="578" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/contact_form_exemple_joom-1-2.jpg" alt="Contact Form Exemple Joomla! DODO Surf Club" class="wp-image-1596" title="contact_form_exemple_joom" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/09/contact_form_exemple_joom-1-2.jpg 495w, https://www.pierre-lannes.fr/wp-content/uploads/2009/09/contact_form_exemple_joom-1-2-257x300.jpg 257w" sizes="auto, (max-width: 495px) 100vw, 495px" /><figcaption class="wp-element-caption">Exemple de page de contact</figcaption></figure>



<p>J&rsquo;ai eu également quelques soucis avec le composant de gestion multilingue <strong>Joomfish</strong>, il a fallu bidouiller pas mal de paramètres pour que la gestion multilingue fonctionne à nouveau.</p>



<p>Autre correction à réaliser, j&rsquo;ai remarqué que dans les articles certains liens vers d&rsquo;autres articles étaient encore sur l&rsquo;ancien modèle <strong>Mambo </strong>(&#8230;)option=content(&#8230;), ces liens ne fonctionnent plus. Il a fallu donc extraire les données de la table jos_content, faire un remplacement de la chaine « option=content » par la chaine de caractère « option=com_content », puis restaurer les données dans la table avec <a href="https://fr.wikipedia.org/wiki/PhpMyAdmin" target="_blank" rel="noopener noreferrer"><strong>PhpMyAdmin</strong></a> (pour l&rsquo;édition de texte, j&rsquo;utilise l&rsquo;éditeur <a class="snap_shot" href="https://fr.wikipedia.org/wiki/Gratuiciel" target="_blank" rel="noopener noreferrer">freeware</a> <strong><a href="https://www.pspad.com/fr/" target="_blank" rel="noopener noreferrer">PSPad</a></strong>).</p>



<h2 class="wp-block-heading">Epilogue</h2>



<p>Avec la fin du support de la branche 1.0 de <strong>Joomla!</strong>, la sortie ces dernières semaines d&rsquo;une nouvelle version de <strong>Joomla</strong>! (la <strong>1.5.14</strong>)<strong>,</strong> la <strong>fiabilité accrue</strong> des fonctions de <strong>migration</strong>, les <strong>nombreux composants</strong> maintenant disponibles pour <strong>Joomla 1.5</strong>, cette rentrée 2009 est finalement une bonne période pour faire sa migration de site <strong>Joomla! 1.0</strong> vers <strong>Joomla! 1.5</strong>. Selon moi le point noir concerne les <strong>modules</strong>, comme je les ai évoqué plus haut&nbsp;: j&rsquo;ai réussi leur migration, mais le procédé a été un peu fastidieux. J&rsquo;espère que mon exposé sera utile à certains d&rsquo;entre vous. Les deux sites webs sur lesquels j&rsquo;ai réalisé la migration ces derniers jours sont le <strong>site du DODO Surf Club</strong> et le <strong>site des <a href="https://www.penibles.com">Pénibles de Mauvezin</a></strong>.</p>



<ul class="wp-block-list">
<li>La discussion <strong>« <a href="https://forum.joomla.fr/showthread.php?t=72095">[News] &#8211; Une migration facile!</a> » </strong> sur le <strong>forum joomla.fr.</strong></li>



<li>Le site francophone de <strong>Joomla!</strong>&nbsp;: <strong><a href="https://www.joomla.fr" target="_blank" rel="noopener noreferrer">https://www.joomla.fr</a></strong></li>
</ul>



<p class="has-text-align-center"><strong>Bon Joomla!</strong></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pierre-lannes.fr/migrer-joomla-1-0-a-1-5/feed/</wfw:commentRss>
			<slash:comments>37</slash:comments>
		
		
			</item>
		<item>
		<title>Rajout de colonnes latérales et de fonctions de lifestream dans le thème visuel de WordPress</title>
		<link>https://www.pierre-lannes.fr/theme-ocean-mist-irresistible-lifestream/</link>
					<comments>https://www.pierre-lannes.fr/theme-ocean-mist-irresistible-lifestream/#comments</comments>
		
		<dc:creator><![CDATA[Pierre]]></dc:creator>
		<pubDate>Fri, 19 Jun 2009 05:37:06 +0000</pubDate>
				<category><![CDATA[Applications et webmastering]]></category>
		<category><![CDATA[lifestream]]></category>
		<category><![CDATA[médias sociaux]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[webmaster]]></category>
		<guid isPermaLink="false">http://www.pierre-lannes.fr/?p=808</guid>

					<description><![CDATA[Edit du 23/09/2023&#160;: je n&#8217;utilise plus de plugin de lifestream sur ce site web&#160;: site devenu professionnel, désactivation de nombreux comptes sur les médias sociaux compte tenu de la censure politique par les États totalitaires corrompus par les lobbies mondialistes. Edit du 23/02/2016&#160;: le plugin Lifestream est obsolète et n&#8217;est plus mis à jour depuis [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>Edit du 23/09/2023</strong>&nbsp;: je n&rsquo;utilise plus de plugin de lifestream sur ce site web&nbsp;: site devenu professionnel, désactivation de nombreux comptes sur les médias sociaux compte tenu de la censure politique par les États totalitaires corrompus par les lobbies mondialistes.</p>



<p><strong>Edit du 23/02/2016</strong>&nbsp;: le plugin Lifestream est obsolète et n&rsquo;est plus mis à jour depuis 2 ans. J&rsquo;utilise désormais le plugin <a href="https://fr.wordpress.org/plugins/flow-flow-social-streams/"><strong>Flow-Flow Social Stream</strong></a> dans sa version pro payante</p>



<p><strong>Edit du 01/03/2014</strong>&nbsp;: depuis mars 2014 le thème WordPress du blog est <a href="https://themeforest.net/item/scroller-parallax-scroll-responsive-theme/4858606"><strong>Scroller</strong>&nbsp;Parallax, Scroll &amp; Responsive Theme</a></p>



<p>J&rsquo;ai modifié le thème visuel <strong>Ocean Mist</strong> du présent blog <strong><a class="snap_shots" href="/tag/wordpress/" target="_blank" rel="noopener noreferrer">WordPress</a></strong>, en élargissant la zone de colonne latérale (la « <strong>sidebar</strong>« ) avec la possibilité d&rsquo;avoir deux colonnes. Pour cela j&rsquo;ai modifié les images de fond et le code du thème.</p>



<p>Des nouveaux modules (des <a class="snap_shots" href="https://fr.wikipedia.org/wiki/Widget" target="_blank" rel="noopener noreferrer"><strong>Widgets</strong></a>) occupent maintenant toute la largeur de la colonne latérale droite de ce blog&nbsp;: <strong>« BLOG&nbsp;: LES 3 DERNIERS BILLETS », « MON DERNIER CHECKIN GOWALLA », « MA DERNIÈRE LOCALISATION CONNUE », « MES DERNIÈRES E-ACTIVITÉS / LIFESTREAM », « MES DERNIÈRES PHOTOS PUBLIQUES », « MES DERNIÈRES VIDÉOS FAVORITES »</strong>, et <strong>« MES DERNIERS COUPS DE CŒURS MUSICAUX »</strong>. Les autres widgets, quant à eux, sont répartis dans des sous-colonnes allant par 2. Pour gérer le multicolonne, il a fallu faire quelques modifications dans les fichiers de thème <em>sidebar.php</em> et <em>functions.php</em>.</p>



<p>Pour intégrer les modules de Lifestream, des dernières photos <strong>Flickr</strong> et des coups de coeur musicaux, j&rsquo;ai récupéré des morceaux de code PHP/HTML et CSS du thème visuel <strong><a href="https://www.premiumwp.com/irresistible-wordpress-theme/" target="_blank" rel="noopener noreferrer">Irresistible</a></strong>, un thème <strong>WordPress</strong> très « <a href="/tag/web-2-0/">web 2.0</a>« . Les fonctions qui m&rsquo;intéressaient de reprendre étaient l&rsquo;intégration et l&rsquo;uniformisation des styles CSS pour les plugin de <strong>Lifestream</strong> (voir ci-dessous) et <strong><a href="https://wordpress.org/extend/plugins/ilastfm/" target="_blank" rel="noopener noreferrer">iLastfm</a><span style="font-weight: normal;"> (récupération des écoutes musicales depuis <a href="https://www.last.fm/fr/user/titou_pierre" rel="me"><strong>Last.fm</strong></a>)&nbsp; ainsi qu&rsquo;une gestion totalement intégrée de l&rsquo;affichage dans un widget de photos issus d&rsquo;un compte <strong>Flickr</strong>. </span></strong> Le code récupéré du thème visuel <a href="https://www.premiumwp.com/irresistible-wordpress-theme/" target="_blank" rel="noopener noreferrer"><strong>Irresistible</strong></a> permet également la gestion dans l&rsquo;interface administrateur de <strong>WordPress </strong>des paramètres d&rsquo;affichage du plugin <strong>Lifestream</strong> et des fonctionnalités d&rsquo;affichage des photos issues de <strong>Flickr</strong>. Pour ce qui concerne la gestion des autres widgets (derniers checkins, géolocalisation, vidéos, etc.) voir mon billet « 30 extensions WordPress après migration sur un hébergement ».</p>



<figure class="wp-block-image aligncenter"><img loading="lazy" decoding="async" width="500" height="541" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/06/irresistable-theme-1-2.jpg" alt="Thème Irresistible WordPress" class="wp-image-813" title="Thème Irresistible" srcset="https://www.pierre-lannes.fr/wp-content/uploads/2009/06/irresistable-theme-1-2.jpg 500w, https://www.pierre-lannes.fr/wp-content/uploads/2009/06/irresistable-theme-1-2-277x300.jpg 277w" sizes="auto, (max-width: 500px) 100vw, 500px" /></figure>



<h2 class="wp-block-heading">Le lifestreaming</h2>



<p>L&rsquo;utilisation de différents comptes d&rsquo;un même utilisateur sur les <a href="/tag/medias-sociaux/">médias sociaux</a> (<strong>Twitter, Facebook, Flickr</strong>, etc.) ont pour conséquence l&rsquo;éclatement et la dispersion de ses contributions et publications sur le web. Le plugin <strong><del datetime="2016-02-23T13:21:59+00:00">Lifestream</del></strong> (j&rsquo;utilise maintenant le plugin <a href="https://fr.wordpress.org/plugins/flow-flow-social-streams/"><strong>Flow-Flow Social Stream</strong></a>) permet, comme les services de <strong>lifestreaming</strong> (concaténation chronologique de flux d&rsquo;activité sur les médias sociaux), de centraliser et de publier en un seul endroit toutes les activités sur le web. Les avantages de ce type de <strong>plugin</strong> sont leur totale intégration dans <a href="/tag/wordpress">WordPress</a>, avec la récupération des évènements, des possibilités de personnalisation et de paramètrage des flux des différents services diffusés&nbsp;: voir dans la page <a href="/lifestream/#flux">« Veille et flux »</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pierre-lannes.fr/theme-ocean-mist-irresistible-lifestream/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Capturer des instants quelque part et les publier partout, lapin et autres objets&#8230;</title>
		<link>https://www.pierre-lannes.fr/interconnexion-objets-reseaux-sociaux/</link>
					<comments>https://www.pierre-lannes.fr/interconnexion-objets-reseaux-sociaux/#respond</comments>
		
		<dc:creator><![CDATA[Pierre]]></dc:creator>
		<pubDate>Sat, 07 Feb 2009 18:03:35 +0000</pubDate>
				<category><![CDATA[Applications et webmastering]]></category>
		<category><![CDATA[applications]]></category>
		<category><![CDATA[EXIF]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Flickr]]></category>
		<category><![CDATA[géolocalisation]]></category>
		<category><![CDATA[Geosetter]]></category>
		<category><![CDATA[guidage par satellite]]></category>
		<category><![CDATA[infographie]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[lifestream]]></category>
		<category><![CDATA[médias sociaux]]></category>
		<category><![CDATA[microblogging]]></category>
		<category><![CDATA[réseaux sociaux]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[webmaster]]></category>
		<guid isPermaLink="false">http://www.pierre-lannes.fr/?p=456</guid>

					<description><![CDATA[Capturer un instant quelque part…
…et le publier dans les médias sociaux sur internet..
…en temps réel ou différé…
… en minimisant les entrées…
….en gérant les canaux de diffusion]]></description>
										<content:encoded><![CDATA[
<p class="has-text-align-center"><strong>Lencous, -ouse</strong>&nbsp;; gascon (Chalosse -Landes-). adj. Bavard(e).<br>Autres formes gasconnes&nbsp;: lencoulou&nbsp;; lencut,-ude</p>



<figure class="wp-block-image aligncenter"><a href="https://www.pierre-lannes.fr/wp-content/uploads/2009/02/network_billet-.jpg"><img decoding="async" src="https://www.pierre-lannes.fr/wp-content/uploads/2009/02/network_billet-.jpg" alt="network social geo content" class="wp-image-30272" title="Cliquer ici pour agrandir l'image..."/></a></figure>



<h2 class="wp-block-heading">Les réseaux sociaux sur le web 2.0</h2>



<p>Les médias sociaux sur le web peuvent servir entre autres choses à publier des contenus&nbsp;: statut (<strong><a class="snap_shots" href="https://fr.wikipedia.org/wiki/Microblog" target="_blank" rel="noopener noreferrer">microblogging</a></strong>), liens web, photos, billets (<strong><a class="snap_shots" href="https://fr.wikipedia.org/wiki/Blog" target="_blank" rel="noopener noreferrer">blogging</a></strong>) et autres contenus&#8230; Une des caractéristiques des services web 2.0, c&rsquo;est la multiplication des profils pour une seule et même personne.</p>



<h2 class="wp-block-heading">Les entrées</h2>



<p>Certains services de multi-diffusion comme <strong>ping.fm</strong> permettent d&rsquo;avoir un seul point d&rsquo;entrée sur divers supports (micro-ordinateurs, smartphones) pour la diffusion de contenus sur tous les différents réseaux sociaux.</p>



<h2 class="wp-block-heading">Les sorties</h2>



<p>Des services de <a href="/tag/lifestream/"><strong>lifestreaming</strong></a> comme <strong>Friendfeed</strong> ou <strong>Profilactic</strong> permettaient autrefois de diffuser à un seul endroit tous les contenus produits sur les divers réseaux sociaux.</p>



<h2 class="wp-block-heading">Des objets capturant des instants</h2>



<p>Dans mon cas, il s&rsquo;agit d&rsquo;appareils photos numériques, smartphones, et appareils GPS portables qui capturent des images, en les géolocalisant. Elles peuvent être publiés sur internet quasi instantanément avec un appareil comme le <strong><a class="snap_shots" href="https://fr.wikipedia.org/wiki/IPhone" target="_blank" rel="noopener noreferrer">iPhone</a> </strong>qui combine à lui seul toutes ces fonctionnalités, au travers de l&rsquo;application <strong>Brightkite</strong>. Les photos prises avec mon boitier Reflex numérique, seront, quant à elles, triées, retouchées, taguées et géolocalisées (automatiquement ou manuellement, <strong><a href="/geolocalisation-photos/">voir mon billet sur le sujet</a></strong>) avant d&rsquo;être diffusées sur internet via un micro-ordinateur.</p>



<p>Le service d&rsquo;<strong><a class="snap_shots" href="https://fr.wikipedia.org/wiki/Audioscrobbler" target="_blank" rel="noopener noreferrer">audioscrobbling</a></strong>&nbsp;<strong><a href="https://www.last.fm/fr/user/titou_pierre">Last.fm</a></strong> quant à lui, permettra de remonter sur les réseaux sociaux les listes de morceaux de musique écoutés avec mon lecteur audio numérique portable.</p>



<p>Le schéma ci-dessous représente les différents flux de diffusion de contenus multimédias géolocalisés sur les réseaux sociaux sur internet et les connections entre mes divers périphériques&nbsp;: <strong>Lencouse </strong>(mon lapin&nbsp;<strong>Nabaztag</strong>), iPhone, micro-ordinateurs, appareil photo numérique et GPS.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.pierre-lannes.fr/interconnexion-objets-reseaux-sociaux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
