<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="https://www.momh.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>momh</title>
	<link>https://momh.fr/</link>
	<description>My Own Memory Hole se veut une sorte de &#171;&#160;vitrine&#160;&#187; de mon parcours et de mon exp&#233;rience mais aussi de mes centres d'int&#233;r&#234;t et constitue donc en quelque sorte ma m&#233;moire en ligne, m&#233;moire virtuelle d&#233;localis&#233;e mais ordonn&#233;e et index&#233;e&#8230;</description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://www.momh.fr/spip.php?id_mot=83&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>SPIPer avec DDEV (bis)</title>
		<link>https://www.momh.fr/spiper-avec-ddev-bis</link>
		<guid isPermaLink="true">https://www.momh.fr/spiper-avec-ddev-bis</guid>
		<dc:date>2024-05-21T04:37:58Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;</dc:subject>
		<dc:subject>webdev</dc:subject>

		<description>
&lt;p&gt;Si nous parvenions dans notre premier article &#224; obtenir un environnement de d&#233;veloppement sous &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; rapidement gr&#226;ce &#224; &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;, la m&#233;thode propos&#233;e aboutit &#224; rendre probl&#233;matique l'usage de &lt;span class=&#034;caps&#034;&gt;PHP&lt;/span&gt; en &lt;span class=&#034;caps&#034;&gt;CLI&lt;/span&gt;. La solution, pour ce qui est de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; en tout cas&#160;: ne plus utiliser le param&#232;tre &#8212;docroot. &lt;br class='autobr' /&gt; Installer une version 4.3 &lt;br class='autobr' /&gt;
On commence par cloner le d&#233;p&#244;t de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, puis l'on configure notre environnement &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt; avant d'utiliser la commande checkout pour basculer sur la branche qui nous int&#233;resse&#160;:&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/spip" rel="tag"&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/webdev" rel="tag"&gt;webdev&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Si nous parvenions &lt;a href='https://www.momh.fr/spiper-avec-ddev' class=&#034;spip_in&#034;&gt;dans notre premier article&lt;/a&gt; &#224; obtenir un environnement de d&#233;veloppement sous &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; rapidement gr&#226;ce &#224; &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;, la m&#233;thode propos&#233;e aboutit &#224; rendre probl&#233;matique l'usage de &lt;span class=&#034;caps&#034;&gt;PHP&lt;/span&gt; en &lt;span class=&#034;caps&#034;&gt;CLI&lt;/span&gt;. La solution, pour ce qui est de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; en tout cas&#160;: ne plus utiliser le param&#232;tre &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--docroot&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Installer une version 4.3&lt;/h2&gt;
&lt;p&gt;On commence par cloner le d&#233;p&#244;t de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, puis l'on configure notre environnement &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt; avant d'utiliser la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;checkout&lt;/code&gt; pour basculer sur la branche qui nous int&#233;resse&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;git clone https://git.spip.net/spip/spip.git spip43 cd spip43 ddev config --project-type=php --php-version=7.4 ddev checkout ddev checkout spip -b4.3 public &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Si vous &#234;tes confront&#233; au message suivant&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;fatal: detected dubious ownership in repository at '/var/www/html' To add an exception for this directory, call: git config --global --add safe.directory /var/www/html &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Il suffit d'ex&#233;cuter la commande indiqu&#233;e, au sein du container bien &#233;videmment&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ddev exec git config --global --add safe.directory /var/www/html &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 class=&#034;spip&#034;&gt;Installer la branche &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;master&lt;/code&gt;&lt;/h2&gt;&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;git clone https://git.spip.net/spip/spip.git master cd master ddev config --project-type=php --php-version=8.2 ddev composer install ddev composer local mode-dev rm -rf web/plugins-dist ddev composer local install &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SPIPer avec DDEV</title>
		<link>https://www.momh.fr/spiper-avec-ddev</link>
		<guid isPermaLink="true">https://www.momh.fr/spiper-avec-ddev</guid>
		<dc:date>2024-03-21T12:26:32Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>webdev</dc:subject>
		<dc:subject>&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;&lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt; est, pour le dire vite, une surcouche &#224; Docker permettant de mettre en place extr&#234;mement rapidement des environnements de d&#233;veloppement Web. Nous allons tenter de d&#233;crire ici comment nous l'utilisons pour nos d&#233;veloppements avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;. &lt;br class='autobr' /&gt; Je ne vais pas ici d&#233;crire l'installation de &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;, sa documentation se suffisant &#224; elle-m&#234;me plus que largement. &lt;br class='autobr' /&gt;
&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli &amp; checkout &lt;br class='autobr' /&gt;
Ces outils en ligne de commande que sont checkout (m&#233;thode unifi&#233;e d'installation et de mise &#224; jour) et &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/webdev" rel="tag"&gt;webdev&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/spip" rel="tag"&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;a href=&#034;https://ddev.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;&lt;/a&gt; est, pour le dire vite, une surcouche &#224; Docker permettant de mettre en place extr&#234;mement rapidement des environnements de d&#233;veloppement Web. Nous allons tenter de d&#233;crire ici comment nous l'utilisons pour nos d&#233;veloppements avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Je ne vais pas ici d&#233;crire l'installation de &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;, &lt;a href=&#034;https://ddev.readthedocs.io/en/stable/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;sa documentation&lt;/a&gt; se suffisant &#224; elle-m&#234;me plus que largement.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli &amp; checkout&lt;/h2&gt;
&lt;p&gt;Ces outils en ligne de commande que sont &lt;a href=&#034;https://git.spip.net/spip-contrib-outils/checkout&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;checkout&lt;/a&gt; (m&#233;thode unifi&#233;e d'installation et de mise &#224; jour) et &lt;a href=&#034;https://git.spip.net/spip-contrib-outils/spip-cli&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli&lt;/a&gt; (installation, mise &#224; jour, manipulation...) m'apparaissent comme indispensables&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;; un grand merci &#224; nicod donc pour en proposer &lt;a href=&#034;https://git.spip.net/spip-contrib-outils/ddev&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;une int&#233;gration &#224; &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Personnellement, j'ai commenc&#233; par cloner le d&#233;p&#244;t dans un r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/sources&lt;/code&gt; avant de cr&#233;er un lien (non symbolique) pour chacun des deux scripts vers le r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/.ddev/commands/web/&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;p&gt;Ainsi, pour chacun de nos projets, ces deux commandes seront accessibles une fois le conteneur web lanc&#233; (seul b&#233;mol, il conviendra de r&#233;installer les utilitaires &#224; chaque red&#233;marrage, mais les scripts propos&#233;s par nicod s'en charge tr&#232;s bien).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Installer &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; dans un environnement &lt;span class=&#034;caps&#034;&gt;DDEV&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;Avant d'installer &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, il convient de pr&#233;parer notre environnement de d&#233;veloppement&#160;: cr&#233;ation d'un r&#233;pertoire, configuration du projet et initialisation&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;shell&#034; class='spip_code spip_code_block language-shell' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir mon_site &amp;&amp; cd mon_site ddev config --project-type=php --webserver-type=apache-fpm --docroot=web --composer-root=web ddev start &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois cela fait, on peut proc&#233;der &#224; l'installation de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; (sur sa branche master ici) avec &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli (il convient de lancer la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip&lt;/code&gt; une premi&#232;re fois pour proc&#233;der &#224; son installation)&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ddev spip ddev spip dl git -b master -d web &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;L&#224;, on tombe sur ce message, auquel il faut r&#233;pondre par l'affirmative&#160;:&lt;/p&gt;
&lt;blockquote class=&#034;spip&#034;&gt;
&lt;p&gt;Le r&#233;pertoire existant web a &#233;t&#233; renomm&#233; en web__OLD. Souhaitez vous le supprimer&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;? (yes/no) [yes]&#160;:&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Puis, on peut poursuivre l'installation, comme indiqu&#233; dans le &lt;span class=&#034;caps&#034;&gt;README&lt;/span&gt; de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, en prenant bien soin de faire pr&#233;c&#233;der certaines commandes de &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ddev&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ddev composer install ddev composer local mode-dev rm -rf web/plugins-dist ddev composer local install &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enfin, il suffit de proc&#233;der &#224; l'installation de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;, en utilisant les informations de connexion &#224; la base de donn&#233;es retourn&#233;es par la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;describe&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ddev describe &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>SPIP-Cli sur serveur mutualis&#233;</title>
		<link>https://www.momh.fr/spip-cli-sur-serveur-mutualise</link>
		<guid isPermaLink="true">https://www.momh.fr/spip-cli-sur-serveur-mutualise</guid>
		<dc:date>2022-04-27T16:24:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;</dc:subject>
		<dc:subject>webdev</dc:subject>

		<description>
&lt;p&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli est &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;une interface en ligne de commande pour &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;. Sa documentation nous guide parfaitement pour une installation avec un acc&#232;s root ou sudo. Sur un h&#233;bergement mutualis&#233;, avec a minima un acc&#232;s &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; relativement ouvert, il faut adapter la proc&#233;dure. &lt;br class='autobr' /&gt; Une fois connect&#233; via &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; &#224; votre serveur, il convient tout d'abord de cr&#233;er un r&#233;pertoire&#160;/.local/bin&#160;: mkdir -p&#160;/.local/bin &lt;br class='autobr' /&gt;
Ensuite, dans ce r&#233;pertoire, on clone le d&#233;p&#244;t de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli et on lance l'installation avec composer&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/spip" rel="tag"&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/webdev" rel="tag"&gt;webdev&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli est &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&lt;i&gt;une interface en ligne de commande pour &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/i&gt;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187;. Sa &lt;a href=&#034;https://contrib.spip.net/SPIP-Cli&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;documentation&lt;/a&gt; nous guide parfaitement pour une installation avec un acc&#232;s root ou sudo. Sur un h&#233;bergement mutualis&#233;, avec a minima un acc&#232;s &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; relativement ouvert, il faut adapter la proc&#233;dure.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Une fois connect&#233; via &lt;span class=&#034;caps&#034;&gt;SSH&lt;/span&gt; &#224; votre serveur, il convient tout d'abord de cr&#233;er un r&#233;pertoire &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/.local/bin&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir -p ~/.local/bin &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite, dans ce r&#233;pertoire, on clone le d&#233;p&#244;t de &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;-Cli et on lance l'installation avec &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;composer&lt;/code&gt; (chez alwaysdata, il faut utiliser &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;composer2&lt;/code&gt;)&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;cd ~/.local/bin/ git clone https://git.spip.net/spip-contrib-outils/spip-cli.git cd spip-cli/ composer install &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Ensuite, ne nous reste plus qu'&#224; cr&#233;er un lien symbolique afin de faciliter l'usage de la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip&lt;/code&gt;&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;ln -s /home/$USER/.local/bin/spip-cli/bin/spip /home/$USER/.local/bin/ &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour ce qui est de l'autocompl&#233;tion, il suffit d'&#233;diter le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;~/.profile&lt;/code&gt; ainsi&#160;:&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;bash&#034; class='spip_code spip_code_block language-bash' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;source ~/.local/bin/spip-cli/bin/spip_console_autocomplete &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Une fois Bash relanc&#233;, la commande devrait &#234;tre disponible et l'autompl&#233;tion de ses options fonctionner.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Optimisation des images sous SPIP</title>
		<link>https://www.momh.fr/optimisation-des-images-sous-spip</link>
		<guid isPermaLink="true">https://www.momh.fr/optimisation-des-images-sous-spip</guid>
		<dc:date>2022-04-01T08:20:50Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;Travaillant sur divers sites pr&#233;sentant de nombreux visuels bien souvent extr&#234;mement lourds, je cherchais un moyen d'optimiser ces images afin d'am&#233;liorer les &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;performances&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; de ces sites. &lt;br class='autobr' /&gt; Apr&#232;s une recherche rapide sur contrib.spip.net et sur plugins.spip.net, je n'ai pas trouv&#233; mon bonheur et ai donc d&#233;velopp&#233; un petit plugin, Images optimis&#233;es (optimages), en me basant sur le package image-optimizer propos&#233; par Spatie. &lt;br class='autobr' /&gt;
Le plugin Images optimis&#233;es est installable via &lt;span class=&#034;caps&#034;&gt;SVP&lt;/span&gt; puisque&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/spip" rel="tag"&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Travaillant sur divers sites pr&#233;sentant de nombreux visuels bien souvent extr&#234;mement lourds, je cherchais un moyen d'optimiser ces images afin d'am&#233;liorer les &#171;&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;performances&lt;small class=&#034;fine d-inline&#034;&gt;&#160;&lt;/small&gt;&#187; de ces sites.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;Apr&#232;s une recherche rapide sur &lt;a href=&#034;https://contrib.spip.net/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;contrib.spip.net&lt;/a&gt; et sur &lt;a href=&#034;https://plugins.spip.net/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugins.spip.net&lt;/a&gt;, je n'ai pas trouv&#233; mon bonheur&lt;span class=&#034;spip_note_ref&#034;&gt; [&lt;a href=&#034;#nb1&#034; class=&#034;spip_note&#034; rel=&#034;appendix&#034; title=&#034;Il s'av&#232;re qu'il existe le plugin SmushIt au fonctionnement quelque peu (&#8230;)&#034; id=&#034;nh1&#034;&gt;1&lt;/a&gt;]&lt;/span&gt; et ai donc d&#233;velopp&#233; un petit plugin, Images optimis&#233;es (optimages), en me basant sur le &lt;a href=&#034;https://github.com/spatie/image-optimizer&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;package image-optimizer propos&#233; par Spatie&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le plugin Images optimis&#233;es est installable via &lt;span class=&#034;caps&#034;&gt;SVP&lt;/span&gt; puisque disponible sur &lt;a href=&#034;https://plugins.spip.net/optimages.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugins.spip.net&lt;/a&gt; ou via &lt;a href=&#034;https://git.spip.net/spip-contrib-extensions/optimages.git&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Git&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le fonctionnement de ce plugin se veut tr&#232;s simple&#160;: si leur format est compatible (en l'&#233;tat &lt;span class=&#034;caps&#034;&gt;JPEG&lt;/span&gt;, &lt;span class=&#034;caps&#034;&gt;PNG&lt;/span&gt; et &lt;span class=&#034;caps&#034;&gt;GIF&lt;/span&gt; bien que la librairie prenne &#233;galement en charge les &lt;span class=&#034;caps&#034;&gt;SVG&lt;/span&gt; ou &lt;span class=&#034;caps&#034;&gt;WEBP&lt;/span&gt;), les images sont compress&#233;es d&#232;s leur t&#233;l&#233;versement gr&#226;ce aux utilitaires &lt;i&gt;jpegoptim&lt;/i&gt;, &lt;i&gt;pngquant&lt;/i&gt; et &lt;i&gt;optipng&lt;/i&gt;, ou enfin &lt;i&gt;gifsicle&lt;/i&gt;.&lt;/p&gt;
&lt;p&gt;Le plugin fournit une interface de configuration permettant de modifier, s'il d&#233;tecte les binaires de ces utilitaires, les arguments pass&#233;s &#224; ceux-ci (par d&#233;faut, ce sont les valeurs utilis&#233;es par la librairie image-optimizer).&lt;/p&gt;
&lt;p&gt;En l'&#233;tat, sur un &#233;chantillon loin d'&#234;tre repr&#233;sentatif, nous obtenons des r&#233;sultats de l'ordre de 60% de r&#233;duction du poids des &lt;span class=&#034;caps&#034;&gt;PNG&lt;/span&gt; et de 40 &#224; 50% pour les &lt;span class=&#034;caps&#034;&gt;JPEG&lt;/span&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div class='rss_notes'&gt;&lt;div id=&#034;nb1&#034;&gt;
&lt;p&gt;&lt;span class=&#034;spip_note_ref&#034;&gt;[&lt;a href=&#034;#nh1&#034; class=&#034;spip_note&#034; title=&#034;Notes 1&#034; rev=&#034;appendix&#034;&gt;1&lt;/a&gt;] &lt;/span&gt;Il s'av&#232;re qu'il existe le plugin SmushIt au fonctionnement quelque peu diff&#233;rent, puisqu'il n'agit pas sur les images lors de leur t&#233;l&#233;verserment mais seulement lors de leur affichage.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Prism, une aide &#224; l'&#233;dition pour SPIP</title>
		<link>https://www.momh.fr/prism-une-aide-a-l-edition-pour-spip</link>
		<guid isPermaLink="true">https://www.momh.fr/prism-une-aide-a-l-edition-pour-spip</guid>
		<dc:date>2021-05-23T12:30:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Brice Boucard</dc:creator>


		<dc:subject>webdev</dc:subject>
		<dc:subject>&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;</dc:subject>

		<description>
&lt;p&gt;Prism est un plugin pour &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; visant &#224; faciliter l'&#233;dition des contenus en ajoutant la coloration syntaxique aux raccourcis typographiques. &lt;br class='autobr' /&gt; S'appuyant sur les librairies d&#233;velopp&#233;es par Lea Verou PrismJS et Prism Live, le plugin Prism, disponible sur git.spip.net, propose donc une coloration syntaxique des raccourcis &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; sur tous les textarea` (les champs longs de saisie) dot&#233;s d'une barre d'&#233;dition, c'est-&#224;-dire o&#249; le Porte-plume est charg&#233; (par d&#233;faut ou gr&#226;ce au plugin Porte -plume&#160;(&#8230;)&lt;/p&gt;


-
&lt;a href="https://www.momh.fr/blog" rel="directory"&gt;Blog&lt;/a&gt;

/ 
&lt;a href="https://www.momh.fr/webdev" rel="tag"&gt;webdev&lt;/a&gt;, 
&lt;a href="https://www.momh.fr/spip" rel="tag"&gt;&lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt;&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_chapo'&gt;&lt;p&gt;Prism est un plugin pour &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; visant &#224; faciliter l'&#233;dition des contenus en ajoutant la coloration syntaxique aux raccourcis typographiques.&lt;/p&gt;&lt;/div&gt;
		&lt;div class='rss_texte'&gt;&lt;p&gt;S'appuyant sur les librairies d&#233;velopp&#233;es par Lea Verou &lt;a href=&#034;https://prismjs.com/index.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;PrismJS&lt;/a&gt; et &lt;a href=&#034;https://live.prismjs.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Prism Live&lt;/a&gt;, le plugin Prism, disponible sur &lt;a href=&#034;https://git.spip.net/spip-contrib-extensions/prism&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;git.spip.net&lt;/a&gt;, propose donc une coloration syntaxique des raccourcis &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; sur tous les &lt;code class=&#034;language-html&#034;&gt;textarea` (les champs longs de saisie) dot&#233;s d'une barre d'&#233;dition, c'est-&#224;-dire o&#249; le Porte-plume est charg&#233; (par d&#233;faut ou gr&#226;ce au &lt;a href=&#034;https://plugins.spip.net/ppp.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;plugin Porte -plume partout&lt;/a&gt;).&lt;/p&gt;
&lt;div class='spip_document_112 spip_document spip_documents spip_document_image spip_documents_center spip_document_center'&gt;
&lt;figure class=&#034;spip_doc_inner&#034;&gt; &lt;a href='https://www.momh.fr/IMG/png/prism.png' class=&#034;spip_doc_lien mediabox&#034; type=&#034;image/png&#034;&gt; &lt;img src='https://www.momh.fr/local/cache-vignettes/L500xH246/prism-bfe08.png?1725216335' width='500' height='246' alt='' /&gt;&lt;/a&gt;
&lt;/figure&gt;
&lt;/div&gt;
&lt;p&gt;Il convient de noter que Prism propose la coloration syntaxique et des raccourcis typographiques propres &#224; &lt;span class=&#034;caps&#034;&gt;SPIP&lt;/span&gt; et la syntaxe Markdown, lorsque &lt;a href=&#034;https://plugins.spip.net/markdown.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;le plugin Markdown&lt;/a&gt; est actif et configur&#233; pour appliquer la syntaxe Markdown par d&#233;faut.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
