<?xml
version="1.0" encoding="utf-8"?>
<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>Tech de Gamuza</title>
	<link>https://tech.gamuza.fr/</link>
	
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="https://tech.gamuza.fr/spip.php?id_rubrique=11&amp;page=backend" rel="self" type="application/rss+xml" />




<item xml:lang="fr">
		<title>DDEV - Configuration pour utiliser mariadb de l'h&#244;te</title>
		<link>https://tech.gamuza.fr/Configuration-pour-utiliser-mariadb-de-l-hote.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Configuration-pour-utiliser-mariadb-de-l-hote.html</guid>
		<dc:date>2024-11-15T08:30:23Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Christophe</dc:creator>


		<dc:subject>DDEV</dc:subject>
		<dc:subject>tutoriel</dc:subject>

		<description>
&lt;p&gt;# Configuration pour utiliser mariadb de l'h&#244;te &lt;br class='autobr' /&gt;
## 1. Configuration de DDEV &lt;br class='autobr' /&gt;
Il faut ajouter un fichier &#224; la racine de son sous dossier .ddev (de son projet) : docker-compose.override.yaml services : db : extra_hosts : - &#034;host.docker.internal:host-gateway&#034; environment : - MYSQL_HOST=host.docker.internal &lt;br class='autobr' /&gt;
Apres avoir red&#233;marr&#233; ddev, si vous vous connectez dans le conteneur db, vous pourrez voir que la commande suivante fonctionne ping host.docker.internal Pour (&#8230;)&lt;/p&gt;


-
&lt;a href="https://tech.gamuza.fr/-DDEV-15-.html" rel="directory"&gt;DDEV&lt;/a&gt;

/ 
&lt;a href="https://tech.gamuza.fr/+-DDEV-336-+.html" rel="tag"&gt;DDEV&lt;/a&gt;, 
&lt;a href="https://tech.gamuza.fr/+-tutoriel-+.html" rel="tag"&gt;tutoriel&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;md&gt;&lt;br class='autobr' /&gt;
# Configuration pour utiliser mariadb de l'h&#244;te&lt;/p&gt;
&lt;p&gt;## 1. Configuration de DDEV&lt;/p&gt;
&lt;p&gt;Il faut ajouter un fichier &#224; la racine de son sous dossier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;.ddev&lt;/code&gt; (de son projet) : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;docker-compose.override.yaml&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre data-language=&#034;yaml&#034; class='spip_code spip_code_block language-yaml' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;services: db: extra_hosts: - &#034;host.docker.internal:host-gateway&#034; environment: - MYSQL_HOST=host.docker.internal &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Apres avoir red&#233;marr&#233; ddev, si vous vous connectez dans le conteneur db, vous pourrez voir que la commande suivante fonctionne &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ping host.docker.internal&lt;/code&gt; Pour ce&lt;/p&gt;
&lt;p&gt;## 2. Configuration de mysql de l'h&#244;te.&lt;/p&gt;
&lt;p&gt;Il faut modifier votre instance de mysql/mariadb pour qu'elle &#233;coute toutes les ip et pas seulement localhost. Pour cela il faut changer dans la conf de mariadb &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;my.cnf&lt;/code&gt; la ligne : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bind-address = localhost&lt;/code&gt; par &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;bind-address = 0.0.0.0&lt;/code&gt; En terme de s&#233;cu, c'est un peu moins bien ;-)&lt;/p&gt;
&lt;p&gt;## 3. User mysql pour le spip&lt;/p&gt;
&lt;p&gt;Il faut que votre user mysql est comme nom d'h&#244;te &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;%&lt;/code&gt; et non &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;localhost&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;## 4. Configuration du spip&lt;/p&gt;
&lt;p&gt;Il faut changer dans le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;connect.php&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;* le nom d'host devient &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;host.docker.internal&lt;/code&gt;&lt;br class='autobr' /&gt;
* le port &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;3306&lt;/code&gt; (inchang&#233;)&lt;br class='autobr' /&gt;
* user -&gt; celui d&#233;fini dans l'&#233;tape 3&lt;br class='autobr' /&gt;
&lt;/md&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>DDEV - Personnalisation de phpmyadmin</title>
		<link>https://tech.gamuza.fr/DDEV-Personnalisation-de-phpmyadmin.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/DDEV-Personnalisation-de-phpmyadmin.html</guid>
		<dc:date>2024-11-15T08:25:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Christophe</dc:creator>


		<dc:subject>DDEV</dc:subject>
		<dc:subject>tutoriel</dc:subject>

		<description>
&lt;p&gt;Si vous souhaitez modifier la configuration de phpmyadmin, en utilisant un fichier config.user.inc.php &lt;br class='autobr' /&gt;
1. dans le fichier : docker-compose.phpmyadmin.yaml, ajouter dans la cl&#233; phpmyadmin :
&lt;br class='autobr' /&gt;
services : phpmyadmin : build : context : ./phpmyadmin &lt;br class='autobr' /&gt;
2. Il faut maintenant cr&#233;er le dossier phpmyadmin dans .ddev : mkdir phpmyadmin
&lt;br class='autobr' /&gt;
3. Ajouter dans ce dossier un fichier Dockerfile avec le contenu suivant : FROM phpmyadmin:5.2.0 COPY config.user.inc.php /etc/phpmyadmin/config.user.inc.php (&#8230;)&lt;/p&gt;


-
&lt;a href="https://tech.gamuza.fr/-DDEV-15-.html" rel="directory"&gt;DDEV&lt;/a&gt;

/ 
&lt;a href="https://tech.gamuza.fr/+-DDEV-336-+.html" rel="tag"&gt;DDEV&lt;/a&gt;, 
&lt;a href="https://tech.gamuza.fr/+-tutoriel-+.html" rel="tag"&gt;tutoriel&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Si vous souhaitez modifier la configuration de phpmyadmin, en utilisant un fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config.user.inc.php&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;1. dans le fichier : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;docker-compose.phpmyadmin.yaml&lt;/code&gt;, ajouter dans la cl&#233; phpmyadmin :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;services: phpmyadmin: build: context: ./phpmyadmin&lt;/textarea&gt;
&lt;p&gt;2. Il faut maintenant cr&#233;er le dossier phpmyadmin dans .&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;ddev&lt;/code&gt; : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;mkdir phpmyadmin&lt;/code&gt;&lt;br class='autobr' /&gt;
3. Ajouter dans ce dossier un fichier &lt;strong&gt;Dockerfile&lt;/strong&gt; avec le contenu suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre php class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;FROM phpmyadmin:5.2.0 COPY config.user.inc.php /etc/phpmyadmin/config.user.inc.php&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;4. Ajouter dans ce dossier votre fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;config.user.inc.php&lt;/code&gt; ex :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;?php $cfg['TablePrimaryKeyOrder'] = 'DESC'; $cfg['MaxNavigationItems'] = 100;&lt;/textarea&gt;
&lt;p&gt;5. Relancer &lt;strong&gt;ddev&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Utiliser une sous-requ&#234;te MySQL pour compter le nombre de liaisons sur un &#233;l&#233;ment</title>
		<link>https://tech.gamuza.fr/Utiliser-une-sous-requete-MySQL-pour-compter-le-nombre-de-liaisons-sur-un.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Utiliser-une-sous-requete-MySQL-pour-compter-le-nombre-de-liaisons-sur-un.html</guid>
		<dc:date>2024-07-13T00:05:42Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>


		<dc:subject>tutoriel</dc:subject>
		<dc:subject>MySQL</dc:subject>
		<dc:subject>COUNT</dc:subject>

		<description>&lt;p&gt;COUNT() qui permet de compter le nombre d'occurrences d'une valeur dans une table peut &#234;tre utilis&#233; en sous-requ&#234;te pour d&#233;nombrer, par exemple, le nombre de liaisons de l'&#233;l&#233;ment dans une autre table&lt;/p&gt;

-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;

/ 
&lt;a href="https://tech.gamuza.fr/+-tutoriel-+.html" rel="tag"&gt;tutoriel&lt;/a&gt;, 
&lt;a href="https://tech.gamuza.fr/+-mysql-+.html" rel="tag"&gt;MySQL&lt;/a&gt;, 
&lt;a href="https://tech.gamuza.fr/+-COUNT-+.html" rel="tag"&gt;COUNT&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Exemple en SPIP d'utilisation de &lt;strong&gt;COUNT()&lt;/strong&gt; en sous-requ&#234;te&lt;/h2&gt;
&lt;p&gt;La table &lt;strong&gt;spip_mots_liens&lt;/strong&gt; est utilis&#233;e pour stocker les liaisons des objets SPIP (articles, rubriques...) sur les mots cl&#233;s de la table &lt;strong&gt;spip_mots&lt;/strong&gt;.&lt;br class='autobr' /&gt;
On souhaite faire une liste des mots cl&#233;s du groupe 2 avec pour chacun le nombre de liaisons qu'il poss&#232;de :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;SELECT m.id_mot, m.titre, (SELECT COUNT(L.id_mot) FROM spip_mots_liens AS L WHERE L.id_mot = m.id_mot) AS nb FROM spip_mots AS m WHERE m.id_groupe=2 ORDER BY m.titre;&lt;/textarea&gt;
&lt;p&gt;on obtient un r&#233;sultat de la forme&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;| id_mot | titre | nb | | 122 | acceptability | 1 | |185 | adaptation | 1 | | 220 | agriculture | 1 |&lt;/textarea&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Utiliser PHP_codeSniffer : les bases</title>
		<link>https://tech.gamuza.fr/Utiliser-PHP_codeSniffer-les-bases.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Utiliser-PHP_codeSniffer-les-bases.html</guid>
		<dc:date>2024-03-01T11:52:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>



		<description>
&lt;p&gt;Usage : quelques exemples de commandes Tester un fichier php seul : phpcs dossier/fichier_truc.php &lt;br class='autobr' /&gt;
Tester un dossier complet : par ex &#224; la racine d'un r&#233;pertoire de plugin (/ !\ attention ! lancer phpcs sur un gros dossier avec beaucoup de fichiers (php / css / js) sans faire de restrictions via la configuration peut entra&#238;ner une GROSSE charge pour votre processeur !) phpcs dossier/ devrait retourner tout un tas d'erreurs &#224; corriger, pour &#224; peu pr&#232;s tous les types de fichiers (js, css, (&#8230;)&lt;/p&gt;


-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Usage : quelques exemples de commandes&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tester un fichier php seul :&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs dossier/fichier_truc.php&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Tester un dossier complet : par ex &#224; la racine d'un r&#233;pertoire de plugin&lt;/strong&gt;&lt;br class='autobr' /&gt;
(/ !\ attention ! lancer phpcs sur un gros dossier avec beaucoup de fichiers (php / css / js) sans faire de restrictions via la configuration peut entra&#238;ner une GROSSE charge pour votre processeur !)&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs dossier/&lt;/textarea&gt;
&lt;p&gt;devrait retourner tout un tas d'erreurs &#224; corriger, pour &#224; peu pr&#232;s tous les types de fichiers (js, css, php)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Restreindre la port&#233;e du scan aux fichiers PHP, exclure des dossiers :&lt;/strong&gt;&lt;br class='autobr' /&gt;
En ajoutant le fichier &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;phpcs.xml&lt;/code&gt; &#224; la racine du r&#233;pertoire avec le contenu propos&#233; dans momh.fr, on doit restreindre la d&#233;tection des erreurs aux fichiers .html et .php&lt;br class='autobr' /&gt;
Le contenu du fichier :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='12' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;?xml version=&#034;1.0&#034;?&gt; &lt;ruleset&gt; &lt;file&gt;./&lt;/file&gt; &lt;exclude-pattern&gt;**/*.js&lt;/exclude-pattern&gt; &lt;exclude-pattern&gt;**/*.css&lt;/exclude-pattern&gt; &lt;exclude-pattern&gt;**/*.scss&lt;/exclude-pattern&gt; &lt;exclude-pattern&gt;node_modules/*&lt;/exclude-pattern&gt; &lt;exclude-pattern&gt;vendor/*&lt;/exclude-pattern&gt; &lt;arg name=&#034;colors&#034;/&gt; &lt;rule ref=&#034;SPIP41&#034;/&gt; &lt;/ruleset&gt;&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Tester uniquement avec les coding-standard de SPIP :&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --standard=SPIP41 dossier/fichier_truc.php&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Ne pas afficher les warnings (uniquement les erreurs) :&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs -n dossier/fichier_truc.php&lt;/textarea&gt;
&lt;p&gt;&lt;strong&gt;Colorer la sortie :&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --colors dossier/fichier_truc.php&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Compl&#233;ments de configuration : l'option &#8212;config-set&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Utilisation de l'option &lt;strong&gt;&#8212;config-set&lt;/strong&gt; :&lt;/strong&gt;&lt;br class='autobr' /&gt;
par exemple si vous n'utilisez phpcs/phpcbf que pour les standards SPIP, pour &#233;viter d'ajouter l'option &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;--standard=SPIP41&lt;/code&gt; &#224; chaque appel de la commande, vous pouvez passer ce param&#232;tre en option par d&#233;faut avec :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --config-set default_standard SPIP41&lt;/textarea&gt;
&lt;p&gt;NB : cela donne une configuration &#233;crite dans le fichier &lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;...Composer/vendor/squizlabs/php_codesniffer/CodeSniffer.conf&lt;/code&gt; qu'il est possible de bricoler directement aussi&lt;br class='autobr' /&gt;
La syntaxe de cette option est de la forme :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --config-set cl&#233; valeur&lt;/textarea&gt;
&lt;p&gt;par ex pour avoir la coloration par d&#233;faut&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --config-set colors 1&lt;/textarea&gt;
&lt;p&gt;La documentation pour les configurations possibles avec l'option &#8212;config-set : &lt;br class='autobr' /&gt;
&lt;a href=&#034;https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/squizlabs/PHP_CodeSniffer/wiki/Configuration-Options&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Exemple de fichier de configuration CodeSniffer.conf pour colorer syst&#233;matiquement, utiliser les standards SPIP41 et ignorer les warnings :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;?php $phpCodeSnifferConfig = array ( 'installed_paths' =&gt; 'C:/Users/VOTRE_USER/AppData/Roaming/Composer/vendor/phpcompatibility/php-compatibility,C:/Users/VOTRE_USER/AppData/Roaming/Composer/vendor/spip/coding-standards/src', 'default_standard' =&gt; 'SPIP41', 'colors' =&gt; 1, 'show_warnings' =&gt; 0, ); ?&gt;&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Sp&#233;cifique installation sous Windows :&lt;/h2&gt;
&lt;p&gt;Adaptations du post de &lt;a href=&#034;https://momh.fr/installer-globalement-php_codesniffer&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://momh.fr/installer-globalement-php_codesniffer&lt;/a&gt;&lt;br class='autobr' /&gt;
On suppose :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'utilisateur connect&#233; &#224; la session Windows est &lt;strong&gt;VOTRE_USER&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Composer&lt;/strong&gt; install&#233; sur la machine&lt;/li&gt;&lt;li&gt; on utilise &lt;strong&gt;Gitbash&lt;/strong&gt; comme interpr&#233;teur de commandes (cf &lt;a href=&#034;https://contrib.spip.net/SPIP-Cli#Specificites-d-installation-sous-Windows&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://contrib.spip.net/SPIP-Cli#Specificites-d-installation-sous-Windows&lt;/a&gt;)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;1/ Installation globale :&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;composer global --dev require squizlabs/php_codesniffer composer global --dev require spip/coding-standards&lt;/textarea&gt; &lt;p&gt;Tester que c'est OK :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --help phpcbf --help&lt;/textarea&gt;
&lt;p&gt;doivent retourner le Help avec toutes les options de la commande&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2/ D&#233;clarer le r&#233;pertoire des standards SPIP &#224; PHP_CodeSniffer :&lt;/strong&gt;&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='4' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs --config-set installed_paths C:/Users/VOTRE_USER/AppData/Roaming/Composer/vendor/phpcompatibility/php-compatibility,C:/Users/VOTRE_USER/AppData/Roaming/Composer/vendor/spip/coding-standards/src&lt;/textarea&gt;
&lt;p&gt;cette commande devrait retourner :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;Using config file: C:\Users\VOTRE_USER\AppData\Roaming\Composer\vendor\squizlabs\php_codesniffer\CodeSniffer.conf&lt;/textarea&gt;
&lt;p&gt;Pour tester que la config est OK la commande :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;phpcs -i&lt;/textarea&gt;
&lt;p&gt;devrait retourner quelque chose comme :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;The installed coding standards are MySource, PEAR, PSR1, PSR2, PSR12, Squiz, Zend, PHPCompatibility, SCS1, SPIP40 and SPIP41&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;f&#233;rences :&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; pour l'installation le billet du blog momh.fr : &lt;a href=&#034;https://momh.fr/installer-globalement-php_codesniffer&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://momh.fr/installer-globalement-php_codesniffer&lt;/a&gt;&lt;/li&gt;&lt;li&gt; le Github de PHP_codeSniffer : &lt;a href=&#034;https://github.com/squizlabs/PHP_CodeSniffer&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/squizlabs/PHP_CodeSniffer&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Tests de nom de classe CSS</title>
		<link>https://tech.gamuza.fr/Tests-de-nom-de-classe-CSS.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Tests-de-nom-de-classe-CSS.html</guid>
		<dc:date>2022-12-14T19:01:39Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>



		<description>
&lt;p&gt;Code : .test\.123 color : red ; &lt;br class='autobr' /&gt; .test#123 color : blue ; &lt;br class='autobr' /&gt; .test\@123 color : green ; &lt;br class='autobr' /&gt; .test\ test.123 test#123 test@123 test test123 test 123 _test123 -test123 123test &lt;br class='autobr' /&gt;
R&#233;sultat : .test\.123 color : red ;
&lt;br class='autobr' /&gt; .test\#123 color : blue ;
&lt;br class='autobr' /&gt; .test\@123 color : green ;
&lt;br class='autobr' /&gt; .test\ test.123 test#123 test@123 test test123 test 123 _test123 -test123 123test&lt;/p&gt;


-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Code :&lt;/h2&gt;&lt;cadre class=&#034;HTML&#034;&gt;
&lt;div class=&#034;test.123&#034;&gt;test.123&lt;/div&gt;
&lt;div class=&#034;test#123&#034;&gt;test#123&lt;/div&gt;
&lt;div class=&#034;test@123&#034;&gt;test@123&lt;/div&gt;
&lt;div class=&#034;test&lt;123&#034;&gt;test&lt;123&lt;/div&gt;
&lt;div class=&#034;test--123&#034;&gt;test&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;123&lt;/div&gt; &lt;div class=&#034;test~123&#034;&gt;test~123&lt;/div&gt; &lt;div class=&#034;_test123&#034;&gt;_test123&lt;/div&gt; &lt;div class=&#034;-test123&#034;&gt;-test123&lt;/div&gt; &lt;div class=&#034;123test &#034;&gt;123test &lt;/div&gt; &lt;/cadre&gt; {{{R&#233;sultat:}}} &lt;html&gt;&lt;style type=&#034;text/css&#034;&gt; .test\.123 { color: red; } .test\#123 { color: blue; } .test\@123 { color: green; } .test\&lt;123 { color: brown; } .test123 { color: purple; } .test\~123 { color: tomato; } ._test123 { color: violet; } .-test123 { color: yellow; } .\31 23test { color: orange; } &lt;/style&gt; &lt;div class=&#034;test.123&#034;&gt;test.123&lt;/div&gt; &lt;div class=&#034;test#123&#034;&gt;test#123&lt;/div&gt; &lt;div class=&#034;test@123&#034;&gt;test@123&lt;/div&gt; &lt;div class=&#034;test&lt;123&#034;&gt;test&lt;123&lt;/div&gt; &lt;div class=&#034;test&lt;/code&gt;123&#034;&gt;test`123&lt;/div&gt;
&lt;div class=&#034;test~123&#034;&gt;test 123&lt;/div&gt;
&lt;div class=&#034;_test123&#034;&gt;_test123&lt;/div&gt;
&lt;div class=&#034;-test123&#034;&gt;-test123&lt;/div&gt;
&lt;div class=&#034;123test &#034;&gt;123test &lt;/div&gt;
&lt;/html&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>ZZZ : URL canonique</title>
		<link>https://tech.gamuza.fr/ZZZ-URL-canonique.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/ZZZ-URL-canonique.html</guid>
		<dc:date>2022-11-30T10:40:27Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>



		<description>&lt;p&gt;Cet article est une copie de sauvegarde de l'article original de Fil sur le d&#233;sormais disparu : &lt;a href=&#034;http://zzz.rezo.net/URL-canonique.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://zzz.rezo.net/URL-canonique.html&lt;/a&gt;&lt;/p&gt;

-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Je demandais hier sur &lt;strong&gt;#spip&lt;/strong&gt; si quelqu'un connaissait un standard pour signaler l'URL canonique d'une page Web. S'koi ? Si on est en train de lire une page sur un site, on peut l'avoir abord&#233;e par plusieurs adresses :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='5' class='spip_cadre spip_cadre_block' dir='ltr'&gt;-&#160;http://monsite.tld/article12 -&#160;http://monsite.tld/Mon-titre-d-article -&#160;http://www.monsite.tld/article12.html?couleur=bleu -&#160;http://www.monsite.tld/article12.html?post=1 -&#160;http://www.monsite.tld/article12.html?PHPSESSID=a2c5fe78&lt;/textarea&gt;
&lt;p&gt;Tout &#231;a, ce sont des URLs valables, qui affichent bien le m&#234;me article. Mais si je veux mettre des gens (ou des robots) d'accord sur ce qu'est la &#171; vraie &#187; adresse de cet article, il faut que je l'annonce, d'une mani&#232;re ou d'une autre.&lt;/p&gt;
&lt;p&gt;Cette probl&#233;matique concerne au premier chef les moteurs de recherche et d'indexation (mais pas seulement). Or il se trouve que pas plus tard que la semaine derni&#232;re les trois poids lourds Google, Yahoo et Live (Microsoft) annon&#231;aient que leurs algorithmes allaient accepter qu'on leur parle de l'URL canonique d'une page.&lt;/p&gt;
&lt;p&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;https://developers.google.com/search/blog/2009/02/specify-your-canonical&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://developers.google.com/search/blog/2009/02/specify-your-canonical&lt;/a&gt;
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; &lt;a href=&#034;https://moz.com/blog/canonical-url-tag-the-most-important-advancement-in-seo-practices-since-sitemaps&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://moz.com/blog/canonical-url-tag-the-most-important-advancement-in-seo-practices-since-sitemaps&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;C'est bien fait, et c'est simple &#224; mettre en &#339;uvre. En gros, pour toute page HTML qui peut avoir plusieurs adresses, on va indiquer laquelle est la principale, en ins&#233;rant dans son &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;&lt;head&gt;...&lt;/head&gt;&lt;/code&gt; une balise :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;link rel=&#034;canonical&#034; href=&#034;http://www.monsite.tld/URL-canonique&#034; /&gt;&lt;/textarea&gt;
&lt;p&gt;Les algorithmes qui le souhaitent sauront donc que la page &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;http://www.monsite.tld/article12&lt;/code&gt; qui mentionne ce lien doit en fait &#234;tre consid&#233;r&#233;e comme &#233;tant &#224; l'adresse canonique &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;http://www.monsite.tld/URL-canonique&lt;/code&gt;. Et feront leurs calculs (PageRank...) et affichages (r&#233;sultats de recherche...) en tenant compte de cette information.&lt;br class='autobr' /&gt;
* * *&lt;/p&gt;
&lt;p&gt;Autre exemple d'usage (qui &#233;tait celui qui avait suscit&#233; ma question) : lorsqu'on veut participer aux sites de partage de bookmarks type delicious.com, il importe que les diff&#233;rents partageurs se mettent d'accord sur une adresse unique, de mani&#232;re &#224; pouvoir discuter de la m&#234;me chose, m&#234;me s'ils l'ont vue dans un contexte diff&#233;rent. Le plugin SPIP Social Tags en tient compte.&lt;/p&gt;
&lt;p&gt;Dans le squelette SPIP article.html, il suffit d'indiquer dans la partie &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;&lt;head&gt;..&lt;/head&gt;&lt;/code&gt; le code suivant [1] :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;link rel=&#034;canonical&#034; href=&#034;[(#URL_ARTICLE|url_absolue)]&#034; /&gt;&lt;/textarea&gt;
&lt;p&gt;Pour que Google consid&#232;re qu'un (vieux) lien vers &lt;a href=&#034;http://monsite.tld/a1.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://monsite.tld/a1.html&lt;/a&gt;&lt;/code&gt; pointe en fait vers &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;http://www.monsite.tld/Titre-article&lt;/code&gt; (URL canonique de l'article si on a activ&#233; les URLs &#171; propres &#187;). Ou que SocialTags indique le nouvel URL dans delicious quand on clique sur l'icone, m&#234;me si le navigateur indique &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;http://www.monsite.tld/Titre-article?PHPSESSID=12345&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
		&lt;hr /&gt;
		&lt;div &lt;div class='rss_ps'&gt;&lt;h2 class=&#034;spip&#034;&gt;URL canonique et permalien&lt;/h2&gt;
&lt;p&gt;C'est bien gentil ces URLs canoniques, mais quelle est la diff&#233;rence avec le permalien ?&lt;/p&gt;
&lt;p&gt;L'id&#233;e du &#171; permalien &#187; d'un article, c'est d'avoir un lien qui r&#233;f&#233;rencera toujours cet article ; ainsi, sur un blog, on veut que les gens qui r&#233;f&#233;rencent un article ne fassent pas un lien vers la page d'accueil &#8212; alors que celle-ci va tourner au fur et &#224; mesure de l'ajout de nouveaux articles &#8212; mais plut&#244;t un lien vers une page pr&#233;cise qui affichera toujours l'article dans deux semaines, quand il ne sera plus sur la page d'accueil.&lt;/p&gt;
&lt;p&gt;Bien s&#251;r le permalien pointera en g&#233;n&#233;ral vers l'URL canonique de l'article, ce qui fait qu'en pratique, ces deux propri&#233;t&#233;s ont la m&#234;me valeur.&lt;/p&gt;
&lt;p&gt;Cependant, les deux notions ne sont pas identiques. On peut imaginer qu'un permalien nous redirige vers l'URL canonique, laquelle peut changer au cours du temps. Par exemple, lorsque SPIP sera rachet&#233; par la Mozilla Corp., l'URL canonique de l'article de l'article &#171; Est-ce que je peux... &#187;, qui est actuellement &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;http://www.spip.net/fr_article1475.html&lt;/code&gt;, deviendra (sur ordre du d&#233;partement marketing) &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;https://spip.mozcorp.world/Est-ce-que-je-peux.html&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;L'URL canonique de cet article aura donc chang&#233;. Mais &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;http://www.spip.net/fr_article1475.html&lt;/code&gt; est et restera un permalien : il affichera toujours le bon article (soit directement, soit en renvoyant le lecteur vers le site mozcorp.world).&lt;/p&gt;
&lt;p&gt;Autrement dit :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; un permalien (il peut y en avoir plusieurs pour un m&#234;me article) est un lien qui pointe toujours vers cet article (cette &#171; ressource &#187;, en jargon webique). On le code sous la forme &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;&lt;a rel=&#034;bookmark&#034; href=&#034;...&#034;&gt;&lt;/code&gt;. Tant qu'il permet de retrouver la ressource, f&#251;t-ce &#224; travers des modifications de formatage des URLs, des redirections et des changements de noms de domaine, c'est un permalien.&lt;/li&gt;&lt;li&gt; l'URL canonique d'une ressource quant &#224; elle est unique (mais pas forc&#233;ment permanente) : elle signale l'adresse &#171; standard &#187; o&#249; il faut aller chercher cette page, m&#234;me si on l'a trouv&#233;e ailleurs. On la r&#233;f&#233;rence &#224; l'int&#233;rieur de l'ent&#234;te de la page sous la forme &lt;code class='html spip_code spip_code_inline' dir='ltr'&gt;&lt;link rel=&#034;canonical&#034; href=&#034;...&#034; /&gt;&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>R&#233;aliser un webdocumentaire : les modes de navigation</title>
		<link>https://tech.gamuza.fr/Realiser-un-webdocumentaire-les-modes-de-navigation.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Realiser-un-webdocumentaire-les-modes-de-navigation.html</guid>
		<dc:date>2022-11-05T11:38:22Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>



		<description>
&lt;p&gt;1. Conception d'un webdoc : sc&#233;narisation, navigation et narration Rappel : un webdocumentaire peut &#234;tre caract&#233;ris&#233; par : l'utilisation d'un contenu multim&#233;dia, l'introduction dans le r&#233;cit de proc&#233;d&#233;s interactifs, une navigation et un r&#233;cit non lin&#233;aire (implication de l'utilisateur + libert&#233; de parcours) une &#233;criture sp&#233;cifique un point de vue d'auteurs &lt;br class='autobr' /&gt;
Son attractivit&#233; va donc &#234;tre particuli&#232;rement d&#233;pendante de la &#034;mani&#232;re de raconter les choses&#034;, laquelle est la r&#233;sultante de 3 (&#8230;)&lt;/p&gt;


-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;1. Conception d'un webdoc : sc&#233;narisation, navigation et narration&lt;/h2&gt;
&lt;p&gt;Rappel : un &lt;a href='https://tech.gamuza.fr/Realiser-un-webdocumentaire-scientifique-concepts-et-elements-techniques.html' class=&#034;spip_in&#034;&gt;webdocumentaire peut &#234;tre caract&#233;ris&#233; par&lt;/a&gt; :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'utilisation d'un contenu multim&#233;dia,&lt;/li&gt;&lt;li&gt; l'introduction dans le r&#233;cit de proc&#233;d&#233;s interactifs,&lt;/li&gt;&lt;li&gt; une navigation et un r&#233;cit non lin&#233;aire (implication de l'utilisateur + libert&#233; de parcours)&lt;/li&gt;&lt;li&gt; une &#233;criture sp&#233;cifique&lt;/li&gt;&lt;li&gt; un point de vue d'auteurs&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Son attractivit&#233; va donc &#234;tre particuli&#232;rement d&#233;pendante de la &lt;strong&gt;&#034;mani&#232;re de raconter les choses&#034;&lt;/strong&gt;, laquelle est la r&#233;sultante de 3 &#034;&#233;l&#233;ments&#034; du webdoc qu'il va falloir envisager explicitement lors de sa conception :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;la sc&#233;narisation&lt;/strong&gt; : propos g&#233;n&#233;ral, intentions, qu'est-ce qu'on veut dire, qu'est-ce qu'on veut d&#233;montrer (pour la globalit&#233; du webdoc et &#224; l'int&#233;rieur de chaque partie).&lt;/li&gt;&lt;li&gt; &lt;strong&gt;la navigation&lt;/strong&gt; : ce que l'internaute choisit de faire comme parcours, ce qu'il d&#233;cide de cliquer, l'ensemble des possibilit&#233;s de liens hypertextes offerts dans les pages. C'est la mani&#232;re de se d&#233;placer au sein du webdoc.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;la narration&lt;/strong&gt; : la mani&#232;re de raconter/pr&#233;senter les choses. &#192; l'int&#233;rieur des possibilit&#233;s offertes par la navigation, en fonction des intentions de la sc&#233;narisation on doit d&#233;gager un ou plusieurs parcours diff&#233;rents = successions de pages propos&#233;es, qui vont raconter une histoire. La narration c'est l'utilisation d'une ou plusieurs mani&#232;res de naviguer pour raconter des choses particuli&#232;res, pour guider les visiteurs.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Cet article propose &lt;strong&gt;d'explorer les modes de navigation&lt;/strong&gt; utilis&#233;s &#224; l'heure actuelle pour permettre &#034;d'ouvrir&#034; la r&#233;flexion lors de la conception de la (les) narration(s) d'un webdoc.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;2. Modes de navigation : les grands types&lt;/h2&gt;
&lt;p&gt;Chaque webdoc ou partie de webdoc propose une ou plusieurs fa&#231;on de parcourir ses contenus : on parlera de &#034;mode de navigation&#034;. Il s'agit de la mani&#232;re dont sont propos&#233;s, organis&#233;s les liens et tous les &#233;l&#233;ments qui permettent de consulter les contenus.&lt;br class='autobr' /&gt;
En fonction de l'importance et de la diversit&#233; de ses contenus, un webdoc peut proposer un ou plusieurs modes de navigation : soit exclusif (par exemple pour une partie) soit en parall&#232;le.&lt;br class='autobr' /&gt;
Une typologie rapide et illustr&#233;e d'exemples des modes de navigation les plus r&#233;pandus est propos&#233;e ci-dessous. Pour chaque type est propos&#233; un exemple &#034;court&#034; et un exemple &#034;long&#034;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Chapitrage&lt;/strong&gt;&lt;br class='autobr' /&gt;
Parcours du webdoc selon des &#034;chapitres&#034; cad des parties nettement s&#233;par&#233;es entre elles. Chaque chapitre peut lui m&#234;me &#234;tre subdivis&#233; en sous-parties. En g&#233;n&#233;ral l'organisation interne des chapitres (pr&#233;sentation des capsules, types de pages disponibles, menus de navigation...) est identique. Habituellement un menu des chapitres est &#224; disposition dans toutes les pages&lt;br class='autobr' /&gt;
Exemples :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; EPSYKOI : la sant&#233;e mentale et les jeunes &lt;a href=&#034;https://epsykoi.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://epsykoi.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Le clo&#238;tre &amp; la prison : &lt;a href=&#034;http://cloitreprison.fr/chapitre3-batiment-convers/3-1_populations-monastiques.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://cloitreprison.fr/chapitre3-batiment-convers/3-1_populations-monastiques.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Panafest &lt;a href=&#034;https://www.panafest.org.za&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.panafest.org.za&lt;/a&gt; (&#034;multi chapitrage&#034; = des chapitrages en parall&#232;les en fonction des th&#233;matiques)&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Cartographie&lt;/strong&gt;&lt;br class='autobr' /&gt;
Navigation sur une (plusieurs) carte(s), les contenus sont accessibles via leur marqueur sur la carte. Peut offrir l'acc&#232;s aux contenus en fonction de la g&#233;olocalisation de l'internaute.&lt;br class='autobr' /&gt;
Exemples :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Plong&#233;e dans le Paris populaire &lt;a href=&#034;https://www.liberation.fr/apps/2019/02/paris-populaire/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.liberation.fr/apps/2019/02/paris-populaire/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Fos &#233;tang de Berre 200 ans d'histoire industrielle et environnementale &lt;a href=&#034;https://fos200ans.fr/-Mode-cartographique-fa7d.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fos200ans.fr/-Mode-cartographique-fa7d.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Immersion&lt;/strong&gt;&lt;br class='autobr' /&gt;
Le parcours du webdoc se fait en mettant l'internaute &#034;dans la peau&#034; d'un(e) personnage afin de donner son point de vue (au sens propre du terme). L'immersion se fait de plus plus en mode panoramique 360&#176;. Parfois associ&#233; avec un aspect ludique (&#034;game-doc&#034; : concept de &#034;l'histoire dont vous &#234;tes le h&#233;ros&#034;)&lt;br class='autobr' /&gt;
Exemples :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt;Salauds de pauvres &lt;a href=&#034;http://www.salaudsdepauvres.be/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.salaudsdepauvres.be/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; A l'heure du lait : &lt;a href=&#034;https://www.ferme-laitiere-france.com/fr/les-lieux-de-la-ferme/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.ferme-laitiere-france.com/fr/les-lieux-de-la-ferme/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Data visualisation&lt;/strong&gt;&lt;br class='autobr' /&gt;
Ce type de navigation est bas&#233; sur la pr&#233;sentation sous diverses formes d'ensembles de donn&#233;es (statistiques, cartographiques, analytiques...) pour permettre leur visualisation de fa&#231;on p&#233;dagogique et/ou percutante.&lt;br class='autobr' /&gt;
Exemples :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; A data sur la politique : &lt;a href=&#034;https://lesjours.fr/obsessions/data-politique/ep4-trolls-assemblee/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://lesjours.fr/obsessions/data-politique/ep4-trolls-assemblee/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Welcome to the anthropocene : &lt;a href=&#034;https://anthropocene.info/planetary-boundaries.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://anthropocene.info/planetary-boundaries.php&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Articles long format (&#034;stories&#034;)&lt;/strong&gt;&lt;br class='autobr' /&gt;
Tr&#232;s utilis&#233; par les webdocs journalistiques, la navigation se fait de fa&#231;on lin&#233;aire en d&#233;roulant (&#034;scrollant&#034;) une page qui pr&#233;sente des faits, m&#233;dias ou &#233;v&#233;nements successifs. En fonction de la quantit&#233; d'informations, le webdoc peut &#234;tre constitu&#233; d'une ou plusieurs page(s)/story(ies) successives.&lt;br class='autobr' /&gt;
Exemples :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Homo plasticus (story unique) : &lt;a href=&#034;https://labs.letemps.ch/interactive/2018/longread-homo-plasticus/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://labs.letemps.ch/interactive/2018/longread-homo-plasticus/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Made in France (ensemble de stories) : &lt;a href=&#034;https://made-in-france.disclose.ngo/fr/chapter/yemen-papers/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://made-in-france.disclose.ngo/fr/chapter/yemen-papers/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Timeline / Frise chronologique&lt;/strong&gt;&lt;br class='autobr' /&gt;
La navigation est bas&#233;e sur la chronologie d'une p&#233;riode sur laquelle sont plac&#233;s les difff&#233;rentes capsules/contenus. En g&#233;n&#233;ral une &#034;timeline&#034; (frise chronologique) permet de visualiser l'ensemble de la p&#233;riode d'&#233;tude.&lt;br class='autobr' /&gt;
Exemples :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Computer grrrls : &lt;a href=&#034;http://computer-grrrls.gaite-lyrique.net/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://computer-grrrls.gaite-lyrique.net/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Herbier 2.0 &lt;a href=&#034;http://www.webdoc-herbier.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.webdoc-herbier.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;D&#233;structur&#233;e&lt;/strong&gt;&lt;br class='autobr' /&gt;
Une navigation atypique faite pour d&#233;sorienter le visiteur et le mettre dans l'esprit du sujet : &#034;Hommage aux 100 ans de Dada&#034;&lt;br class='autobr' /&gt;
Exemple :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Dada data &lt;a href=&#034;http://dada-data.net/fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://dada-data.net/fr/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;a id=&#034;annexe&#034;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;3. Annexe : un ensemble de webdocs pour explorer ce qu'il existe / ce qu'il est possible de faire&lt;/h2&gt;
&lt;p&gt;&lt;i&gt;(les modes de navigations principaux sont pr&#233;cis&#233;s en derni&#232;re info)&lt;/i&gt;&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Made in France&lt;/strong&gt; : &lt;a href=&#034;https://made-in-france.disclose.ngo/fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://made-in-france.disclose.ngo/fr&lt;/a&gt;&lt;br class='autobr' /&gt;
une enqu&#234;te sur l'usage des armes fran&#231;aises contre des civils dans la guerre au Y&#233;men&lt;br class='autobr' /&gt;
&lt;i&gt;stories&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;War in Raqqa&lt;/strong&gt; : rhetoric versus reality : &lt;a href=&#034;https://raqqa.amnesty.org&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://raqqa.amnesty.org&lt;/a&gt;&lt;br class='autobr' /&gt;
synth&#232;se d'Amnesty International &#224; propos des pertes civiles lors de la prise de Raqqa par les forces de la coalition (navigateur Chrome/Chromium n&#233;cessaire pour l'immersif) &lt;br class='autobr' /&gt;
&lt;i&gt;stories + carto + immersif 360&#176;&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Fos &#233;tang de Berre 200 ans d'histoire industrielle et environnementale&lt;/strong&gt; : &lt;a href=&#034;https://fos200ans.fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fos200ans.fr&lt;/a&gt;&lt;br class='autobr' /&gt;
vulgarisation d'un projet de recherche&lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage + carto&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Le clo&#238;tre &amp; la prison Les espaces de l'enfermement&lt;/strong&gt; : &lt;a href=&#034;http://cloitreprison.fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://cloitreprison.fr&lt;/a&gt;&lt;br class='autobr' /&gt;
&#233;clairer l'histoire des espaces d'enfermement et sur leurs multiples transformations en France &lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage + chronologie&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;EPSYKOI : la sant&#233;e mentale et les jeunes&lt;/strong&gt; : &lt;a href=&#034;https://epsykoi.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://epsykoi.com&lt;/a&gt;&lt;br class='autobr' /&gt;
Un webdocumentaire d'information et de pr&#233;vention en sant&#233; mentale et une r&#233;alisation collective entre usagers de la psychiatrie, psychologues et vid&#233;astes.&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Hommage &#224; Fr&#233;d&#233;ric Bazille&lt;/strong&gt; : &lt;a href=&#034;https://musee.info/Hommage-a-Frederic-Bazille&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://musee.info/Hommage-a-Frederic-Bazille&lt;/a&gt;&lt;br class='autobr' /&gt;
le Mus&#233;e Fabre de Montpellier rend un hommage au peintre Fr&#233;d&#233;ric Bazille &lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage + stories + immersif 360&#176; + carto&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Herbier 2.0&lt;/strong&gt; : &lt;a href=&#034;http://www.webdoc-herbier.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.webdoc-herbier.com/&lt;/a&gt;&lt;br class='autobr' /&gt;
40 chroniques &#224; l'occasion de la r&#233;novation de l'Herbier du Mus&#233;um national d'Histoire naturelle &lt;br class='autobr' /&gt;
&lt;i&gt;timeline&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Panafest&lt;/strong&gt; : &lt;a href=&#034;https://www.panafest.org.za&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.panafest.org.za&lt;/a&gt;&lt;br class='autobr' /&gt;
grands festivals panafricains des ann&#233;es 1960 et 1970. &lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage multiple (selon les th&#233;matiques) + immersif&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Welcome to the anthropoc&#232;ne&lt;/strong&gt; : &lt;a href=&#034;https://anthropocene.info/index.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://anthropocene.info/index.php&lt;/a&gt;&lt;br class='autobr' /&gt;
portail &#233;ducatif &#224; propos de l'anthropoc&#232;ne &lt;br class='autobr' /&gt;
&lt;i&gt;data-visualisation+ chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Pharma papers&lt;/strong&gt; : &lt;a href=&#034;http://www.bastamag.net/IMG/webdocs/pharmapapers/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.bastamag.net/IMG/webdocs/pharmapapers/&lt;/a&gt;&lt;br class='autobr' /&gt;
Lobbying et m&#233;gaprofits : tout ce que les labos pharmaceutiques voudraient vous cacher. &lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;#Salauds de pauvres&lt;/strong&gt; : &lt;a href=&#034;http://www.salaudsdepauvres.be/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.salaudsdepauvres.be/&lt;/a&gt;&lt;br class='autobr' /&gt;
documentaire transm&#233;dia sur la mendicit&#233; &#224; Bruxelles &lt;br class='autobr' /&gt;
&lt;i&gt;immersif + chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Dada data&lt;/strong&gt; : &lt;a href=&#034;http://dada-data.net/fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://dada-data.net/fr/&lt;/a&gt;&lt;br class='autobr' /&gt;
un hommage aux 100 ans du mouvement Dada &lt;br class='autobr' /&gt;
&lt;i&gt;d&#233;structur&#233;&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Libert&#233;, In&#233;galit&#233;s ? Fraternit&#233;&lt;/strong&gt; : &lt;a href=&#034;https://www.jeunes.inegalites.fr/liberte-inegalites-fraternite&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.jeunes.inegalites.fr/liberte-inegalites-fraternite&lt;/a&gt;&lt;br class='autobr' /&gt;
outil interactif et ludique pour parler d'in&#233;galit&#233;s et de discriminations &lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Do Not Track&lt;/strong&gt; : &lt;a href=&#034;https://donottrack-doc.com/fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://donottrack-doc.com/fr&lt;/a&gt;&lt;br class='autobr' /&gt;
donn&#233;es et faits sur la vie priv&#233;e et l'&#233;conomie du Web &lt;br class='autobr' /&gt;
&lt;i&gt;data-visualisation + chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;A l'heure du lait&lt;/strong&gt; : &lt;a href=&#034;https://www.ferme-laitiere-france.com/fr/accueil/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.ferme-laitiere-france.com/fr/accueil/&lt;/a&gt;&lt;br class='autobr' /&gt;
webdoc &#034;vitrine&#034; du Centre National Interprofessionnel de l'&#201;conomie Laiti&#232;re &lt;br class='autobr' /&gt;
&lt;i&gt;immersif 360&#176; + stories + chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Water for Iraq&lt;/strong&gt; : &lt;a href=&#034;http://www.waterforiraq.com/#EN_FILM&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.waterforiraq.com/#EN_FILM&lt;/a&gt;&lt;br class='autobr' /&gt;
la probl&#233;matique de l'eau en Irak &lt;br class='autobr' /&gt;
&lt;i&gt;immersif + carto&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;A data sur la politique&lt;/strong&gt; : &lt;a href=&#034;https://lesjours.fr/obsessions/data-politique&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://lesjours.fr/obsessions/data-politique&lt;/a&gt;&lt;br class='autobr' /&gt;
une &#034;data-enqu&#234;te&#034; sur les d&#233;put&#233;s et le fonctionnement de l'assembl&#233;e (2017-22) &lt;br class='autobr' /&gt;
&lt;i&gt;data-visualisation + chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Computer Grrrls&lt;/strong&gt; : &lt;a href=&#034;http://computer-grrrls.gaite-lyrique.net&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://computer-grrrls.gaite-lyrique.net&lt;/a&gt;&lt;br class='autobr' /&gt;
une frise chronologique &#224; propos des femmes dans l'informatique &lt;br class='autobr' /&gt;
&lt;i&gt;timeline&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Plong&#233;e dans le Paris populaire&lt;/strong&gt; : &lt;a href=&#034;https://www.liberation.fr/apps/2019/02/paris-populaire/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.liberation.fr/apps/2019/02/paris-populaire/&lt;/a&gt;&lt;br class='autobr' /&gt;
une cartographie historique du Paris populaire de 1830 &#224; 1980 (participatif) &lt;br class='autobr' /&gt;
&lt;i&gt;carto&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Minett stories&lt;/strong&gt; : &lt;a href=&#034;https://minett-stories.lu/fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://minett-stories.lu/fr/&lt;/a&gt;&lt;br class='autobr' /&gt;
les histoires et les identit&#233;s de la r&#233;gion industrielle du Minett (Luxembourg), ainsi que des personnes qui y ont v&#233;cu et travaill&#233;. &lt;br class='autobr' /&gt;
&lt;i&gt;stories&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Land of plenty, land of but a few&lt;/strong&gt; : &lt;a href=&#034;https://terradealguns.divergente.pt/en/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://terradealguns.divergente.pt/en/&lt;/a&gt;&lt;br class='autobr' /&gt;
la probl&#233;matique des terres agricoles au Mozambique &lt;br class='autobr' /&gt;
&lt;i&gt;stories + immersif 360&#176;&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;17.10.61&lt;/strong&gt; : &lt;a href=&#034;http://raspou.team/1961/home/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://raspou.team/1961/home/&lt;/a&gt;&lt;br class='autobr' /&gt;
revivre le 17 octobre 1961 &lt;br class='autobr' /&gt;
&lt;i&gt;carto + timelines&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Migrantes de otro mundo&lt;/strong&gt; : &lt;a href=&#034;https://migrantes-otro-mundo.elclip.org/index.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://migrantes-otro-mundo.elclip.org/index.html&lt;/a&gt;&lt;br class='autobr' /&gt;
parcours des exil&#233;s d'Afrique et d'Asie en Am&#233;rique du Sud&lt;br class='autobr' /&gt;
&lt;i&gt;stories&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Donne fuori dal buio&lt;/strong&gt; : &lt;a href=&#034;https://www.donnefuoridalbuio.com/en/timeline/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.donnefuoridalbuio.com/en/timeline/&lt;/a&gt;&lt;br class='autobr' /&gt;
la vie de 4 femmes en Irak pendant l'occupation &lt;br class='autobr' /&gt;
&lt;i&gt;timeline + stories&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Sur les traces de Boko Haram&lt;/strong&gt; : &lt;a href=&#034;https://webdoc.rfi.fr/niger-nigeria-frontieres-boko-haram-islam-jihadistes-terrorisme-lutte-diffa-refugies-rescapees/index.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://webdoc.rfi.fr/niger-nigeria-frontieres-boko-haram-islam-jihadistes-terrorisme-lutte-diffa-refugies-rescapees/index.html&lt;/a&gt;&lt;br class='autobr' /&gt;
reportage sur l'arriv&#233;e de Bokom Haram au Niger en 2014-15 &lt;br class='autobr' /&gt;
&lt;i&gt;story + timeline&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Syndr&#244;me d'Asperger&lt;/strong&gt; : &lt;a href=&#034;http://www.syndromedaspergerlewebdoc.fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.syndromedaspergerlewebdoc.fr/&lt;/a&gt;&lt;br class='autobr' /&gt;
Syndrome d'Asperger : dans la peau d'un extra-terrien &lt;br class='autobr' /&gt;
&lt;i&gt;chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Casques sur le front&lt;/strong&gt; : &lt;a href=&#034;https://r0c3e20650.racontr.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://r0c3e20650.racontr.com/&lt;/a&gt;&lt;br class='autobr' /&gt;
Les casques_blancs syriens portent secours aux populations qui subissent les bombardements &lt;br class='autobr' /&gt;
&lt;i&gt;story + chapitrage&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Homo plasticus&lt;/strong&gt; : &lt;a href=&#034;https://labs.letemps.ch/interactive/2018/longread-homo-plasticus/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://labs.letemps.ch/interactive/2018/longread-homo-plasticus/&lt;/a&gt;&lt;br class='autobr' /&gt;
Les probl&#232;mes environnementaux pos&#233;s par la consommation de plastique (point de vue Suisse)&lt;br class='autobr' /&gt;
&lt;i&gt;story&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Utiliser REGEXP_REPLACE pour faire des remplacements en MYSQL</title>
		<link>https://tech.gamuza.fr/Utiliser-REGEXP_REPLACE-pour-faire-des-remplacements-en-MYSQL.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Utiliser-REGEXP_REPLACE-pour-faire-des-remplacements-en-MYSQL.html</guid>
		<dc:date>2022-09-02T10:49:45Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>



		<description>&lt;p&gt;REGEXP_REPLACE permet d'utiliser des expressions r&#233;guli&#232;res pour faire des remplacements en MYSQL&lt;/p&gt;

-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Syntaxe de base de REGEXP_REPLACE&lt;/h2&gt;
&lt;textarea readonly='readonly' cols='40' rows='3' class='spip_cadre spip_cadre_block' dir='ltr'&gt;REGEXP_REPLACE(&#034;la chaine sur laquelle on veut faire le remplacement&#034;, &#034;expression r&#233;guli&#232;re&#034;, &#034;la chaine de remplacement&#034;)&lt;/textarea&gt;
&lt;p&gt;Pour la syntaxe compl&#232;te (param&#232;tres suppl&#233;mentaires &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;position&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;nbre d'occurrences&lt;/code&gt;, &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;type de remplacement&lt;/code&gt;) voir &lt;a href=&#034;https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace&lt;/a&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;Utiliser REGEXP_REPLACE dans un UPDATE&lt;/h2&gt;
&lt;p&gt;Dans cet exemple on souhaite supprimer (= remplacer par une chaine vide) les num&#233;ros qui pr&#233;c&#232;dent le texte dans le champ &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;titre&lt;/code&gt; de la table &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;spip_articles&lt;/code&gt;. Ces num&#233;ros sont tous en d&#233;but de titre et suivi par un point et un espace : l'expression r&#233;guli&#232;re pour les &#034;attraper&#034; sera donc : &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;^[0-9]*\. &lt;/code&gt;, ce qui donne comme syntaxe de l'UPDATE :&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;UPDATE spip_articles SET titre = REGEXP_REPLACE(titre, &#034;^[0-9]*\. &#034;, &#034;&#034;);&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Utiliser des r&#233;f&#233;rences aux groupes captur&#233;s par la regexp&lt;/h2&gt;
&lt;p&gt;Classiquement les captures de la regexp peuvent &#234;tre s&#233;par&#233;es en groupes par des parenth&#232;ses. Ces groupes peuvent ensuite &#234;tres appel&#233;s dans le remplacement par le mod&#232;le &lt;code class='sql spip_code spip_code_inline' dir='ltr'&gt;\1&lt;/code&gt;, &lt;code class='sql spip_code spip_code_inline' dir='ltr'&gt;\2&lt;/code&gt;...&lt;br class='autobr' /&gt;
&lt;strong&gt;Exemple :&lt;/strong&gt; r&#233;cup&#233;rer le contenu d'un champ &lt;strong&gt;nom&lt;/strong&gt; et &#233;changer la place du premier mot avec le deuxi&#232;me (regexp pour &#034;attraper un mot : &lt;code class='sql spip_code spip_code_inline' dir='ltr'&gt;\w+&lt;/code&gt;)&lt;/p&gt; &lt;textarea readonly='readonly' cols='40' rows='2' class='spip_cadre spip_cadre_block' dir='ltr'&gt;SELECT REGEXP_REPLACE(nom, '(\w+) (\w+)', '\2 \1') FROM spip_auteurs;&lt;/textarea&gt;&lt;h2 class=&#034;spip&#034;&gt;Autres op&#233;rateurs REGEXP_... de MySQL&lt;/h2&gt;&lt;table class=&#034;table spip&#034;&gt;
&lt;thead&gt;&lt;tr class='row_first'&gt;&lt;th id='ida40e_c0'&gt;Fonction/Op&#233;rateur&lt;/th&gt;&lt;th id='ida40e_c1'&gt;Description&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='ida40e_c0'&gt;REGEXP&lt;/td&gt;
&lt;td headers='ida40e_c1'&gt;Correspond une cha&#238;ne &#224; une expression r&#233;guli&#232;re
&lt;p&gt;&lt;code class='sql spip_code spip_code_inline' dir='ltr'&gt;SELECT * FROM mon_annuaire WHERE telephone REGEXP &#034;^00&#034;&lt;/code&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='ida40e_c0'&gt;REGEXP_LIKE()&lt;/td&gt;
&lt;td headers='ida40e_c1'&gt;Retourne 1 si la cha&#238;ne correspond au motif regex, 0 sinon&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='ida40e_c0'&gt;REGEXP_INSTR()&lt;/td&gt;
&lt;td headers='ida40e_c1'&gt;Retourne l'index de d&#233;but du premier match regex&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_even even'&gt;
&lt;td headers='ida40e_c0'&gt;REGEXP_REPLACE()&lt;/td&gt;
&lt;td headers='ida40e_c1'&gt;Remplace les sous-cha&#238;nes correspondant au motif regex&lt;/td&gt;&lt;/tr&gt;
&lt;tr class='row_odd odd'&gt;
&lt;td headers='ida40e_c0'&gt;REGEXP_SUBSTR()&lt;/td&gt;
&lt;td headers='ida40e_c1'&gt;Retourne la sous-cha&#238;ne correspondant au motif regex&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;f&#233;rences :&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; les bases des REGEXP en MySQL : &lt;a href=&#034;https://www.geeksforgeeks.org/mysql/mysql-regular-expressions-regexp/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.geeksforgeeks.org/mysql/mysql-regular-expressions-regexp/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; les op&#233;rateurs REGEXP_... : &lt;a href=&#034;https://w3schools.tech/fr/tutorial/mysql/mysql-regexps&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://w3schools.tech/fr/tutorial/mysql/mysql-regexps&lt;/a&gt;&lt;/li&gt;&lt;li&gt; quelques consid&#233;rations sur les performances des requ&#234;tes avec des REGEXP : &lt;a href=&#034;https://www.slingacademy.com/article/how-to-perform-full-text-search-in-mysql-8/#performance-considerations&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.slingacademy.com/article/how-to-perform-full-text-search-in-mysql-8/#performance-considerations&lt;/a&gt;&lt;/li&gt;&lt;li&gt; r&#233;f&#233;rence officielle : &lt;a href=&#034;https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://dev.mysql.com/doc/refman/8.0/en/regexp.html#function_regexp-replace&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>R&#233;aliser un webdocumentaire scientifique : concepts et &#233;l&#233;ments techniques</title>
		<link>https://tech.gamuza.fr/Realiser-un-webdocumentaire-scientifique-concepts-et-elements-techniques.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Realiser-un-webdocumentaire-scientifique-concepts-et-elements-techniques.html</guid>
		<dc:date>2022-02-27T17:01:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>



		<description>
&lt;p&gt;Le concept de webdoc et plus sp&#233;cifiquement en tant que support de vulgarisation scientifique D&#233;finition &#171; basique &#187; du webdoc (Wikipedia) : &#171; Le web-documentaire est un documentaire con&#231;u pour &#234;tre interactif &#8211; en associant texte, photos, vid&#233;os, sons et animations &#8211; et produit pour &#234;tre diffus&#233; sur le Web. &#187; Concept de base : sur un support de site web d&#233;velopper le point de vue global d'un auteur bas&#233; sur diff&#233;rents types de documents (textes, photos, audios, vid&#233;os, panoramiques (&#8230;)&lt;/p&gt;


-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034;&gt;Le concept de webdoc &lt;br class='manualbr' /&gt;&lt;small&gt;&lt;i&gt;et plus sp&#233;cifiquement en tant que support de vulgarisation scientifique&lt;/i&gt;&lt;/small&gt; &lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; D&#233;finition &#171; basique &#187; du webdoc (Wikipedia) : &lt;br class='autobr' /&gt;
&#171; Le web-documentaire est un documentaire con&#231;u pour &#234;tre interactif &#8211; en associant texte, photos, vid&#233;os, sons et animations &#8211; et produit pour &#234;tre diffus&#233; sur le Web. &#187;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Concept de base :&lt;/strong&gt; sur un support de site web d&#233;velopper le point de vue global d'un auteur bas&#233; sur diff&#233;rents types de documents (textes, photos, audios, vid&#233;os, panoramiques 360&#176;, animations, cartes, data-visualisations, contenus de r&#233;seaux sociaux&#8230;) tout en donnant la possibilit&#233; &#224; l'utilisateur de choisir son parcours de consultation (qui devient &#171; spectateur actif &#187; donc)&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Apparition&lt;/strong&gt; d&#233;but ann&#233;es 2000 :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; contemporaine du d&#233;clin des m&#233;dias traditionnels (TV en particulier) et du d&#233;veloppement de l'hyperconnexion du public avec &#034;picorage&#034; des contenus (typiquement YouTube, r&#233;seaux sociaux...)&lt;/li&gt;&lt;li&gt; explosion du multi-m&#233;dias dans les contenus informatifs : images, vid&#233;os, cartes, infographies, animations... avec de plus en plus de &#034;mix&#034; entre les types&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Caract&#233;ris&#233; par&lt;/strong&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; l'utilisation d'un contenu multim&#233;dia,&lt;/li&gt;&lt;li&gt; l'introduction dans le r&#233;cit de proc&#233;d&#233;s interactifs,&lt;/li&gt;&lt;li&gt; une navigation et un r&#233;cit non lin&#233;aire (implication de l'utilisateur + libert&#233; de parcours)&lt;/li&gt;&lt;li&gt; une &#233;criture sp&#233;cifique&lt;/li&gt;&lt;li&gt; un point de vue d'auteur&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Des exemples&lt;/strong&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Fos / &#233;tang de Berre &lt;small&gt;200 ans d'histoire industrielle et environnementale&lt;/small&gt;&lt;/strong&gt; &lt;a href=&#034;https://fos200ans.fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fos200ans.fr&lt;/a&gt; : un webdoc destin&#233; &#224; la vulgarisation d'un projet de recherche conjoint histoire + sociologie&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Libert&#233;, In&#233;galit&#233;s ?, Fraternit&#233;&lt;/strong&gt; &lt;a href=&#034;https://www.jeunes.inegalites.fr/liberte-inegalites-fraternite&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.jeunes.inegalites.fr/liberte-inegalites-fraternite&lt;/a&gt; : un outil interactif et ludique pour parler d'in&#233;galit&#233;s et de discriminations&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Made in France&lt;/strong&gt; &lt;a href=&#034;https://made-in-france.disclose.ngo/fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://made-in-france.disclose.ngo/fr&lt;/a&gt; : une enqu&#234;te sur l'usage des armes fran&#231;aises contre des civils dans la guerre au Y&#233;men&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Hommage &#224; Fr&#233;d&#233;ric Bazille&lt;/strong&gt; &lt;a href=&#034;https://musee.info/Hommage-a-Frederic-Bazille&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://musee.info/Hommage-a-Frederic-Bazille&lt;/a&gt; : le Mus&#233;e Fabre de Montpellier rend un hommage au peintre Fr&#233;d&#233;ric Bazille&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Do Not Track&lt;/strong&gt; &lt;a href=&#034;https://donottrack-doc.com/fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://donottrack-doc.com/fr&lt;/a&gt; : webdoc consacr&#233; &#224; la vie priv&#233;e et &#224; l'&#233;conomie du Web&lt;/li&gt;&lt;li&gt; &lt;strong&gt;War in Raqqa : rhetoric versus reality&lt;/strong&gt; &lt;a href=&#034;https://raqqa.amnesty.org&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://raqqa.amnesty.org&lt;/a&gt; : un webdoc d'Amnesty International &#224; propos des pertes civiles lors de la prise de Raqqa par les forces de la coalition&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Le clo&#238;tre &amp; la prison &lt;small&gt;Les espaces de l'enfermement&lt;/small&gt;&lt;/strong&gt; &lt;a href=&#034;http://cloitreprison.fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://cloitreprison.fr&lt;/a&gt; : un webdoc pour &#233;clairer l'histoire des espaces d'enfermement et sur leurs multiples transformations en France. En relation avec un projet de recherche plus global sur l'enfermement monastique et carc&#233;ral.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;!-- **A l'heure du lait** : &lt;https://www.ferme-laitiere-france.com/fr/accueil/&gt; : un webdoc &#224; propos d'agriculture mais pas vraiment &#034;scientifique&#034;, r&#233;alis&#233; pour le Centre National Interprofessionnel de l'&#201;conomie Laiti&#232;re _un exemple techniquement tr&#232;s abouti d'int&#233;gration des m&#233;dias et de navigation interactive_ --&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034;&gt;El&#233;ments technique d'un webdoc &lt;br class='manualbr' /&gt;&lt;small&gt;&lt;i&gt;avantage et contraintes du m&#233;dia &#034;web&#034;&lt;/i&gt;&lt;/small&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;narration hypertextuelle&lt;/strong&gt; = structure narrative ramifi&#233;e (&#171; d&#233;lin&#233;aris&#233;e &#187;)
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; narration principale / secondaire / transversale / th&#233;matique + point de vue r&#233;flexif puisqu'on est dans un cadre scientifique&lt;/li&gt;&lt;li&gt; importance du &lt;strong&gt;syst&#232;me de navigation&lt;/strong&gt; : menu(s) / fil d'Ariane / &#171; historique &#187; perso (cf cookies)&lt;/li&gt;&lt;li&gt; &lt;strong&gt;unit&#233; narrative&lt;/strong&gt; : notion de &lt;i&gt;capsule&lt;/i&gt; : par ex &lt;strong&gt;War in Raqqa&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; contrainte forte du &lt;strong&gt;&#171; multi terminal &#187;&lt;/strong&gt; pour la consultation : n&#233;cessit&#233; de concevoir l'interface utilisateur &lt;a href=&#034;https://fr.wikipedia.org/wiki/Site_web_r%C3%A9actif&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&#171; responsive &#187;&lt;/a&gt; = compatible avec tous les formats d'affichage et d'interactions (ordinateur / tablette / t&#233;l&#233;phone...) (+ notion de &#171; fall-back &#187;)&lt;/li&gt;&lt;li&gt; &lt;strong&gt;modes de pr&#233;sentations&lt;/strong&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;immersif &#171; classique &#187;&lt;/i&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; vid&#233;o unique : &lt;strong&gt;Water for Iraq&lt;/strong&gt; &lt;a href=&#034;http://www.waterforiraq.com/#EN_FILM&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.waterforiraq.com/#EN_FILM&lt;/a&gt;&lt;/li&gt;&lt;li&gt; vid&#233;os multiples : &lt;strong&gt;Coexistences&lt;/strong&gt; &lt;a href=&#034;https://fnepaca.fr/hommesetbiodiversite/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fnepaca.fr/hommesetbiodiversite/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; photos : &lt;strong&gt;La vie en Afghanistan sous le nouvel ordre des talibans&lt;/strong&gt; &lt;a href=&#034;https://www.lemonde.fr/international/article/2021/10/02/la-vie-en-afghanistan-sous-le-nouvel-ordre-des-talibans-en-vingt-images_6096863_3210.html&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;https://www.lemonde.fr/international/article/...&lt;/a&gt;&lt;/li&gt;&lt;li&gt; visite virtuelle : &lt;strong&gt;Hommage &#224; Fr&#233;d&#233;ric Bazille&lt;/strong&gt; &lt;a href=&#034;https://musee.info/La-salle-Bazille&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://musee.info/La-salle-Bazille&lt;/a&gt;&lt;/li&gt;&lt;li&gt; mix de tous les types de m&#233;dias (photos, visites 360&#176;, animations, vid&#233;os, audios, cartes...) : &lt;strong&gt;Voyage en pays textile&lt;/strong&gt; &lt;a href=&#034;https://voyagepaystextile.fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://voyagepaystextile.fr/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;&#171; grands formats &#187;&lt;/i&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; avec scroll vertical : &lt;strong&gt;Made in France&lt;/strong&gt; &lt;a href=&#034;https://made-in-france.disclose.ngo/fr/chapter/yemen-papers&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://made-in-france.disclose.ngo/fr/chapter/yemen-papers&lt;/a&gt;&lt;br class='manualbr' /&gt;&lt;strong&gt; Bargny : Ici commence l'&#233;mergence&lt;/strong&gt; &lt;a href=&#034;https://bargnyproject.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://bargnyproject.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt; avec scroll horizontal : &lt;strong&gt;M&#233;moires de Bamyan&lt;/strong&gt; &lt;a href=&#034;http://www.memoiresdebamiyan.fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.memoiresdebamiyan.fr/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;cartographique&lt;/i&gt; : &lt;strong&gt;Paris populaire&lt;/strong&gt; &lt;a href=&#034;https://www.liberation.fr/apps/2019/02/paris-populaire/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.liberation.fr/apps/2019/02/paris-populaire/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;photos a&#233;rienne / satellites&lt;/i&gt; : &lt;strong&gt;Au centre du Mali, des villages ras&#233;s par les violences et la famine&lt;/strong&gt; &lt;a href=&#034;https://www.lemonde.fr/afrique/visuel/2021/01/24/dans-le-centre-du-mali-des-villages-rases-par-les-violences-et-la-famine_6067424_3212.html#map_02&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;https://www.lemonde.fr/afrique/visuel/...&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;timeline&lt;/i&gt; : &lt;strong&gt;Computer Grrrls&lt;/strong&gt; &lt;a href=&#034;http://computer-grrrls.gaite-lyrique.net/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://computer-grrrls.gaite-lyrique.net/&lt;/a&gt; &lt;br class='manualbr' /&gt;&lt;strong&gt;Donne fuori dal buio&lt;/strong&gt; &lt;a href=&#034;https://www.donnefuoridalbuio.com/en/timeline&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.donnefuoridalbuio.com/en/timeline&lt;/a&gt; (+ carto)&lt;/li&gt;&lt;li&gt; &lt;i&gt;data-visualisation&lt;/i&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;Data visualisation multi-types sur l'anthropoc&#232;ne (cartographies, timelines, photos satellites&lt;/strong&gt; &lt;a href=&#034;https://anthropocene.info/index.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://anthropocene.info/index.php&lt;/a&gt; &lt;i&gt;&lt;small&gt;(peut n&#233;cessiter de d&#233;sactiver les v&#233;rifications de s&#233;curit&#233; du navigateur web...)&lt;/small&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;Transformations to groundwater sustainability :&lt;/strong&gt; &lt;a href=&#034;http://t2gws.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://t2gws.com&lt;/a&gt; (data visualisation sous forme de sch&#233;mas et dessins d'illustration) &lt;small&gt;web doc collaboratif chercheurs / populations&lt;/small&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;&#192; data sur la politique&lt;/strong&gt; &lt;a href=&#034;https://lesjours.fr/obsessions/data-politique/ep4-trolls-assemblee/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://lesjours.fr/obsessions/data-politique/ep4-trolls-assemblee/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Base de donn&#233;es Police de BastaMag&lt;/strong&gt; &lt;a href=&#034;http://www.bastamag.net/webdocs/police/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.bastamag.net/webdocs/police/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;&#171; immersif d&#233;structur&#233; &#187;&lt;/i&gt; : &lt;strong&gt;Dada data&lt;/strong&gt; &lt;a href=&#034;http://dada-data.net/fr/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://dada-data.net/fr/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;interactivit&#233;&lt;/strong&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &#224; minima choix du &lt;i&gt;parcours de consultation&lt;/i&gt; + probl&#233;matique de sa complexit&#233; (trop / pas assez)&lt;/li&gt;&lt;li&gt; &lt;i&gt;personnalisation de l'UX&lt;/i&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; adaptations aux &lt;i&gt;interactions et donn&#233;es de navigation&lt;/i&gt; de l'utilisateur : &lt;strong&gt;Do Not Track&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;g&#233;olocalisation&lt;/i&gt; : &lt;strong&gt;Paris populaire&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; &lt;i&gt;s&#233;lection des &#233;l&#233;ments &#224; int&#233;grer&lt;/i&gt; : &lt;strong&gt;Bosnie-Herz&#233;govine : si jeunesse pouvait&lt;/strong&gt; &lt;a href=&#034;http://sijeunessepouvait-bh.fr/politique.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://sijeunessepouvait-bh.fr/politique.php&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &#224; l'extr&#232;me &lt;i&gt;interactions en temps r&#233;el&lt;/i&gt; (SMS, notifications par messageries...) : &lt;strong&gt;Phone_stories : l'infiltr&#233;&lt;/strong&gt; &lt;a href=&#034;http://www.phonestories.me/fr/infiltre&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.phonestories.me/fr/infiltre&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; intervention via &lt;i&gt;commentaires&lt;/i&gt;, &lt;i&gt;r&#233;seaux sociaux&lt;/i&gt;... + &lt;i&gt;comp&#233;tition entre participants&lt;/i&gt; (&#171; gamedoc &#187; ?) &lt;strong&gt;Fort McMonney&lt;/strong&gt; &lt;a href=&#034;http://www.fortmcmoney.com&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://www.fortmcmoney.com&lt;/a&gt; (le site n'est plus op&#233;rationnel depuis la finde Flash Player... voir &lt;a href=&#034;https://cinemadocumentaire.wordpress.com/2014/01/22/webdoc-retour-dexperiences-sur-fort-mcmoney-le-jeu-documentaire-de-david-dufresne/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;ce reportage de cinemadocumentaire&lt;/a&gt; pour les retours d'exp&#233;rience)&lt;/li&gt;&lt;li&gt; &lt;i&gt;&#171; call to action &#187;&lt;/i&gt; : appels &#224; t&#233;moignages ou participation cf &lt;strong&gt;War in Raqqa&lt;/strong&gt; avec appels &#224; t&#233;moignages ou aux dons&lt;/li&gt;&lt;li&gt; &lt;i&gt;parcours personnalis&#233;&lt;/i&gt; : ex enregistrer et partager ses favoris sur &lt;strong&gt;G&#233;oculture&lt;/strong&gt; &lt;a href=&#034;https://geoculture.fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://geoculture.fr&lt;/a&gt; (n&#233;cessite de se cr&#233;er un compte !)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;int&#233;gration de donn&#233;es et visualisations de celles-ci&lt;/strong&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; contraintes de la &lt;i&gt;visualisation responsive&lt;/i&gt;&lt;/li&gt;&lt;li&gt; possibilit&#233;s de &lt;i&gt;visualisations anim&#233;es&lt;/i&gt;&lt;/li&gt;&lt;li&gt; possibilit&#233;s de &lt;i&gt;visualisations dynamiques&lt;/i&gt; en interaction avec l'utilisateur : &lt;a href=&#034;https://www.worldnuclearreport.org/reactors.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.worldnuclearreport.org/reactors.html&lt;/a&gt; &lt;br class='manualbr' /&gt;Utilisation de librairies JavaScripts d&#233;di&#233;es : 2 exemples avec code source ouvert
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://d3js.org/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;strong&gt;D3JS&lt;/strong&gt;&lt;/a&gt; : &lt;a href=&#034;https://observablehq.com/@d3&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://observablehq.com/@d3&lt;/a&gt; ou &lt;a href=&#034;https://www.d3-graph-gallery.com/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.d3-graph-gallery.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://lib.vizzuhq.com/latest/#static-charts&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;&lt;strong&gt;Vizzu&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; &lt;strong&gt;aspect graphiques&lt;/strong&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; charte graphique g&#233;n&#233;rale classique (polices, palette de couleurs, jeux d'ic&#244;nes...)&lt;/li&gt;&lt;li&gt; habillage photos&lt;/li&gt;&lt;li&gt; r&#233;partition des &#233;l&#233;ments textes / m&#233;dias dans les pages&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; probl&#233;matique du &lt;strong&gt;stockage&lt;/strong&gt; et de la &lt;strong&gt;p&#233;rennit&#233;&lt;/strong&gt; :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &#233;volution des technologies : cf obsolescence de la techno Flash et tous les premiers webdocs qui ne sont plus disponibles si ce n'est en archivage : ex &lt;strong&gt;Prison Valley&lt;/strong&gt; &lt;a href=&#034;http://prisonvalley.arte.tv/flash/#fr&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://prisonvalley.arte.tv/flash/#fr&lt;/a&gt;&lt;/li&gt;&lt;li&gt; disponibilit&#233; des ressources externes : passage en acc&#232;s priv&#233;, changement des API...&lt;/li&gt;&lt;li&gt; n&#233;cessit&#233; de l'h&#233;bergement + maintenance / M&#224;J&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;alisation d'un webdoc&lt;br class='manualbr' /&gt;&lt;small&gt;&lt;i&gt;&#233;tapes et &#233;l&#233;ments pour une gestion collaborative&lt;/i&gt;&lt;/small&gt;&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;strong&gt;collecte des donn&#233;es&lt;/strong&gt; et tri (sources et r&#233;f&#233;rences &lt;i&gt;obligatoires&lt;/i&gt; !) &lt;i&gt;&#171; comme tout documentaire la base d'un web-documentaire reste un long travail de documentation &#187;&lt;/i&gt;&lt;/li&gt;&lt;li&gt; constitution d'une &lt;strong&gt;m&#233;diath&#232;que&lt;/strong&gt; avec &#171; formatage &#187; commun / standardis&#233;&lt;/li&gt;&lt;li&gt; choix des &lt;strong&gt;parcours narratifs&lt;/strong&gt; selon les publics vis&#233;s (&#034;personnae&#034;)&lt;/li&gt;&lt;li&gt; &lt;strong&gt;&#233;laboration du / des sc&#233;narios&lt;/strong&gt; + d&#233;coupage en parties (= unit&#233;s de premier niveau)&lt;/li&gt;&lt;li&gt; d&#233;finition des &lt;strong&gt;r&#232;gles de d&#233;coupage / subdivisions&lt;/strong&gt; &#224; l'int&#233;rieur des parties (ex pour Fos 200 ans : p&#233;riode &gt; &#233;tape &gt; capsule)&lt;/li&gt;&lt;li&gt; d&#233;termination du &lt;strong&gt;contenu des capsules&lt;/strong&gt; et attribution des m&#233;dias aux diff&#233;rents &#233;l&#233;ments narratifs&lt;/li&gt;&lt;li&gt; organisation pr&#233;cise des &lt;strong&gt;capsules dans les parties&lt;/strong&gt; / sous-parties&lt;/li&gt;&lt;li&gt; habillage des contenus :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; d&#233;veloppement des diff&#233;rents &lt;strong&gt;gabarits&lt;/strong&gt; (ou &#171; templates &#187;)&lt;/li&gt;&lt;li&gt; attribution des &lt;strong&gt;gabarits aux capsules&lt;/strong&gt; + adaptations ponctuelles&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; organisation des &lt;strong&gt;&#233;l&#233;ments de navigation&lt;/strong&gt; (menus g&#233;n&#233;raux et contextuels, jeu d'ic&#244;ne, plan du site, moteur de recherche,&lt;/li&gt;&lt;li&gt; mise en place des &lt;strong&gt;r&#233;f&#233;rences&lt;/strong&gt; : sources, pr&#233;sentation des auteurs, cr&#233;dits...&lt;/li&gt;&lt;li&gt; relecture, re-relecture, re-re-relecture... et &lt;strong&gt;corrections&lt;/strong&gt; sans fin !&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;f&#233;rences&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; entr&#233;e &#171; Web-documentaire &#187; sur Wikip&#233;dia &lt;a href=&#034;https://fr.wikipedia.org/wiki/Web-documentaire&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fr.wikipedia.org/wiki/Web-documentaire&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &#171; Le webdocumentaire : un outil num&#233;rique innovant au service de l'enseignement, de la recherche et de la valorisation &#187; : &lt;a href=&#034;https://journals.openedition.org/revuehn/418&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://journals.openedition.org/revuehn/418&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Sophie Gebeil : &#171; Le webdocumentaire, exp&#233;rimentation des nouvelles &#233;critures de l'histoire &#187; &lt;a href=&#034;https://fos200ans.fr/regards-sur-le-webdocumentaire.html&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://fos200ans.fr/regards-sur-le-webdocumentaire.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Tester Xdebug sur un serveur local</title>
		<link>https://tech.gamuza.fr/Tester-Xdebug-sur-un-serveur-local.html</link>
		<guid isPermaLink="true">https://tech.gamuza.fr/Tester-Xdebug-sur-un-serveur-local.html</guid>
		<dc:date>2020-08-30T15:16:21Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>clem</dc:creator>


		<dc:subject>php</dc:subject>
		<dc:subject>tutoriel</dc:subject>
		<dc:subject>Xdebug</dc:subject>

		<description>&lt;p&gt;Comment v&#233;rifier que l'extension &lt;strong&gt;Xdebug&lt;/strong&gt; fonctionne correctement sur un serveur AMP local&lt;/p&gt;

-
&lt;a href="https://tech.gamuza.fr/-formations-.html" rel="directory"&gt;D&#233;veloppement web&lt;/a&gt;

/ 
&lt;a href="https://tech.gamuza.fr/+-php-+.html" rel="tag"&gt;php&lt;/a&gt;, 
&lt;a href="https://tech.gamuza.fr/+-tutoriel-+.html" rel="tag"&gt;tutoriel&lt;/a&gt;, 
&lt;a href="https://tech.gamuza.fr/+-Xdebug-+.html" rel="tag"&gt;Xdebug&lt;/a&gt;

		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; v&#233;rifier dans &lt;strong&gt;php.ini&lt;/strong&gt; que l'extension socket est activ&#233;e &lt;br class='autobr' /&gt;
&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;extension=sockets&lt;/code&gt;&lt;/li&gt;&lt;li&gt; cr&#233;er un fichier &lt;strong&gt;xdebug_test.php&lt;/strong&gt; dans un r&#233;pertoire quelconque de la machine avec le contenu suivant : &lt;textarea readonly='readonly' cols='40' rows='11' class='spip_cadre spip_cadre_block' dir='ltr'&gt;&lt;?php $adress = '127.0.0.1'; $port = 9000; $sock = socket_create(AF_INET, SOCK_STREAM, 0); socket_bind($sock, $adress, $port) or die(); socket_listen($sock); $client = socket_accept($sock); echo &#034;connexion etablie avec le client: $client&#034;; socket_close($client); socket_close($sock);&lt;/textarea&gt;&lt;/li&gt;&lt;li&gt; lancer ce fichier en PHP-cli (bien s&#251;r l'executable de php doit &#234;tre dans le &lt;strong&gt;$PATH&lt;/strong&gt; de la machine...)&lt;br class='autobr' /&gt;
&lt;code class&#034;bash&#034; class='spip_code spip_code_inline' dir='ltr'&gt;php xdebug_test.php&lt;/code&gt;&lt;/li&gt;&lt;li&gt; lancer une session de debog avec l'extension Firefox &lt;strong&gt;Xdebug helper&lt;/strong&gt;&lt;/li&gt;&lt;li&gt; ouvrir le navigateur sur n'importe quel fichier php du serveur local &lt;a href=&#034;http://localhost/toto.php&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;http://localhost/toto.php&lt;/a&gt; ,&lt;/li&gt;&lt;li&gt; si Xdebug est correctement install&#233; la console cli devrait afficher &lt;br class='autobr' /&gt;
&lt;code class='bash spip_code spip_code_inline' dir='ltr'&gt;connexion etablie avec le client: Resource id #5&lt;/code&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr&gt;&lt;h2 class=&#034;spip&#034;&gt;R&#233;f&#233;rences :&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La source de ce code : &lt;a href=&#034;https://blogs.oracle.com/netbeansphp/howto-check-xdebug-installation&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://blogs.oracle.com/netbeansphp/howto-check-xdebug-installation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; l'extension Xdebug helper pour Firefox : &lt;a href=&#034;https://github.com/BrianGilbert/xdebug-helper-for-firefox&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/BrianGilbert/xdebug-helper-for-firefox&lt;/a&gt;&lt;/li&gt;&lt;li&gt; Installation de Xdebug sur Laragon (serveur AMP sous Windows) : &lt;a href=&#034;https://forum.laragon.org/topic/264/tutorial-how-to-add-xdebug-to-laragon/20?page=1&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://forum.laragon.org/topic/264/tutorial-how-to-add-xdebug-to-laragon/20?page=1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
