<?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>Développement | Undisconnected</title>
	<atom:link href="https://undisconnected.com/category/developpement/feed/" rel="self" type="application/rss+xml" />
	<link>https://undisconnected.com</link>
	<description>Reste connecté</description>
	<lastBuildDate>Tue, 08 Aug 2023 08:42:29 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>JSON dans PostgreSQL, une hérésie ? </title>
		<link>https://undisconnected.com/json-dans-postgresql-une-heresie/</link>
					<comments>https://undisconnected.com/json-dans-postgresql-une-heresie/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Sat, 21 Jan 2023 10:17:29 +0000</pubDate>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Postgresql]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=3057</guid>

					<description><![CDATA[<p>Eh oui, stocker des données au format JSON dans PostgreSQL c&#8217;est possible. À l&#8217;instar des…</p>
The post <a href="https://undisconnected.com/json-dans-postgresql-une-heresie/">JSON dans PostgreSQL, une hérésie ? </a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Eh oui, stocker des données au format JSON dans PostgreSQL c&rsquo;est possible. À l&rsquo;instar des base de données NoSQL comme MongoDB, PostgresSQL peut stocker des documents au format JSON.&nbsp;</p>
<p>Mais pourquoi ?&nbsp;</p>
<p>Eh bien, d&rsquo;après-moi c&rsquo;est parce que cela offre le meilleur des 2 mondes. Il arrive souvent que dans les applications modernes, le recours au stockage de document (clé / valeur) soit très pratique. Pour enregistrer des logs, des informations rapidement accessibles, de l&rsquo;information brut et non relative &#8230; Les applications modernes ne requiert pas en tout temps des données relative.</p>
<p>Une autre raison qui me parait intéressante est que des fois, la fainéantise (ou le manque de temps) du développeur va faire que certaine données ne seront pas collectées et enregistrées en base données. Si la modélisation demande d&rsquo;ajouter 7 tables et que le schéma de la base de données devient une usine à gaz, le développeur est humain, oui, et des fois ça ne le tente pas, il préfère aller se boire une bière. C&rsquo;est alors que le type de données JSON intervient pour permettre de « jeter » un groupe de donnée au format JSON dans un champs.&nbsp;</p>
<p>Il suffit de créer un champs de type JSON ou JSONB (nous verrons la différence plus tard) et vous avez accès au stockage de donnée hiérarchique que permet JSON. Mais ce n&rsquo;est pas tout, sinon vous auriez pu mettre vos données au format JSON dans un champ de type « TEXT ». L&rsquo;important avec le type de donnée JSON est que vous allez pouvoir faire des requêtes SQL directement dans le JSON. PostgreSQL propose des fonctions et des opérateurs spécifiques au format JSON pour faire vos requêtes, et cerise sur le gâteau, c&rsquo;est très efficace et rapide.</p>
<h2>JSON ou JSONB&nbsp;</h2>
<p>Lorsque vous souhaitez enregistrer des données au format JSON dans PostgreSQL, vous avez le choix en JSON et JSONB (JSON Binary).&nbsp;</p>
<p>Les deux types de données JSON et JSONB dans Postgres sont utilisés pour stocker des données au format JSON, mais ils ont des comportements différents en ce qui concerne l&rsquo;indexation et la vérification de la validité des données.</p>
<p><strong>JSON</strong> est un type de données non indexable, ce qui signifie qu&rsquo;il n&rsquo;est pas possible d&rsquo;utiliser des index pour accélérer les requêtes qui filtrent ou trient des données JSON. Il est également moins efficace pour stocker des données qui contiennent des erreurs de syntaxe ou des valeurs non valides.</p>
<p><strong>JSONB</strong> est un type de données indexable, il permet d&rsquo;utiliser des index pour accélérer les requêtes qui filtrent ou trient des données. Il est également plus efficace pour stocker des données qui contiennent des erreurs de syntaxe ou des valeurs non valides car il vérifie la validité des données au moment de l&rsquo;insertion.</p>
<h2>Requêtes SQL sur un champs JSON dans PostgreSQL</h2>
<p>Pour cet article, nous allons nous concentrer sur les opérateurs, mais sachez qu&rsquo;ils existent aussi plein de fonctions dont vous pouvez trouver la liste dans la <a href="https://www.postgresql.org/docs/9.3/functions-json.html" target="_blank" rel="noopener">documentation de PostgreSQL</a>. Les opérateurs vous permettent de faire des requêtes SQL simple dans un champs JSON ou JSONB.</p>
<p>La flèche courte -&gt; garde le type JSON</p>
<p>La flèche longue -&gt;&gt; retourne du texte.</p>
<p>Voici le code SQL pour reproduire ce petit tutoriel vous même :&nbsp;</p>



<pre class="wp-block-code"><code lang="sql" class="language-sql">CREATE TABLE transaction (
	id serial NOT NULL PRIMARY KEY,
	message json NOT NULL
);</code></pre>



<pre class="wp-block-code"><code lang="sql" class="language-sql">INSERT INTO transaction (message)
VALUES('{ "order_id": "7856", "items": {"product": "Beer","qty": 24}}'),
      ('{ "order_id": "9801", "items": {"product": "Pizza","qty": 1}}'),
      ('{ "order_id": "10089", "items": {"product": "Wine","qty": 2}}');</code></pre>



<p>Voici un exemple de requête pour récupérer tous les order_id du champs « message » de la table « transaction ». Attention ça va aller vite : </p>



<pre class="wp-block-code"><code lang="sql" class="language-sql">SELECT message-&gt;'order_id' from transaction;</code></pre>



<p>Plutôt simple, non ? ça nous retourne 3 ligne : « 7856 », « 9801 » et « 10089 »</p>
<p>Maintenant si je souhaite obtenir les items dont le order_id est 9801, voici la requête :</p>



<pre class="wp-block-code"><code lang="sql" class="language-sql">SELECT message-&gt;'items' as items from orders WHERE message -&gt;&gt; 'order_id' = '9801';</code></pre>



<h2 class="wp-block-heading">Aller plus loin sur JSON et JSONB dans Postgres</h2>



<p>Voici une vidéo pour étendre le sujet du JSON &amp; JSONB pour Postgres : </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Rob Conery - Document Storage Techniques with PostgreSQL and JSONB" width="500" height="281" src="https://www.youtube.com/embed/rg_GiOZ5Owk?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



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



<p>Vous voyez la puissance du couple JSON et SQL ? C&rsquo;est super utile de pouvoir stocker des données non organisées dans un JSON et de pouvoir faire une requête SQL dans le JSON directement. C&rsquo;est un gain de temps énorme et ça peut aussi améliorer votre application puisque le SQL va pouvoir pré-mâcher les données.</p>



<p>Si vous êtes intéressé à en savoir plus sur les champs de type JSON dans Postgres et comment travailler avec ceux-ci, à voir plus d&rsquo;exemples … Laissez un commentaire et je pourrais faire un autre article plus en profondeur.</p>The post <a href="https://undisconnected.com/json-dans-postgresql-une-heresie/">JSON dans PostgreSQL, une hérésie ? </a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/json-dans-postgresql-une-heresie/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Stocker des prix dans PostgreSQL, quel type de données ?</title>
		<link>https://undisconnected.com/stocker-des-prix-dans-postgres-sql-quel-type-de-donnees/</link>
					<comments>https://undisconnected.com/stocker-des-prix-dans-postgres-sql-quel-type-de-donnees/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Mon, 03 Feb 2020 10:32:32 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Postgresql]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2940</guid>

					<description><![CDATA[<p>Un petit aide mémoire pour moi-même, mais peut-être que ça servira à quelques-un d&#8217;entre vous…</p>
The post <a href="https://undisconnected.com/stocker-des-prix-dans-postgres-sql-quel-type-de-donnees/">Stocker des prix dans PostgreSQL, quel type de données ?</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Un petit aide mémoire pour moi-même, mais peut-être que ça servira à quelques-un d&rsquo;entre vous !&nbsp;</p>
<p>Pour stocker un prix dans PostgreSQL il faut utiliser le type de données (datatype) :&nbsp;</p>



<pre class="wp-block-code"><code>NUMERIC(precision, scale)</code></pre>



<p>En pratique, par exemple : numeric(7,2) permettra de stocker un prix jusqu&rsquo;à 99999.99. Il y a donc 7 digits au maximum (precision) et 2 après la virgule. PostgreSQL fera un arrondi de tout chiffre pour stocker uniquement 2 chiffres après la virgule.</p>
<p>Pour l&rsquo;exemple, 135.784 a une « precision » de 6 et un « scale » de 3</p>
<p>Si le prix est supérieur, alors PostgreSQL retourne une erreur du type : </p>



<pre class="wp-block-code"><code>ERROR:  numeric field overflow
DETAIL:  A field with precision 5, scale 2 must round to an absolute value less than 10^3.</code></pre>The post <a href="https://undisconnected.com/stocker-des-prix-dans-postgres-sql-quel-type-de-donnees/">Stocker des prix dans PostgreSQL, quel type de données ?</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/stocker-des-prix-dans-postgres-sql-quel-type-de-donnees/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Validation Let&#8217;s Encrypt avec un domaine protégé</title>
		<link>https://undisconnected.com/validation-lets-encrypt-avec-un-domaine-protege/</link>
					<comments>https://undisconnected.com/validation-lets-encrypt-avec-un-domaine-protege/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Mon, 28 Aug 2017 22:34:18 +0000</pubDate>
				<category><![CDATA[Config serveur]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Hébergement Web]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[htpasswd]]></category>
		<category><![CDATA[let's encrypt]]></category>
		<category><![CDATA[ssl]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2842</guid>

					<description><![CDATA[<p>Je viens de perdre un peu de temps sur un problème, alors je partage ma…</p>
The post <a href="https://undisconnected.com/validation-lets-encrypt-avec-un-domaine-protege/">Validation Let’s Encrypt avec un domaine protégé</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je viens de perdre un peu de temps sur un problème, alors je partage ma solution ici.</p>
<p>J&rsquo;ai un nouveau serveur sur lequel je souhaitais passer en SSL pour mes domaines protégés. Comme Let&rsquo;s Encrypt propose des certificats SSL gratuits et de qualité, je me suis tourné vers cette solution. Pour l&rsquo;installation, c&rsquo;est facile et vous trouverez plein de tutoriel sur ce sujet.</p>
<p>Let&rsquo;s Encrypt propose de valider le nom de domaine en allant vérifier le répertoire .well-known dans votre racine web. Comme chaque certificat émis ne dure que 3 mois, il faut créer une tâche CRON qui va permettre de valider le domaine, émettre un nouveau certificat et l&rsquo;installer.</p>
<p>Problème, si votre accès au domaine est protégé par un .htaccess couplé à un .htpasswd alors la validation n&rsquo;a pas lieu correctement puisque l&rsquo;accès et refusé. Voici une solution très simple. à laquelle j&rsquo;aurais dû pensé plus tôt &#8230; Du fait de son fonctionnement même htaccess fonctionne répertoire par répertoire, il suffit donc d&rsquo;aller créer un .htaccess dans le répertoire .well-known et y ajouter les instructions suivantes :</p>
<pre class="lang:default decode:true ">Satisfy Any
Order Allow,Deny
Allow from all</pre>
<p>Vous pouvez maintenant tester et Let&rsquo;s Encrypt aura bien accès au répertoire .well-know pour sa validation. Ainsi le certificat pourra être émis de nouveau sans problème.</p>
<p>J&rsquo;espère que ça vous aidera.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://undisconnected.com/validation-lets-encrypt-avec-un-domaine-protege/">Validation Let’s Encrypt avec un domaine protégé</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/validation-lets-encrypt-avec-un-domaine-protege/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Sitemap : Erreur 404 avec WordPress sous Nginx</title>
		<link>https://undisconnected.com/sitemap-erreur-404-avec-wordpress-sous-nginx/</link>
					<comments>https://undisconnected.com/sitemap-erreur-404-avec-wordpress-sous-nginx/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 08 Aug 2017 17:47:47 +0000</pubDate>
				<category><![CDATA[Config serveur]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils / Logiciels]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[404]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[sitemap]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2836</guid>

					<description><![CDATA[<p>Comme je viens de passer un petit moment à trouver une solution pour ce problème,…</p>
The post <a href="https://undisconnected.com/sitemap-erreur-404-avec-wordpress-sous-nginx/">Sitemap : Erreur 404 avec WordPress sous Nginx</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Comme je viens de passer un petit moment à trouver une solution pour ce problème, je me suis dit que je partagerais la solution ici comme mémo mais aussi pour ceux qui seraient confronté au problème.</p>
<p>Mon plugin WordPress pour créer un sitemap est Better WordPress Google XML Sitemaps. Mais le problème semble être le même avec Yoast SEO. Vous pourrez surement donc adapter la solution pour Yoast.</p>
<p>En configurant votre Nginx pour WordPress, vous devez avoir créé une ligne qui ressemble à ceci :</p>
<pre class="lang:default decode:true ">location / {
  # include the "?$args" part so non-default permalinks doesn't break when using query string
  try_files $uri $uri/ /index.php?$args;
}</pre>
<p>Comme les plugins de WordPress n&rsquo;écrive pas le fichier sitemap.xml en dure sur le serveur, il génère en dynamique (avec cache) le sitemap. Il faut donc diriger sitemap.xml vers la bonne URL qui va générer le sitemap. Voici pour ma part ce que j&rsquo;ai utilisé dans mon fichier nginx.conf (dans la racine de mon site, mais vous pouvez le mettre dans votre fichier de config de nginx ou de vhost directement).</p>
<pre class="lang:default decode:true ">## Sitemap XML config
rewrite ^/sitemapindex\.xml$ /index.php?gxs_module=sitemapindex last;
rewrite ^/post\.xml$ /index.php?gxs_module=post last;
rewrite ^/page\.xml$ /index.php?gxs_module=page last;
rewrite ^/post_google_news\.xml$ /index.php?gxs_module=post_google_news last;
rewrite ^/taxonomy_category\.xml$ /index.php?gxs_module=taxonomy_category last;</pre>
<p><strong>ATTENTION : À ce stade, si vous souhaitez tester si ça fonctionne il faut REDÉMARRER NGINX</strong></p>
<p>Soit faire la commande suivante :</p>
<pre class="lang:default decode:true ">sudo systemctl restart nginx</pre>
<p>Voilà, votre sitemap a retrouvé ces couleurs et est prêt à servir google et autres répertoires &#8230;</p>
<p>Si vous avez des questions, n&rsquo;hésitez pas.</p>The post <a href="https://undisconnected.com/sitemap-erreur-404-avec-wordpress-sous-nginx/">Sitemap : Erreur 404 avec WordPress sous Nginx</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/sitemap-erreur-404-avec-wordpress-sous-nginx/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Amélioration des performances de WPML</title>
		<link>https://undisconnected.com/amelioration-des-performances-de-wpml/</link>
					<comments>https://undisconnected.com/amelioration-des-performances-de-wpml/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Sun, 30 Oct 2016 16:42:58 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[langue]]></category>
		<category><![CDATA[multisite]]></category>
		<category><![CDATA[wordpres]]></category>
		<category><![CDATA[wpml]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2723</guid>

					<description><![CDATA[<p>Je sais que vous êtes plusieurs à utiliser WPML pour vos sites multilingues sous WordPress.…</p>
The post <a href="https://undisconnected.com/amelioration-des-performances-de-wpml/">Amélioration des performances de WPML</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je sais que vous êtes plusieurs à utiliser <a href="https://undisconnected.com/11lr" target="_blank">WPML</a> pour vos sites multilingues sous WordPress. Je m&rsquo;en sert moi même pour quelques sites de ma compagnie et de clients. Je dois avouer que la performance de WPML a toujours été un petit problème qui pouvait même se révéler très dérangeant dans certain cas comme avec WooCommerce.</p>
<p>C&rsquo;est toujours appréciable de voir qu&rsquo;une équipe, comme celle de WPML, prends au sérieux les gens qui paye pour leur plugin et écoute le feedback.</p>
<h2>D&rsquo;où viennent / venaient les problèmes de performances</h2>
<p>Lorsque j&rsquo;utilise <a href="https://undisconnected.com/11lr" target="_blank">WPML</a>, j&rsquo;installe presque dans tous les cas, ces plugins « compagnons » : WPML String translation et WPML Media. Lorsque tout cela est installé sur votre WordPress, il y a 20 nouvelles tables MySQL qui s&rsquo;installent. Pour comparaison, WordPress ne possède que 12 tables à lors d&rsquo;une nouvelle installation. Donc voilà, WPML est gourmand en ressource mémoire et CPU pour les requêtes SQL qu&rsquo;il exécute pour afficher les pages. Plus vous avez de chaînes traduites, plus il exécute des requêtes.</p>
<p>Dans le cas de WooCommerce, si vous utilisez les variations de produits (comme couleurs ou tailles), WPML démultiplie le nombre de requêtes ce qui fait chauffer le processeur et gonfler la mémoire. Ceci provoque un vrai goulot d&rsquo;étranglement lors du chargement de la page.</p>
<h2>Comment la version 3.5 de WPML améliore les performances</h2>
<p>Peu importe ce que vous avez entendu sur <a href="https://undisconnected.com/11lr" target="_blank">WPML</a>, je vous conseille de lui donner une chance avec cette version 3.5 (et plus). D&rsquo;après un article de WPML, qui explique leur processus d&rsquo;optimisation, des efforts ont été déployé pour tester différentes solutions et ont réussi à améliorer les performances de façon très perceptibles. Voici un tableau donné par l&rsquo;équipe elle même qui explique les performances gagnées.</p>
<table>
<tbody>
<tr>
<th>PHP version</th>
<th>Page</th>
<th>Memory consumption saving</th>
<th>CPU utilization saving</th>
</tr>
<tr>
<td rowspan="2">PHP 5.6</td>
<td>Home</td>
<td>60%</td>
<td>41%</td>
</tr>
<tr>
<td>Admin dashboard</td>
<td>41%</td>
<td>33%</td>
</tr>
<tr>
<td rowspan="2">PHP 7</td>
<td>Home</td>
<td>50%</td>
<td>16%</td>
</tr>
<tr>
<td>Admin dashboard</td>
<td>33%</td>
<td>15%</td>
</tr>
</tbody>
</table>
<p>Autant dire que ça fait une différence lors du chargement de vos pages mais aussi de l&rsquo;admin. Pour ceux qui ont l&rsquo;habitude d&rsquo;attendre que l&rsquo;admin se charge, je peux vous dire que c&rsquo;est un vent de fraicheur <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Je n&rsquo;ai pas encore pu tester avec PHP7, mais comme l&rsquo;explique <a href="https://undisconnected.com/11lr" target="_blank">WPML</a>, les anciennes versions de WPML sont beaucoup plus réactives sur PHP7 que PHP5. Cependant il semble y avoir un boost de performance dans les 2 cas.</p>
<p>Pour les développeurs de sites WordPress qui utilisent souvent WPML, je pense que de mettre à jour le(s) plugin(s) est un must. Si vous avez l&rsquo;occasion de pouvoir avoir un hébergement PHP7, vos clients et les visiteurs de ces sites ne pourrons que mieux vous aimer.</p>
<p>Si vous avez des retour d&rsquo;expérience avec WPML, n&rsquo;hésitez pas à mettre un message plus bas.</p>
<p>&nbsp;</p>
<div class="readmore" style="margin-bottom: 27px;"><a class="btn" href="https://undisconnected.com/11lr" target="_blank">Cliquez ici pour obtenir WPML</a></div>
<div class="readmore" style="margin-bottom: 27px;"><em>PS : Si vous passez par une de mes liens pour acheter WPML, je touche une petite commission. Sachez que ça ne vous coûte pas plus cher et que ça m&rsquo;aide à sponsoriser ce genre d&rsquo;article.</em></div>The post <a href="https://undisconnected.com/amelioration-des-performances-de-wpml/">Amélioration des performances de WPML</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/amelioration-des-performances-de-wpml/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Tester PHP7 avec MAMP PRO 3</title>
		<link>https://undisconnected.com/tester-php7-avec-mamp-pro-3/</link>
					<comments>https://undisconnected.com/tester-php7-avec-mamp-pro-3/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Wed, 24 Feb 2016 01:53:21 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils / Logiciels]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2668</guid>

					<description><![CDATA[<p>La dernière mouture de PHP est sortie en décembre 2015 dans un silence assez obscur,…</p>
The post <a href="https://undisconnected.com/tester-php7-avec-mamp-pro-3/">Tester PHP7 avec MAMP PRO 3</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>La dernière mouture de PHP est sortie en décembre 2015 dans un silence assez obscur, pourtant, si la version 6 de PHP est morte dans l&rsquo;oeuf, PHP 7 semble très prometteur. Voici une liste de quelques nouveautés et améliorations de PHP 7 :</p>
<ul>
<li>Performance améliorée : PHP 7 est jusqu&rsquo;à 2 fois plus rapide que PHP 5.6</li>
<li>Réduction de l&rsquo;utilisation mémoire</li>
<li>support du 64 bit plus consistant</li>
<li>Passage de beaucoup d&rsquo;erreurs fatales en Exceptions</li>
<li>Générateur de nombre aléatoire sécuritaire</li>
<li>Classes anonymes</li>
</ul>
<h2>Tester votre code avec PHP 7 et d&rsquo;autres versions de PHP grâce à MAMP PRO 3.</h2>
<p>Si vous souhaitez tester votre code avec PHP 7 avant de passer en production, <a href="https://undisconnected.com/xbhj" target="_blank">MAMP PRO 3</a> est solution vraiment simple. La version 3.5 propose nativement PHP7 et vous permet de faire un « virtual host » avec une version différente de PHP. Vous pourrez donc par exemple avoir un site en PHP 5.6, un autre en PHP 5.4.2 puis un dernier en PHP 7. <a href="https://undisconnected.com/xbhj" target="_blank">MAMP PRO</a> se révèle donc très pratique pour tester votre code sous différente version de PHP, une chose assez compliquée à mettre en place sur un serveur de production.</p>
<p><img fetchpriority="high" decoding="async" class="size-full wp-image-2678 aligncenter" style="line-height: 1.5;" src="https://undisconnected.com/wp-content/uploads/2016/02/Capture-d’écran-2016-02-17-à-22.03.36-1.png" alt="Capture d’écran 2016-02-17 à 22.03.36" width="942" height="742" srcset="https://undisconnected.com/wp-content/uploads/2016/02/Capture-d’écran-2016-02-17-à-22.03.36-1.png 942w, https://undisconnected.com/wp-content/uploads/2016/02/Capture-d’écran-2016-02-17-à-22.03.36-1-300x236.png 300w, https://undisconnected.com/wp-content/uploads/2016/02/Capture-d’écran-2016-02-17-à-22.03.36-1-768x605.png 768w" sizes="(max-width: 942px) 100vw, 942px" /></p>
<p><a href="https://undisconnected.com/xbhj" target="_blank">MAMP PRO 3</a> se révèle donc très pratique pour tester votre code en local avec différentes versions de PHP. Avec l&rsquo;évolution du paysage des hébergements dans les futurs mois, tester votre code dès maintenant pour se préparer à PHP7 semble être une bonne pratique. Étant donnée les gains de performance engendrés par PHP7, il se peut que beaucoup d&rsquo;hébergeur passe à cette version pour faire quelques économies.</p>
<p>Si vous avez des questions, n&rsquo;hésitez pas à les poser plus bas dans cette page. Ça me fera plaisir d&rsquo;y répondre.</p>
<div class="readmore" style="margin-bottom:27px;"><a class="btn" href="https://undisconnected.com/xbhj" target="_blank">Obtenir MAMP PRO 3</a></div>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://undisconnected.com/tester-php7-avec-mamp-pro-3/">Tester PHP7 avec MAMP PRO 3</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/tester-php7-avec-mamp-pro-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutoriel site web multilingue avec WordPress et WPML &#8211; Partie 1 &#8211; Installation et configuration</title>
		<link>https://undisconnected.com/tutoriel-site-web-multilingue-wordpress-1/</link>
					<comments>https://undisconnected.com/tutoriel-site-web-multilingue-wordpress-1/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Sat, 08 Aug 2015 18:26:51 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils / Logiciels]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[site multilingue]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wpml]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2465</guid>

					<description><![CDATA[<p>Créer un site web multilingue est toujours un beau problème. En France comme au Québec,…</p>
The post <a href="https://undisconnected.com/tutoriel-site-web-multilingue-wordpress-1/">Tutoriel site web multilingue avec WordPress et WPML – Partie 1 – Installation et configuration</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Créer un site web multilingue est toujours un beau problème. En France comme au Québec, en tant que freelance, il n&rsquo;est pas rare d&rsquo;avoir à faire un site web en plusieurs langues. J&rsquo;ai donc décidé de faire un tutoriel qui portera sur comment utiliser WordPress et WPML pour créer un site multilingue. Il sera composé de 3 parties distincte. WPML est LE plugin à utiliser pour les sites multilingues. Même si payant (peu cher pour le service rendu à mon avis), ceci assure un suivi du plugin avec une équipe performante.</p>
<ol style="list-style-type: upper-roman;">
<li><strong>Installation et configuration</strong></li>
<li>Traduction des articles, pages et custom post WordPress</li>
<li>Traduction des chaînes de caractère (texte en PHP (hardcodé) dans le thème ou les widgets)</li>
</ol>
<div class="readmore" style="margin-bottom:27px;"><a class="btn" href="https://undisconnected.com/wpml-plugin" target="_blank">Obtenir le plugin WPML pour WordPress</a></div>
<h2>Installation de WPML</h2>
<p>L&rsquo;installation de WPML est très simple, et vous pouvez l&rsquo;ajouter à n&rsquo;importe quel moment du développement d&rsquo;un site. Voici les étapes à suivre :</p>
<ul>
<li>Aller sur le site de WPML : <a href="https://wpml.org/fr//?aid=52890&amp;affiliate_key=6AZeCRAr7Sxh" target="_blank">http://wpml.org/fr</a>.</li>
<li>Décider le plan que vous souhaitez prendre. il existe 3 plans différents. Si vous faites un site web complet en utilisant WordPress comme un CMS, si vous utilisez les « custom posts » et « custom taxonomy » vous devrez prendre le plan CMS multilingue à 79$.</li>
<li>Une fois acheté vous allez pouvoir télécharger le plugin.</li>
<li>Aller dans l&rsquo;admin de votre WordPress puis dans le menu « Extensions » puis « Ajouter », cliquez sur Ajouter une extension et sélectionné l&rsquo;archive que vous venez de récupérer.</li>
<li>Une fois installé, vous verrez dans votre menu de gauche, un nouveau menu WPML.</li>
</ul>
<p><em>Important : Si vous êtes développeur et que vous souhaitez utiliser le plugin WPML sur le site de vos clients, je vous encourage à prendre le plan CMS multilingue à vie.</em></p>
<h3>Choisissez les langues du projet</h3>
<p>Pour la configuration, c&rsquo;est assez simple, il va vous falloir définir quelles langues vous souhaitez utiliser, quelle langue vous souhaitez par défaut, comment vous souhaitez ajouter visuellement le sélecteur de langue sur votre site et très important, la façon dont les URL vont fonctionner.</p>
<p>Voici une série d&rsquo;images annotées qui vont vous aider à comprendre comment faire :</p>
<p><a href="https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress.png"><img decoding="async" class="alignnone size-full wp-image-2481" src="https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress.png" alt="Window_et_Langues_‹_Fabline_—_WordPress" width="940" height="237" srcset="https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress.png 940w, https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress-300x75.png 300w" sizes="(max-width: 940px) 100vw, 940px" /></a></p>
<p><a href="https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress-2.png"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2482" src="https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress-2.png" alt="Window_et_Langues_‹_Fabline_—_WordPress 2" width="1013" height="680" srcset="https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress-2.png 1013w, https://undisconnected.com/wp-content/uploads/2014/10/Window_et_Langues_‹_Fabline_—_WordPress-2-300x201.png 300w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></a></p>
<p>&nbsp;</p>
<h3>Choisir le format des URL pour les langues</h3>
<p>Une fois les langues ajoutées au projet, vous devez spécifier la façon dont vous souhaiter que le système de langue fonctionne. Vous avez alors 3 choix :</p>
<ol>
<li>Langues différentes dans les répertoires (http://domaine.com/en/)</li>
<li>Un sous-domaine différent pour chaque langue (http://en.domaine.com/)</li>
<li>Langue ajoutée dans un paramètre GET (http://domaine.com?lang=en)</li>
</ol>
<p>Pour ma part, je conseille souvent le choix 1 qui est à mon avis le plus jolie à l&rsquo;oeil mais aussi qui semble être le meilleur choix pour votre SEO.</p>
<h3>Sélecteur de langue</h3>
<p>La rubrique suivante vous propose de régler la façon dont le sélecteur de langue va s&rsquo;afficher. Je ne suis vraiment pas fan de cette façon de faire, je ne me sers donc juste pas de ce composant. Voici ce que je fais à la place et qui me donne beaucoup plus de liberté au niveau du placement et de la forme. Vous pouvez copier ce bout de code dans votre fichier functions.php :</p>
<pre class="lang:php decode:true ">function icl_post_languages(){
  $langs = "";
  $languages = icl_get_languages('skip_missing=1');
  
  $i = 0;
  
  if(1 &lt; count($languages)){
    foreach($languages as $l){
      if(!$l['active'])
        $langs .= '&lt;li&gt;&lt;a href="'.$l['url'].'"&gt;'.strtoupper($l['language_code']).'&lt;/a&gt;&lt;/li&gt;';
      else {
        $langs .= '&lt;li class="current"&gt;&lt;a href="'.$l['url'].'"&gt;'.strtoupper($l['language_code']).'&lt;/a&gt;&lt;/li&gt;';
      }
      
      if($i == 0) {
        $langs .= " | ";
      }
      
      $i++;
    }
    echo $langs;
  }
}</pre>
<p>Vous pouvez bien entendu modifier ce code pour afficher le sélecteur de langue de la façon que vous souhaitez. Une fois prêt, vous pouvez appeler cette fonction dans votre thème, là où vous souhaitez voir apparaître le sélecteur. Vous pouvez aussi ajouter du CSS pour habiller ce code HTML selon vos besoins.</p>
<h2>Conclusion</h2>
<p>Si vous avez besoin d&rsquo;aide à cette étape (installation et configuration), laissez un message dans les commentaires et j&rsquo;essayerais de vous aider au maximum de mes connaissances. La suite de ce tutoriel suivra sous peu et nous verrons le moyen de traduire les articles, pages er custom post. À bientôt !</p>
<div class="readmore"><a class="btn" href="https://undisconnected.com/wpml-plugin" target="_blank">Obtenir le plugin WPML pour WordPress</a></div>The post <a href="https://undisconnected.com/tutoriel-site-web-multilingue-wordpress-1/">Tutoriel site web multilingue avec WordPress et WPML – Partie 1 – Installation et configuration</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/tutoriel-site-web-multilingue-wordpress-1/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>bug wordpress &#8211; certains metapost ou custom fields n&#8217;apparaissent pas en mode « aperçu »</title>
		<link>https://undisconnected.com/wordpress-bug-certains-metapost-ou-custom-fields-napparaissent-pas-en-mode-apercu/</link>
					<comments>https://undisconnected.com/wordpress-bug-certains-metapost-ou-custom-fields-napparaissent-pas-en-mode-apercu/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 14 Jul 2015 12:40:16 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[aperçu]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[custom fields]]></category>
		<category><![CDATA[metapost]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2620</guid>

					<description><![CDATA[<p>Je suis tombé sur un méchant bug de WordPress qui m&#8217;a fait perdre beaucoup de…</p>
The post <a href="https://undisconnected.com/wordpress-bug-certains-metapost-ou-custom-fields-napparaissent-pas-en-mode-apercu/">bug wordpress – certains metapost ou custom fields n’apparaissent pas en mode « aperçu »</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Je suis tombé sur un méchant bug de WordPress qui m&rsquo;a fait perdre beaucoup de temps alors j&rsquo;aimerais partager la solution à ce problème ici à des fins d&rsquo;archive et pour d&rsquo;autres qui pourrait retrouver ce problème.</p>
<h2>Explication du bug</h2>
<p>Dans l&rsquo;admin de WordPress il est possible de visualiser un article en mode aperçu pour tester et voir le rendu avant de mettre en ligne cet article. Dans mon cas et dans certains articles, j&rsquo;avais des problèmes d&rsquo;affichage liés au fait que certain metapost (Custom Fields) n&rsquo;apparaissaient juste pas dans l&rsquo;article.</p>
<h2>Solution et méthode pour déboguer le problème</h2>
<p>Après beaucoup de test de code et autre, j&rsquo;ai vérifié que ce problème apparaissait uniquement dans l&rsquo;admin et en mode preview. J&rsquo;ai alors commencé par désactiver les plugins reliés uniquement à l&rsquo;admin un par un &#8230;</p>
<p><strong>Pour rappel, il y a 2 solutions efficaces pour déboguer Wordpress : </strong></p>
<ol>
<li>Désactiver tous les plugins et les remettre un par un en vérifiant que le problème n&rsquo;est plus là à chaque fois afin d&rsquo;isoler le plugin responsable du bug. (et oui, c&rsquo;est souvent un plugin, rarement WordPress lui-même qui pose problème).</li>
<li>Si vous êtes sur un site en production, des fois il est un peu barbare de désactiver tous les plugin puisque votre site pourrait ne plus ressembler à rien. L&rsquo;autre méthode est alors de désactiver un plugin à la fois et le réactiver si le problème persiste. Lorsque le problème n&rsquo;est plus là, vous devez avoir trouvé le plugin responsable !</li>
</ol>
<p>Pour ma part, j&rsquo;ai utilisé la 2e solution et j&rsquo;ai rapidement isolé le plugin « Custom Fields Template ». Ce fidèle plugin presque installé depuis 4 ans, m&rsquo;a fait perdre une demi-journée &#8230; après m&rsquo;avoir fait gagner beaucoup de temps (je dois l&rsquo;avouer).</p>
<p>Bref, si vous avez ce problème d&rsquo;aperçu (preview) dans WordPress, c&rsquo;est donc le plugin dont vous devrez vous séparer !</p>
<p>J&rsquo;espère que ça aidera quelqu&rsquo;un !</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>The post <a href="https://undisconnected.com/wordpress-bug-certains-metapost-ou-custom-fields-napparaissent-pas-en-mode-apercu/">bug wordpress – certains metapost ou custom fields n’apparaissent pas en mode « aperçu »</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/wordpress-bug-certains-metapost-ou-custom-fields-napparaissent-pas-en-mode-apercu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Créer un diagramme circulaire avec Google Charts</title>
		<link>https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/</link>
					<comments>https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/#comments</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 24 Feb 2015 05:17:18 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Visualisation de données]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2527</guid>

					<description><![CDATA[<p>Grossièrement appelés diagrammes de Normandie « camemberts », les diagrammes circulaires sont parfaits pour résumer un ensemble de données…</p>
The post <a href="https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/">Créer un diagramme circulaire avec Google Charts</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>Grossièrement appelés <del>diagrammes de Normandie</del> « camemberts », les diagrammes circulaires sont parfaits pour résumer un ensemble de données à une variable. Il est très facile de créer ce type de diagramme grâce à des librairies comme Highchart ou Google Charts. Aujourd&rsquo;hui, je vais vous montrer comment créer un diagramme circulaire grâce à Google Chart.</p>
<p>&nbsp;</p>
<pre class="lang:default decode:true">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Diagramme circulaire&lt;/title&gt;
&lt;meta charset="UTF-8"&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;script type="text/javascript" src="https://www.google.com/jsapi"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
  google.load("visualization", "1", {packages:["corechart"]});
  google.setOnLoadCallback(drawChart);
  function drawChart() {
    // Chart 1
    var data = google.visualization.arrayToDataTable([['OS Mobile', 'Parts de marché'],["Android",71.40],["iOS",14.70],["Windows Phone",10.60],["Blackberry",1.00],["Autres",2.30]]);
    var options = {
      title: 'Parts de marché des OS Mobile en Juin 2014 (France)'
    };
    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
  }
&lt;/script&gt;

&lt;div id="piechart" style="width: 100%; height: 500px;"&gt;&amp;nbsp;&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre>
<p style="border: 0px; width: 100%; height: 400px;"><iframe loading="lazy" width="300" height="150" style="border: 1px solid #e5e5e5; width: 100%; height: 400px;" src="https://undisconnected.com/sandbox/circulaire-google-chart/index.html"></iframe></p>
<p>Comme vous le voyez, avec juste ces quelques lignes de code, on peut créer un diagramme circulaire vraiment facilement grâce à Google Charts.</p>
<p>Pratique pour un projet rapide, ou montrer des statistiques à votre boss d&rsquo;une belle façon.</p>The post <a href="https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/">Créer un diagramme circulaire avec Google Charts</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/creer-un-diagramme-circulaire-avec-google-charts/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Bug Prestashop : Ajouter une commande manuellement donne une page blanche</title>
		<link>https://undisconnected.com/bug-prestashop-ajouter-une-commande-manuellement-donne-une-page-blanche/</link>
					<comments>https://undisconnected.com/bug-prestashop-ajouter-une-commande-manuellement-donne-une-page-blanche/#respond</comments>
		
		<dc:creator><![CDATA[Imatt]]></dc:creator>
		<pubDate>Tue, 03 Feb 2015 11:26:37 +0000</pubDate>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Outils / Logiciels]]></category>
		<category><![CDATA[Prestashop]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[commande manuelle]]></category>
		<category><![CDATA[page blanche]]></category>
		<category><![CDATA[prestashop]]></category>
		<guid isPermaLink="false">https://undisconnected.com/?p=2515</guid>

					<description><![CDATA[<p>En gérant ma nouvelle boutique de e-commerce GoForfaits.com, je me suis aperçu qu&#8217;il y avait…</p>
The post <a href="https://undisconnected.com/bug-prestashop-ajouter-une-commande-manuellement-donne-une-page-blanche/">Bug Prestashop : Ajouter une commande manuellement donne une page blanche</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></description>
										<content:encoded><![CDATA[<p>En gérant ma nouvelle boutique de e-commerce GoForfaits.com, je me suis aperçu qu&rsquo;il y avait un bug dans Prestashop lorsque l&rsquo;on essaye de créer une commande manuellement. En effet, au moment de valider la commande, j&rsquo;avais une page blanche. Ce bug est résolu dans la version Prestashop 1.6.0.10, pour tous ceux qui n&rsquo;ont pas upgrader à cette version et qui veulent utiliser le patch pour résoudre ce bug, voici la marche à suivre :</p>
<ol>
<li>Faites une copie de suavegarde du fichier classes/CartRule.php</li>
<li>Téléchargez la dernière version 1.6xxx sur le <a href="https://www.prestashop.com/fr">site de Prestashop</a></li>
<li>Trouvez le fichier classes/CartRule.php</li>
<li>Remplacez le fichier classes/CartRule.php</li>
</ol>
<p>Et voilà, la fonctionnalité est réparée. Ce patch est à utiliser uniquement pour les versions de Prestashop 1.6 à 1.6.0.10.</p>The post <a href="https://undisconnected.com/bug-prestashop-ajouter-une-commande-manuellement-donne-une-page-blanche/">Bug Prestashop : Ajouter une commande manuellement donne une page blanche</a> first appeared on <a href="https://undisconnected.com">Undisconnected</a>.]]></content:encoded>
					
					<wfw:commentRss>https://undisconnected.com/bug-prestashop-ajouter-une-commande-manuellement-donne-une-page-blanche/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
