<?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>Divers : Astuces, bugs - Le MEMO du Web Développeur</title>
	<atom:link href="https://memo-web.fr/categorie/divers/feed/" rel="self" type="application/rss+xml" />
	<link>https://memo-web.fr</link>
	<description></description>
	<lastBuildDate>Thu, 25 Sep 2025 14:36:50 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>
	<item>
		<title>Importer une base MySQL trop lourde pour PhpMyAdmin</title>
		<link>https://memo-web.fr/importer-une-grosse-base-de-donnees/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=importer-une-grosse-base-de-donnees</link>
					<comments>https://memo-web.fr/importer-une-grosse-base-de-donnees/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Sat, 23 Aug 2025 14:01:14 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">https://memo-web.fr/?p=1305</guid>

					<description><![CDATA[<p>Lorsque vous essayez d’importer une grosse base MySQL via PhpMyAdmin, vous obtenez souvent ce message : You probably tried to upload a file that is too large. Cela se produit à cause des limitations de PHP (upload_max_filesize, post_max_size, max_execution_time). La solution : utiliser la ligne de commande MySQL. 1. Ouvrez votre terminal macOS / Linux [&#8230;]</p>
The post <a href="https://memo-web.fr/importer-une-grosse-base-de-donnees/">Importer une base MySQL trop lourde pour PhpMyAdmin</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p data-start="211" data-end="316">Lorsque vous essayez d’importer une grosse base MySQL via PhpMyAdmin, vous obtenez souvent ce message :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!">You probably tried <span class="hljs-keyword">to</span> upload a file that <span class="hljs-keyword">is</span> too <span class="hljs-keyword">large</span>.<br />
</code></div>
</div>
<p data-start="382" data-end="488">Cela se produit à cause des limitations de PHP (upload_max_filesize, post_max_size, max_execution_time).</p>
<p data-start="490" data-end="549"><strong data-start="493" data-end="508">La solution</strong> : utiliser la ligne de commande MySQL.</p>
<hr data-start="551" data-end="554" />
<h2 data-start="556" data-end="585">1. Ouvrez votre terminal</h2>
<ul data-start="586" data-end="710">
<li data-start="586" data-end="629">
<p data-start="588" data-end="629"><strong data-start="588" data-end="605">macOS / Linux</strong> : ouvrez <strong data-start="615" data-end="627">Terminal</strong></p>
</li>
<li data-start="630" data-end="710">
<p data-start="632" data-end="710"><strong data-start="632" data-end="656">Windows (MAMP/XAMPP)</strong> : utilisez <strong data-start="668" data-end="675">CMD</strong>, <strong data-start="677" data-end="691">PowerShell</strong>, ou <strong data-start="696" data-end="708">Git Bash</strong></p>
</li>
</ul>
<hr data-start="712" data-end="715" />
<h2 data-start="717" data-end="780">2. Allez dans le dossier où se trouve votre fichier <code data-start="774" data-end="780">.sql</code></h2>
<p data-start="781" data-end="792">Exemple :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash"><span class="hljs-built_in">cd</span> ~/Documents<br />
</code></div>
</div>
<p data-start="822" data-end="864">Vérifiez que votre fichier est présent :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash"><span class="hljs-built_in">ls</span><br />
</code></div>
</div>
<p data-start="882" data-end="942">Vous devriez voir votre fichier, par exemple <code data-start="927" data-end="939">ma-bdd.sql</code>.</p>
<hr data-start="944" data-end="947" />
<h2 data-start="949" data-end="990">3. Identifier la configuration MySQL</h2>
<p data-start="991" data-end="1012">Tapez la commande :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">ps aux | grep mysql<br />
</code></div>
</div>
<p data-start="1047" data-end="1082">Vous verrez quelque chose comme :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre!">tara <span class="hljs-number">19354</span> <span class="hljs-number">0.0</span> mysqld <span class="hljs-operator">--</span>basedir<span class="hljs-operator">=/</span><span class="hljs-type">Applications</span><span class="hljs-regexp">/MAMP/</span><span class="hljs-type">Library</span><span class="hljs-regexp">/bin/</span>mysql57 <span class="hljs-operator">...</span><br />
<span class="hljs-operator">--</span>socket<span class="hljs-operator">=/</span><span class="hljs-type">Applications</span><span class="hljs-regexp">/MAMP/</span>tmp<span class="hljs-regexp">/mysql/</span>mysql.sock <span class="hljs-operator">--</span>port<span class="hljs-operator">=</span><span class="hljs-number">8889</span><br />
</code></div>
</div>
<p data-start="1229" data-end="1262">? <strong data-start="1232" data-end="1260">Retenez ces deux infos :</strong></p>
<ul data-start="1263" data-end="1376">
<li data-start="1263" data-end="1321">
<p data-start="1265" data-end="1321"><strong data-start="1265" data-end="1275">Socket</strong> : <code data-start="1278" data-end="1319">/Applications/MAMP/tmp/mysql/mysql.sock</code></p>
</li>
<li data-start="1322" data-end="1376">
<p data-start="1324" data-end="1376"><strong data-start="1324" data-end="1332">Port</strong> : <code data-start="1335" data-end="1341">8889</code> (si MAMP, sinon par défaut 3306)</p>
</li>
</ul>
<hr data-start="1378" data-end="1381" />
<h2 data-start="1383" data-end="1421">4. Vérifier que MySQL est démarré</h2>
<p data-start="1422" data-end="1476">Si vous ne voyez pas <code data-start="1443" data-end="1451">mysqld</code>, démarrez le serveur :</p>
<ul data-start="1478" data-end="1541">
<li data-start="1478" data-end="1522">
<p data-start="1480" data-end="1522">Via MAMP : cliquez sur <strong data-start="1503" data-end="1520">Start Servers</strong></p>
</li>
<li data-start="1523" data-end="1541">
<p data-start="1525" data-end="1541">Via Homebrew :</p>
</li>
</ul>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">brew services start mysql<br />
</code></div>
</div>
<hr data-start="1582" data-end="1585" />
<h2 data-start="1587" data-end="1620">5. Tester la connexion MySQL</h2>
<p data-start="1621" data-end="1652">Deux façons de se connecter :</p>
<h3 data-start="1654" data-end="1677">Avec le socket :</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">mysql -u root -p --socket=/Applications/MAMP/tmp/mysql/mysql.sock<br />
</code></div>
</div>
<h3 data-start="1757" data-end="1794">Avec l’adresse IP et le port :</h3>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">mysql -u root -p -h 127.0.0.1 -P 8889<br />
</code></div>
</div>
<p data-start="1846" data-end="1900">Entrez le mot de passe (par défaut <code data-start="1881" data-end="1887">root</code> sur MAMP).</p>
<hr data-start="1902" data-end="1905" />
<h2 data-start="1907" data-end="1962">6. Créez la base de données (si elle n’existe pas)</h2>
<p data-start="1963" data-end="1983">Avant d’importer :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">mysql -u root -p -h 127.0.0.1 -P 8889 -e <span class="hljs-string">"CREATE DATABASE IF NOT EXISTS ma-bdd CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"</span><br />
</code></div>
</div>
<hr data-start="2128" data-end="2131" />
<h2 data-start="2133" data-end="2168">7. Importer la base de données</h2>
<p data-start="2169" data-end="2232">Placez-vous dans le dossier où se trouve <code data-start="2210" data-end="2222">ma-bdd.sql</code>, puis :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">mysql -u root -p -h 127.0.0.1 -P 8889 ma-bdd &lt; ma-bdd.sql<br />
</code></div>
</div>
<p data-start="2305" data-end="2328"><strong data-start="2308" data-end="2326">Explications :</strong></p>
<ul data-start="2329" data-end="2548">
<li data-start="2329" data-end="2359">
<p data-start="2331" data-end="2359"><code data-start="2331" data-end="2337">root</code> ? utilisateur MySQL</p>
</li>
<li data-start="2360" data-end="2394">
<p data-start="2362" data-end="2394"><code data-start="2362" data-end="2366">-p</code> ? demande le mot de passe</p>
</li>
<li data-start="2395" data-end="2433">
<p data-start="2397" data-end="2433"><code data-start="2397" data-end="2411">-h 127.0.0.1</code> ? connexion via TCP</p>
</li>
<li data-start="2434" data-end="2480">
<p data-start="2436" data-end="2480"><code data-start="2436" data-end="2445">-P 8889</code> ? port (MAMP = 8889, sinon 3306)</p>
</li>
<li data-start="2481" data-end="2510">
<p data-start="2483" data-end="2510"><code data-start="2483" data-end="2491">ma-bdd</code> ? nom de la base</p>
</li>
<li data-start="2511" data-end="2548">
<p data-start="2513" data-end="2548"><code data-start="2513" data-end="2525">ma-bdd.sql</code> ? fichier à importer</p>
</li>
</ul>
<hr data-start="2550" data-end="2553" />
<h2 data-start="2555" data-end="2580">8. Vérifier l’import</h2>
<p data-start="2581" data-end="2607">Connectez-vous ensuite :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">mysql -u root -p -h 127.0.0.1 -P 8889<br />
</code></div>
</div>
<p data-start="2660" data-end="2668">Puis :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-sql">USE ma<span class="hljs-operator">-</span>bdd;<br />
<span class="hljs-keyword">SHOW</span> TABLES;<br />
</code></div>
</div>
<hr data-start="2707" data-end="2710" />
<h3 data-start="2712" data-end="2768"><strong data-start="2718" data-end="2768">Astuce bonus : suivre la progression avec <code data-start="2762" data-end="2766">pv</code></strong></h3>
<p data-start="2769" data-end="2830">Pour les très gros fichiers, installez <code data-start="2808" data-end="2812">pv</code> (pipe viewer) :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">brew install pv    <span class="hljs-comment"># macOS</span><br />
sudo apt install pv   <span class="hljs-comment"># Linux</span><br />
</code></div>
</div>
<p data-start="2902" data-end="2910">Puis :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-bash">pv ma-bdd.sql | mysql -u root -p -h 127.0.0.1 -P 8889 ma-bdd<br />
</code></div>
</div>
<hr data-start="2986" data-end="2989" />
<h2 data-start="2991" data-end="3029"><strong data-start="2994" data-end="3029">Section Windows (MAMP ou XAMPP)</strong></h2>
<h3 data-start="3031" data-end="3073">1. Ouvrir l’invite de commande MySQL</h3>
<p data-start="3074" data-end="3167">Avec <strong data-start="3079" data-end="3087">MAMP</strong> ou <strong data-start="3091" data-end="3100">XAMPP</strong>, les exécutables MySQL se trouvent dans leur dossier respectif :</p>
<ul data-start="3168" data-end="3245">
<li data-start="3168" data-end="3207">
<p data-start="3170" data-end="3207"><strong data-start="3170" data-end="3178">MAMP</strong> : <code data-start="3181" data-end="3205">C:\MAMP\bin\mysql\bin\</code></p>
</li>
<li data-start="3208" data-end="3245">
<p data-start="3210" data-end="3245"><strong data-start="3210" data-end="3219">XAMPP</strong> : <code data-start="3222" data-end="3243">C:\xampp\mysql\bin\</code></p>
</li>
</ul>
<p data-start="3247" data-end="3304">Ouvrez <strong data-start="3254" data-end="3261">CMD</strong>, puis déplacez-vous dans ce répertoire :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-cmd">cd C:\MAMP\bin\mysql\bin\<br />
</code></div>
</div>
<hr data-start="3344" data-end="3347" />
<h3 data-start="3349" data-end="3374">2. Importer la base</h3>
<p data-start="3375" data-end="3399">La commande complète :</p>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-cmd">mysql.exe -u root -p -h 127.0.0.1 -P 8889 ma-bdd &lt; "C:\chemin\vers\ma-bdd.sql"<br />
</code></div>
</div>
<ul data-start="3492" data-end="3567">
<li data-start="3492" data-end="3567">
<p data-start="3494" data-end="3567">Si vous utilisez <strong data-start="3511" data-end="3520">XAMPP</strong>, remplacez le port par <code data-start="3544" data-end="3550">3306</code> (par défaut) :</p>
</li>
</ul>
<div class="contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary">
<div class="sticky top-9">
<div class="absolute end-0 bottom-0 flex h-9 items-center pe-2">
<div class="bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs"></div>
</div>
</div>
<div class="overflow-y-auto p-4" dir="ltr"><code class="whitespace-pre! language-cmd">mysql.exe -u root -p -h 127.0.0.1 -P 3306 ma-bdd &lt; "C:\chemin\vers\ma-bdd.sql"<br />
</code></div>
</div>
<hr data-start="3660" data-end="3663" />
<p data-start="3825" data-end="3910">
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/importer-une-grosse-base-de-donnees/">Importer une base MySQL trop lourde pour PhpMyAdmin</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/importer-une-grosse-base-de-donnees/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Les erreurs du  .htaccess</title>
		<link>https://memo-web.fr/categorie-divers-5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-5</link>
					<comments>https://memo-web.fr/categorie-divers-5/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Sat, 02 Dec 2023 23:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/les-erreurs-du-htaccess/</guid>

					<description><![CDATA[<p>Une erreur dans le fichier .htaccess se traduira par une erreur HTTP standard .erreur interne du serveur lors de l&#8217;acc&#232;s &#224; n&#8217;importe quelle adresse situ&#233;e dans le r&#233;pertoire de ce fichier. Pour r&#233;parer l&#39;erreur, rep&#233;rer la ligne fautive et la commenter (un commentaire dans un fichier .htacces se fait avec un di&#232;se &#34;#&#34; en d&#233;but [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-5/">Les erreurs du  .htaccess</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Une erreur dans le fichier .htaccess se traduira par une erreur HTTP standard .erreur interne du serveur lors de l&rsquo;acc&egrave;s &agrave; n&rsquo;importe quelle adresse situ&eacute;e dans le r&eacute;pertoire de ce fichier.</p>
<p>
	Pour r&eacute;parer l&#39;erreur, rep&eacute;rer la ligne fautive et la commenter (un commentaire dans un fichier .htacces se fait avec un di&egrave;se &quot;#&quot; en d&eacute;but de ligne), ou supprimer carr&eacute;ment le fichier .htacces s&#39;il ne contient pas d&#39;informations essentielles.<br />
	&nbsp;</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-5/">Les erreurs du  .htaccess</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Parcourir un tableau en php &#8211; pense bête</title>
		<link>https://memo-web.fr/categorie-php-3/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-php-3</link>
					<comments>https://memo-web.fr/categorie-php-3/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 02 Dec 2022 16:33:11 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=188</guid>

					<description><![CDATA[<p>Exemple d&#8217;utilisation des tableaux en php $tableau = array( "un", // indice commence alors par 0 "deux", "trois", "quatre", "cinq" ); OU on force l&#8217;indice du tableau a commencer par 1 $tableau = array( 1 =&#62; "un", // pour commencer de 1 au lieu de 0 ... "deux", "trois", "quatre", "cinq" ); foreach($tableau as $valeur) [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-php-3/">Parcourir un tableau en php – pense bête</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Exemple d&rsquo;utilisation des tableaux en php</p>



<pre class="wp-block-preformatted">$tableau = array(
"un", // indice commence alors par 0
"deux",
"trois",
"quatre",
"cinq"
);</pre>



<p>OU on force l&rsquo;indice du tableau a commencer par 1</p>



<pre class="wp-block-preformatted">$tableau = array(
1 =&gt; "un", // pour commencer de 1 au lieu de 0 ...
"deux",
"trois",
"quatre",
"cinq"
);

foreach($tableau as $valeur)
{
 echo "$valeur&lt;br&gt;";
}
</pre>



<p>Cette boucle affiche l&rsquo;index et le valeur de chaque élément du tableau $tableau</p>



<pre class="wp-block-preformatted"> foreach($tableau as $cle =&gt; $valeur)
{
 echo "$cle : $valeur&lt;br&gt;";
} </pre>



<p>Cette boucle affiche les chiffres de 2 à 19</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for ($i=2; $i&lt;20; $i++) {
    echo $i;
}</pre>



<p><strong>in_array()&nbsp;</strong>ou Vérifier qu&rsquo;une valeur est présente dans un tableau (retourne un boolean):</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$tab = array("droite", "gauche");

if(in_array("gauche", $tab)) {
    echo 'La gauche existe !!';
}
// Dans notre cas, affiche: La gauche existe !!
</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-php-3/">Parcourir un tableau en php – pense bête</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-php-3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mettre un curseur image en CSS</title>
		<link>https://memo-web.fr/mettre-un-curseur-image-en-css/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=mettre-un-curseur-image-en-css</link>
					<comments>https://memo-web.fr/mettre-un-curseur-image-en-css/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 24 Apr 2020 09:41:22 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=1190</guid>

					<description><![CDATA[<p>cursor est la propriété CSS servant 1a modifier l&#8217;apparence du curseur : Les valeurs par défaut étant : pointer, auto, help, wait, crosshair, not-allowed, zoom-in, grab</p>
The post <a href="https://memo-web.fr/mettre-un-curseur-image-en-css/">Mettre un curseur image en CSS</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p><strong>cursor</strong> est la propriété CSS servant 1a  modifier l&rsquo;apparence du curseur :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">body {
cursor: pointer;
}</pre>



<p>Les valeurs par défaut étant : pointer, auto, help, wait, crosshair, not-allowed, zoom-in, grab</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/mettre-un-curseur-image-en-css/">Mettre un curseur image en CSS</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/mettre-un-curseur-image-en-css/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>vérifier la validité d&#8217;une URL en PHP &#8211; Expression régulière</title>
		<link>https://memo-web.fr/categorie-php-227/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-php-227</link>
					<comments>https://memo-web.fr/categorie-php-227/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 10 May 2019 17:11:38 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=56</guid>

					<description><![CDATA[<p>Pour vérifier qu&#8217;une adresse internet est d&#8217;un format valide, voici deux solutions. Vérifier la validité de l&#8217;URL&#160;avec les expressions régulières : On vérifie avec les expressions régulières que la chaîne $monUrl commence par &#8216;http://&#8217; ou &#8216;https://&#8217; et l&#8217;on vérifie qu&#8217;elle se termine par un point suivi de 2 à 6 lettres. Vérifier la validité de [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-php-227/">vérifier la validité d’une URL en PHP – Expression régulière</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Pour vérifier qu&rsquo;une adresse internet est d&rsquo;un format valide, voici deux solutions.</p>



<h2 class="wp-block-heading">Vérifier la validité de l&rsquo;URL&nbsp;avec les expressions régulières :</h2>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$monUrl= "http://memo-web.fr";
if (preg_match('#^(http|https)://[w-]+[w.-]+.[a-zA-Z]{2,6}#i', $monUrl))
{
    echo "Mon URL est valide";
}else{
    echo "MonURL n'est pas valide";
}</pre>



<p>On vérifie avec les expressions régulières que la chaîne $monUrl commence par &lsquo;http://&rsquo; ou &lsquo;https://&rsquo; et l&rsquo;on vérifie qu&rsquo;elle se termine par un point suivi de 2 à 6 lettres.</p>



<h2 class="wp-block-heading">Vérifier la validité de l&rsquo;URL avec filter_var</h2>



<p>La fonction PHP filter_var permet de filtrer une variable passée en paramètres à l&rsquo;aide de différents filtres, l&rsquo;un deux&nbsp;<em>FILTER_VALIDATE_URL&nbsp;</em>est concu pour filtrer les URL de protocole&nbsp;<em>http</em></p>



<p>Si la variable n&rsquo;a pas passé le filtre, la valeur de retour est vide.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">$monUrl = "http://memo-web.fr";
$monUrl = filter_var($monUrl, FILTER_VALIDATE_URL);
if ($monUrl!='')
{
    echo "Mon URL est valide";
}else{
    echo "MonURL n'est pas valide";
}</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-php-227/">vérifier la validité d’une URL en PHP – Expression régulière</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-php-227/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vérifier la hierarchie de ses balises de titre h1, h2, h3 &#8230; pour le référencement</title>
		<link>https://memo-web.fr/categorie-divers-292/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-292</link>
					<comments>https://memo-web.fr/categorie-divers-292/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 01 Jul 2016 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/verifier-la-hierarchie-de-ses-balises-de-titre-h1-h2-h3-pour-le-referencement/</guid>

					<description><![CDATA[<p>Le plugin Mozilla&#160;Web Developpeur offre un outil bien utile pour vérifier la hierarchie des titres d&#8217;une page WEB. Installez le Add-on&#160;Web Developper sur votre navigateur Firefox https://addons.mozilla.org/en-US/firefox/addon/web-developer/ Une fois installé, dans la barre d&#8217;outil du plugin, sélectionnez le menu « Information » &#62; « View Document Outline » pour avoir l&#8217;illustration de la hierarchisation de votre page. &#160;</p>
The post <a href="https://memo-web.fr/categorie-divers-292/">Vérifier la hierarchie de ses balises de titre h1, h2, h3 … pour le référencement</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Le plugin Mozilla&nbsp;Web Developpeur offre un outil bien utile pour vérifier la hierarchie des titres d&rsquo;une page WEB.</p>
<p>Installez le Add-on&nbsp;Web Developper sur votre navigateur Firefox https://addons.mozilla.org/en-US/firefox/addon/web-developer/</p>
<p>Une fois installé, dans la barre d&rsquo;outil du plugin, sélectionnez le menu <strong>« Information » &gt; « View Document Outline » </strong>pour avoir l&rsquo;illustration de la hierarchisation de votre page.</p>
<p>&nbsp;</p>
<p><img decoding="async" style="width: 100%;" src="../img/webdevelopper-firefox.jpg"></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-292/">Vérifier la hierarchie de ses balises de titre h1, h2, h3 … pour le référencement</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-292/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Récupérer dans un tableau, les page d&#8217;un site indexées par Google</title>
		<link>https://memo-web.fr/categorie-divers-291/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-291</link>
					<comments>https://memo-web.fr/categorie-divers-291/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Thu, 16 Jun 2016 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/recuperer-dans-un-tableau-les-page-dun-site-indexees-par-google/</guid>

					<description><![CDATA[<p>Cr&#233;er une feuille de calcul dans Google&#160;doc et appliquez la formule suivante, &#160;adapt&#233;e au site que vous souhaitez scanner : =importXml(&#34;https://www.google.com/search?q=site:http://memo-web.fr&#38;num=100&#38;start=1&#34;; &#34;//cite&#34;) Cela vous listera les URLs des 100 premi&#232;res pages index&#233;es. Vous pourrez ensuite r&#233;cup&#233;rer les suivantes en changeant le param&#232;tre start. Attention cette formule a l&#39;air de fonctionner al&#233;atoirement, essayez de remplaceer https [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-291/">Récupérer dans un tableau, les page d’un site indexées par Google</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Cr&eacute;er une feuille de calcul dans Google&nbsp;doc et appliquez la formule suivante, &nbsp;adapt&eacute;e au site que vous souhaitez scanner :</p>
<pre class="code_php brush: text ">
=importXml(&quot;https://www.google.com/search?q=site:http://memo-web.fr&amp;num=100&amp;start=1&quot;; &quot;//cite&quot;)</pre>
<p>
	Cela vous listera les URLs des 100 premi&egrave;res pages index&eacute;es.</p>
<p>
	Vous pourrez ensuite r&eacute;cup&eacute;rer les suivantes en changeant le param&egrave;tre start.</p>
<div class="dremarque">
	Attention cette formule a l&#39;air de fonctionner al&eacute;atoirement, essayez de remplaceer https par http dans l&#39;url&nbsp;de Google &#8230; va comprendre.</div>
<p>
	&nbsp;</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-291/">Récupérer dans un tableau, les page d’un site indexées par Google</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-291/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Non prise en charge de addEventListener par IE &lt; 9</title>
		<link>https://memo-web.fr/categorie-javascript-266/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-javascript-266</link>
					<comments>https://memo-web.fr/categorie-javascript-266/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 06 Jun 2014 15:52:48 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Navigateur]]></category>
		<guid isPermaLink="false">http://memo-web.fr/?p=198</guid>

					<description><![CDATA[<p>Internet Explorer pour ses version antérieures à la 9 ne prend pas en charge l&#8217;événement javascript&#160;addEventListener,&#160;qui permet d&#8217;assigner un événement javascript à un élément HTML. On peut remplacer cette fonction sous IE par la fonction&#160;attachEvent&#160; Remarquez que le nom de l&#8217;évément passé en paramètre pour&#160;addEventListener doit être nommée sous la form&#160;click,&#160;mouseover,&#160;keydown,&#160;keypress&#160;&#8230; tandis que pour&#160;attachEvent, ses [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-javascript-266/">Non prise en charge de addEventListener par IE < 9</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Internet Explorer pour ses version antérieures à la 9 ne prend pas en charge l&rsquo;événement javascript&nbsp;<strong><em>addEventListener</em></strong><em>,&nbsp;</em>qui permet d&rsquo;assigner un événement javascript à un élément HTML.</p>



<p>On peut remplacer cette fonction sous IE par la fonction&nbsp;<em><strong>attachEvent&nbsp;</strong></em></p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">function addEventMultiBrowsers(event, elem, func) {
   if (elem.addEventListener)  // Si le navigateur prend en charge addEventListener
      elem.addEventListener(event,func,false);
   else if (elem.attachEvent) { // Sinon (cas IE &lt; 9)
      elem.attachEvent("on"+event, func);
   }
}</pre>



<p>Remarquez que le nom de l&rsquo;évément passé en paramètre pour&nbsp;addEventListener doit être nommée sous la form&nbsp;<em><strong>click</strong></em>,&nbsp;<em><strong>mouseover</strong></em>,&nbsp;<em><strong>keydown</strong></em>,&nbsp;<em><strong>keypress&nbsp;</strong></em>&#8230; tandis que pour&nbsp;attachEvent, ses mêmes évenements doivent être nommés&nbsp;<em><strong>onclick</strong></em>,&nbsp;<em><strong>onmouseover</strong></em>,&nbsp;<em><strong>onkeydown</strong></em>,&nbsp;<em><strong>onkeypress&nbsp;.</strong></em></p>



<p>Dans notre fonction nouvellement créée&nbsp;<em><strong>addEventMultiBrowsers,&nbsp;</strong></em>on choisi le premier formalisme et l&rsquo;on rajoute&nbsp;<em>« on »+event&nbsp;</em></p>



<p>Exemple d&rsquo;utilisation&nbsp;:</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">var mon_element = document.getElementById('mon_div');
addEventMultiBrowsers(mon_element, 'mouseover', function() {
    alert ("Vous avez survolé l'élément d'identifiant mon_div !");
});</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-javascript-266/">Non prise en charge de addEventListener par IE < 9</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-javascript-266/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sécuriser l&#8217;accès à un répertoire avec un fichier .htpasswd</title>
		<link>https://memo-web.fr/categorie-divers-263/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-263</link>
					<comments>https://memo-web.fr/categorie-divers-263/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Thu, 29 May 2014 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/securiser-lacces-a-un-repertoire-avec-un-fichier-htpasswd/</guid>

					<description><![CDATA[<p>Pour imposer la saisie d&#39;un couple identifiant / mot de passe afin de rentrer dans un r&#233;pertoire de votre site Internet, une des solutions est d&#39;utiliser le fichier .htpasswd. Pour cela il convient d&#39;ajouter 2 fichiers au r&#233;pertoire dont vous souhaitez limiter l&#39;acc&#232;s : .htaccess et .htpasswd. Dans l&#39;exemple suivant, nous supposeront que nous voulons [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-263/">Sécuriser l’accès à un répertoire avec un fichier .htpasswd</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Pour imposer la saisie d&#39;un couple identifiant / mot de passe afin de rentrer dans un r&eacute;pertoire de votre site Internet, une des solutions est d&#39;utiliser le fichier .htpasswd.</p>
<p>
	Pour cela il convient d&#39;ajouter 2 fichiers au r&eacute;pertoire dont vous souhaitez limiter l&#39;acc&egrave;s : <strong>.htaccess</strong> et <strong>.htpasswd</strong>.</p>
<p>
	Dans l&#39;exemple suivant, nous supposeront que nous voulons restreindre par mot de passe, l&#39;acc« es au r&eacute;pertoire <em>admin&nbsp;</em>de notre site Internet.</p>
<h2>
	Fichier .htaccess apellant un fichier .htpasswd</h2>
<pre class="code_php brush: text ">
AuthUserFile /home/monsite/admin/.htpasswd 
AuthName &quot;Acc&egrave;s r&eacute;serv&eacute;&quot; 
AuthType Basic 
&lt;Limit GET POST&gt; 
require valid-user 
&lt;/Limit&gt;</pre>
<p>
	AuthUserFile&nbsp; doit comprendre le chemin absolu vers votre fichier .htpasswd.<br />
	Pour connaitre&nbsp;ce chemin, cr&eacute;ez un fichier temporaire, que vous nommerez path.php, ins&eacute;rez le code ci apr&egrave;s&nbsp;<i>:</i></p>
<pre class="code_php brush: php ">
&lt;?php echo realpath(&#39;path.php&#39;); ?&gt;</pre>
<p>
	et placez le fichier path.php dans votre r&eacute;pertoire /admin et enfin appelez le depuis votre navigateur pour r&eacute;cup&eacute;re la valeur du chemin absolut;&nbsp;</p>
<h2>
	Fichier .htpasswd</h2>
<p>
	Cr&eacute;ez le fichier .htpasswd et placez le dans le r&eacute;pertoire /admin. Ce fichier contiendra une liste de couple identifiant/mot de passe qui permettront aux utilisateurs de visiter le dossier admin.</p>
<p>
	Apparence de votre fichier .htpasswd :</p>
<pre class="code_php brush: text ">
identifiant1:mot-de-passe-crypte1
identifiant2:mot-de-passe-crypte2</pre>
<p>
	Il existe pl&eacute;thore de services en ligne pour crypter&nbsp;vos mot de passe, <a href="http://shop.alterlinks.com/htpasswd/passwd.php" target="_blank" rel="noopener noreferrer" class="broken_link">en voici un exemple</a>.</p>
<h2>
	Se d&eacute;connecter d&#39;une connexion par .htpasswd</h2>
<p>
	J&#39;ai mis un moment avant de trouver la technique, cela dit, on se d&eacute;connecte automatiquement d&egrave;s que le navigateur est ferm&eacute; (Attention pas seulement la fen&ecirc;tre du navigateur)</p>
<p>
	L&#39;astuce consiste &agrave; cr&eacute;er un fichier deconnexion.php que l&#39;on peut appeler via un lien depuis l&#39;un des fichiers du r&eacute;pertoire admin.<br />
	Le fichier deconnexion.php redemande en fait les identifiants de connexion &agrave; l&#39;utilisateur, puis le redirige vers la page de votre choix.</p>
<pre class="code_php brush: php ">
&lt;?php
    header(&#39;WWW-Authenticate: Basic realm=&quot;Acc&egrave;s r&eacute;serv&eacute;&quot;&#39;);
    header(&#39;HTTP/1.0 401 Unauthorized&#39;);
    echo &#39;&lt;script type=&quot;text/javascript&quot;&gt;
             window.location.href = &quot;http://monsite.php&quot;;
          &lt;/script&gt;&#39;;
    exit();
?&gt;</pre>
<div class="davertissement">
	Attention realm doit avoir la m&ecirc;me valeur que&nbsp;AuthName&nbsp;dans le .htaccess</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-263/">Sécuriser l’accès à un répertoire avec un fichier .htpasswd</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-263/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convertir un pdf en ebook avec Calibre et Sigil</title>
		<link>https://memo-web.fr/categorie-divers-245/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-245</link>
					<comments>https://memo-web.fr/categorie-divers-245/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Wed, 09 Oct 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/convertir-un-pdf-en-ebook-avec-calibre-et-sigil/</guid>

					<description><![CDATA[<p>Cr&#233;er un ebook&#160;&#224; partir d&#39;un fichier pdf avec le logiciel calibre T&#233;l&#233;charger le logiciel calibre Cliquez sur le menu &#34;Ajoutez des livres&#34; et s&#233;lectionnez votre fichier pdf. S&#233;lectionnez sur le livre que vous venez d&#39;ajouter et cliquez sur le menu &#34;convertir les livres&#34; Une fen&#234;tre appara&#238;t qui vous permet de param&#233;trer les principales donn&#233;es de [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-245/">Convertir un pdf en ebook avec Calibre et Sigil</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<h2>
	Cr&eacute;er un ebook&nbsp;&agrave; partir d&#39;un fichier pdf avec le logiciel calibre</h2>
<p>
	<a href="http://calibre-ebook.com/download">T&eacute;l&eacute;charger le logiciel calibre</a></p>
<p>
	Cliquez sur le menu &quot;Ajoutez des livres&quot; et s&eacute;lectionnez votre fichier pdf.</p>
<p>
	S&eacute;lectionnez sur le livre que vous venez d&#39;ajouter et cliquez sur le menu &quot;convertir les livres&quot;</p>
<p>
	Une fen&ecirc;tre appara&icirc;t qui vous permet de param&eacute;trer les principales donn&eacute;es de votre Ebook (titre nom d&#39;auteur,&nbsp;editeur&#8230;)&nbsp; format d&#39;entr&eacute;e (en haut &agrave; gauche), format de sortie (en haut &agrave; droit : .MOBI, .EPUP etc ..). J&#39;ai choisi le format .EPUB&nbsp;</p>
<p>
	Valider pour convertir votre document .pdf en .epub</p>
<p>
	Vous voyez alors appara&icirc;tre votre livre dans la liste, s&eacute;lectionnez le et clickez droit pour l&#39;enregistrer dans un r&eacute;pertoire &agrave; part sous le &nbsp;format .EPUB.</p>
<p>
	Ceci est la premi&egrave;re partie mais votre livre &eacute;lectronique n&eacute;cessitera encore certainement de nombreux ajustements avant d&#39;avoir une forme correcte.</p>
<h2>
	Lire le livre &eacute;lectronique avec Sigil</h2>
<p>
	Pour ouvrir le livre que vous venez de cr&eacute;er sous format .epub, <a href="https://code.google.com/p/sigil/">t&eacute;l&eacute;chargez le logiciel Sigil</a>&nbsp;gr&acirc;ce auquel vous pourrez structurez votre livre.&nbsp;</p>
<p>
	Dans la fen&ecirc;tre de gauche vous trouverez la structure de votre livre, ouvrez les fichiers contenus dans le r&eacute;pertoire <em>text </em>pour avoir acc&egrave;s au contenu du livre. Utilisez la bo&icirc;te &agrave; outils pour hierarchiser votre livre avec des titres de diff&eacute;rents niveaux (h1, h2, h3) qui vous permettront ult&eacute;rieurement de cr&eacute;er chapitres et sous-chapitres. Vous avez aussi la possibilit&eacute; de faire des liens, mettre en gras, indenter le texte &#8230;.</p>
<h3>
	Cr&eacute;er une table des mati&egrave;res avec Sigil<span style="font-size: 12px;">&nbsp;</span></h3>
<p>
	Cr&eacute;ez une table de mati&egrave;res avec le menu &quot;Outil&quot; &gt; &quot;Table of content&quot; &gt; &quot;Generate&quot;.<br />
	C&#39;est une &eacute;tape indispensable pour permettre &agrave; l&#39;utilisateur de naviguer facilement dans un livre &eacute;llectronique.</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-245/">Convertir un pdf en ebook avec Calibre et Sigil</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-245/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convertisseur automatique d&#8217;octets / ko / Mo / Go &#8211;</title>
		<link>https://memo-web.fr/categorie-divers-243/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-243</link>
					<comments>https://memo-web.fr/categorie-divers-243/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Mon, 16 Sep 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/script-pour-jongler-avec-les-octets-convertir-octet-ko-mo-go/</guid>

					<description><![CDATA[<p>Code pour convertir des octets (Bytes en anglais), Ko (kilos-octet), Mo (Méga-octet), Go (Giga-octet) en utilisant   Javascript/Ajax. Grossières estimations : Une image pèse entre quelques ko et quelques Mo. Un film pèse entre plusieurs centaines de Mo et quelques Go Formulaire de conversion d&#8217;octets A noter que j&#8217;ai utilisé le plugin JQuery joliSelect pour styliser l&#8217;élément [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-243/">Convertisseur automatique d’octets / ko / Mo / Go –</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<h2>Code pour convertir des octets (Bytes en anglais), Ko (kilos-octet), Mo (Méga-octet), Go (Giga-octet) en utilisant   Javascript/Ajax.</h2>
<p>Grossières estimations :</p>
<ul>
<li>Une image pèse entre quelques ko et quelques Mo.</li>
<li>Un film pèse entre plusieurs centaines de Mo et quelques Go</li>
</ul>
<h2>Formulaire de conversion d&rsquo;octets</h2>
<p>A noter que j&rsquo;ai utilisé le <a href="http://memo-web.fr/categorie-jquery-224.php" class="broken_link">plugin JQuery joliSelect pour styliser l&rsquo;élément HTML Select</a>.</p>
<p><u>Fichier form-octet.html</u> :</p>
<pre class="code_php brush: xml ">Conversion d'octets : 
&lt;form method="POST" action=""&gt;
  &lt;input id="valeur_octet" type="text"/&gt;
  &lt;select id="unite_octet"&gt;
     &lt;option value="1" &gt;o&lt;/option&gt;
     &lt;option value="2" selected="selected"&gt;Ko&lt;/option&gt;
     &lt;option value="3"&gt;Mo&lt;/option&gt;
     &lt;option value="4"&gt;Go&lt;/option&gt;    
  &lt;/select&gt;
  &lt;div id="calcul_octet"&gt;Calculer&lt;/div&gt;
  &lt;div id="resultat"&gt;&lt;/div&gt;
&lt;/form&gt;</pre>
<p><u>Code Javascript</u> :</p>
<pre class="code_php brush: js">&lt;script type="text/javascript"&gt;
$(document).ready( function () {
$("#calcul_octet").click(function() {
   $.ajax({
      url      : "octet.php",    
      data     : {valeur_octet : $("#valeur_octet").val(), unite_octet : $("#unite_octet").val()},
      cache    : false,
      dataType : "json",
    error : function(request, error) { // Info Debuggage si erreur        
   alert("Erreur : responseText: "+request.responseText);
      },
      success: function(data) {  
           if (data.valeur_o &gt; 0)     
             $("#resultat").html(data.valeur_o + ' octet(s) &lt;br/&gt; '+
                                           data.valeur_ko + ' ko &lt;br/&gt; '+
                                           data.valeur_Mo + ' Mo &lt;br/&gt; '+
data.valeur_Go + ' Go &lt;br/&gt; ' );
          
        }
     });
  });
  });
&lt;/script&gt;</pre>
<p><u>Code PHP</u> (octet.php) :</p>
<pre class="code_php brush: php ">  if (isset($_REQUEST['valeur_octet'])){
    $valeur=$_REQUEST['valeur_octet'];
  }else $valeur=0;
  $unite= $_REQUEST['unite_octet'];
   $result_o  ='';
   $result_Ko ='';
   $result_Mo =''; 
   $result_Go ='';
  switch ($unite)
{
    case 1:
   $result_o   = $valeur;  
      $result_Ko = 1/bcpow(2, 10)  * $valeur;
   $result_Mo = 1/bcpow(2, 20) * $valeur;
      $result_Go = 1/bcpow(2, 30) * $valeur;
   break;
    case 2:
      $result_o   = bcpow(2, 10) * $valeur;
      $result_Ko = $valeur;
   $result_Mo = 1/bcpow(2, 10) * $valeur;
      $result_Go = 1/bcpow(2, 20) * $valeur;
      break;
    case 3:
      $result_o   = bcpow(2, 20) * $valeur;
      $result_Ko = bcpow(2, 10) * $valeur;
   $result_Mo = $valeur;
      $result_Go = 1/bcpow(2, 10) * $valeur;
      break;
case 4:
      $result_o   = bcpow(2, 30) * $valeur;
      $result_Ko =  bcpow(2, 20) * $valeur;
   $result_Mo =  bcpow(2, 10) * $valeur;
      $result_Go = $valeur;
      break;
       default: ;
        break;
}

  header('Content-type: application/json');
  ?&gt;
  {
      "valeur_o": "&lt;?php echo $result_o;?&gt;",
      "valeur_ko": "&lt;?php echo $result_Ko;?&gt;",
   "valeur_Mo": "&lt;?php echo $result_Mo;?&gt;",
   "valeur_Go": "&lt;?php echo $result_Go;?&gt;"
  }
  &lt;?php
exit(0);</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-243/">Convertisseur automatique d’octets / ko / Mo / Go –</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-243/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Imposer une taille max aux fichiers uploadés sur le serveur</title>
		<link>https://memo-web.fr/categorie-divers-242/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-242</link>
					<comments>https://memo-web.fr/categorie-divers-242/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Mon, 16 Sep 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[php.ini]]></category>
		<guid isPermaLink="false">http://memo-web.fr/imposer-une-taille-max-aux-fichiers-uploades-sur-le-serveur/</guid>

					<description><![CDATA[<p>Configuration du serveur : Limiter la taille des fichiers charg&#233;s sur le serveur avec le fichier php.ini Le chargement des fichiers sur un serveur, et en particulier la taille des fichiers upload&#233;s, est soumis &#224; plusieurs limitations au niveau de la configuration dudit serveur.&#160; Ces param&#232;tres limitatifs sont modifiables dans le fichier php.ini et peuvent [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-242/">Imposer une taille max aux fichiers uploadés sur le serveur</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<h2>
	Configuration du serveur : Limiter la taille des fichiers charg&eacute;s sur le serveur avec le fichier php.ini</h2>
<p>
	Le chargement des fichiers sur un serveur, et en particulier la taille des fichiers upload&eacute;s, est soumis &agrave; plusieurs limitations au niveau de la configuration dudit serveur.&nbsp;</p>
<p>
	Ces param&egrave;tres limitatifs sont modifiables dans le fichier<strong> php.ini</strong> et peuvent &ecirc;tre v&eacute;rifi&eacute;s avec la commande <strong>phpinfo()</strong> qui affiche tous les param&egrave;tres du serveur.</p>
<pre class="code_php brush: php ">
&lt;?php
  phpinfo();
?&gt;</pre>
<p>
	Les param&egrave;tres pris en compte pour ma&icirc;triser l&#39;upload des fichiers sont les suivants :</p>
<p>
	<strong>upload_max_filesize : </strong>Fixe&nbsp;la taille maximale d&#39;un fichier &agrave; charger (exprim&eacute;e en octets).</p>
<p>
	<strong>post_max_size </strong>: Fixe le poids maximum des donn&eacute;es envoy&eacute;es &nbsp;par le formulaire (donc des fichiers charg&eacute;s par formulaire sur le serveur). La valeur de&nbsp;<strong>post_max_size </strong>doit logiquement &ecirc;tre &nbsp;sup&eacute;rieure ou &eacute;gale &agrave; la valeur de&nbsp;<strong>upload_max_filesize</strong></p>
<p>
	V&eacute;rifiez aussi la valeur du param&egrave;tre&nbsp;<strong>memory_limit&nbsp;</strong>qui&nbsp;fixe la m&eacute;moire maximum qu&#39;un script peut allouer &agrave; une requ&ecirc;te. La valeur de&nbsp;<strong>memory_limit&nbsp; </strong>doit &ecirc;tre sup&eacute;rieure ou &eacute;gale &agrave; la valeur de&nbsp;<strong>post_max_size</strong>.</p>
<h2>
	&nbsp;Limiter la taille du fichier &agrave; uploader au niveau du formulaire HTML</h2>
<p>
	Ci dessous, un exemple de formulaire d&#39;upload&nbsp;de fichiers et traitement des donn&eacute;es.</p>
<p>
	Il est possible de limiter, c&ocirc;t&eacute; client, la taille des fichiers upload&eacute;s, tout en gardant &agrave; l&#39;esprit que<strong> la taille max fix&eacute;e c&ocirc;t&eacute; client ne peut pas &ecirc;tre sup&eacute;rieure &agrave; celle fix&eacute;e par le serveur.&nbsp;</strong></p>
<p>
	Pour fixer une taille limite sur le fichier &agrave;&nbsp;t&eacute;l&eacute;charger par le formulaire il faut ajouter un champs de type <strong><em>hidden&nbsp; </em></strong>et de name&nbsp;<em><strong>MAX_FILE_SIZE&nbsp;(</strong></em>avant la d&eacute;claration de l&#39;input file), dont la valeur est la taille limite qu&#39;on veut donner au fichier t&eacute;l&eacute;charg&eacute; (l&#39;unit&eacute; est l&#39;octet).</p>
<div class="davertissement">
	Attention : La valeur de&nbsp;MAX_FILE_SIZE&nbsp; peut &ecirc;tre facilement modifi&eacute;e par un utilisateur fac&eacute;tieux qui sait utiliser <em>click droit&gt;Insp&eacute;cter&nbsp;l&#39;&eacute;l&eacute;ment</em>, nous ne pouvons donc pas nous fier &agrave; 100% &agrave; cette limite !&nbsp;</div>
<p>
	<u>Code HTML</u> :</p>
<pre class="code_php brush: xml ">
&lt;form action=&quot;upload.php&quot; method=&quot;post&quot; name=&quot;import_fichier&quot; enctype=&quot;multipart/form-data&quot;/&gt;
    &lt;label&gt; Charger un fichier (tous formats) : &lt;/label&gt;&lt;br /&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;104857600&quot; /&gt; &lt;!-- Limite 100Mo --&gt;
    &lt;input type=&quot;file&quot; name=&quot;mon_fichier&quot; id=&quot;mon_fichier&quot; /&gt;&lt;br /&gt;  
    &lt;input type=&quot;submit&quot; value=&quot;Charger un fichier&quot; /&gt;&lt;br/&gt; 
 &lt;/form&gt;</pre>
<h2>
	Limiter la taille du fichier upload&eacute;&nbsp;en sortie de formulaire (partie PHP)&nbsp;</h2>
<p>
	Nous attaquons ici le traitement des param&egrave;tres envoy&eacute;s par le formulaire de t&eacute;l&eacute;chargement de fichiers.</p>
<p>
	Comme indiqu&eacute; ci dessus, la v&eacute;rification HTML n&#39;&eacute;tant pas suffisante, nous allons refaire un contr&ocirc;le sur la taille du fichier que l&#39;utlisateur a t&eacute;l&eacute;charg&eacute; en utilisant la fonction&nbsp;<strong><em>filesize&nbsp;</em></strong>qui calcule la taille d&#39;un fichier.</p>
<p>
	<u>Code PHP</u> (fichier upload.php) :</p>
<pre class="code_php brush: php ">
&lt;?php
&nbsp;&nbsp;&nbsp; $repertoireDestination = &quot;uploads/&quot;&nbsp;&nbsp;&nbsp;;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; $NomDuFichier = $_FILES[&quot;mon_fichier&quot;][&quot;name&quot;];
&nbsp;&nbsp;&nbsp; $taille_max&nbsp;&nbsp;&nbsp; = 104857600;
&nbsp;&nbsp;&nbsp; $taille_fichier = filesize($_FILES[&#39;mon_fichier&#39;][&#39;tmp_name&#39;]);
&nbsp;&nbsp;&nbsp; if ($taille_fichier &gt; $taille_max){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Vous avez d&eacute;pass&eacute; la taille de fichier autoris&eacute;e&quot;;
&nbsp;&nbsp;&nbsp; }else if ($NomDuFichier !=&#39;&#39;){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ( is_uploaded_file($_FILES[&quot;mon_fichier&quot;][&quot;tmp_name&quot;])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (file_exists ($repertoireDestination.$NomDuFichier)){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &#39;Le fichier &#39;.$NomDuFichier.&#39; existe d&eacute;j&agrave;&lt;br/&gt;&#39;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }else{&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!rename($_FILES[&quot;mon_fichier&quot;][&quot;tmp_name&quot;],
                $repertoireDestination.$NomDuFichier))
&nbsp;&nbsp;          {&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Le d&eacute;placement du fichier temporaire a &eacute;chou&eacute;&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;Le fichier &quot;. $NomDuFichier .&quot; n&#39;a pas &eacute;t&eacute; upload&eacute;&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
 }
?&gt; </pre>
<p>
	&nbsp;</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-242/">Imposer une taille max aux fichiers uploadés sur le serveur</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-242/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Convertisseur Dollars / Euros en Bitcoins avec Javascript / Ajax</title>
		<link>https://memo-web.fr/categorie-divers-239/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-239</link>
					<comments>https://memo-web.fr/categorie-divers-239/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 16 Aug 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/convertir-des-dollars-euros-en-bitcoins-avec-javascript-ajax/</guid>

					<description><![CDATA[<p>Script de création de formulaire pour convertir Bitcoins en Euros ou Dollars Voici un script PHP / HTML / Javascript pour convertir un montant donné en Dollars ou en Euros en montant Bitcoins au taux de conversion en temps réel. Le calcul se fait en allant interroger l&#8217;URL officielle https://blockchain.info/ de calcul du taux de conversion bitcoin. [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-239/">Convertisseur Dollars / Euros en Bitcoins avec Javascript / Ajax</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<h2>Script de création de formulaire pour convertir Bitcoins en Euros ou Dollars</h2>
<p>Voici un script PHP / HTML / Javascript pour convertir un montant donné en Dollars ou en Euros en montant Bitcoins au taux de conversion en temps réel.<br />
Le calcul se fait en allant interroger l&rsquo;URL officielle https://blockchain.info/ de calcul du taux de conversion bitcoin.</p>
<h2>Déclaration du formulaire HTML de conversion de Bitcoins</h2>
<p><u>Fichier bitcoin.html</u> :</p>
<pre class="code_php brush: xml ">Amount in dollars : &lt;input id="montant_dol" type="text"/&gt;$
&lt;div id="calcul_dol"&gt;Calculate in Bitcoins&lt;/div&gt;
&lt;div id="montant_bit_dol"&gt;&lt;/div&gt;

Montant en euros : &lt;input id="montant_eur" type="text"/&gt;€
&lt;div id="calcul_eur"&gt;Calculer le montant en Bitcoin&lt;/div&gt;
&lt;div id="montant_bit_eur"&gt;&lt;/div&gt;
</pre>
<h2>Partie Javascript &#8211; Demande de conversion du montant saisi en Bitcoin</h2>
<p>Envoi au serveur du montant Dollars et Euros remplis dans le formulaire.<br />
Récupération du montant converti par le serveur sous format JSON. Le processus se déroule sans rechargement de la page grâce au protocole AJAX</p>
<p><u>Fichier bitcoin.js</u> :</p>
<pre class="code_php brush: js">&lt;script type="text/javascript"&gt;
$(document).ready( function () {
$("#calcul_dol,#calcul_eur").click(function() {
   $.ajax({
      url      : "bitcoin-ajax.php",    
      data     : {montant_dol : $("#montant_dol").val(), montant_eur : $("#montant_eur").val()},
      cache    : false,
      dataType : "json",
      error    : function(request, error) { // Info Debuggage si erreur     
                   alert("Erreur : responseText: "+request.responseText);
                 },
      success  : function(data) {  
           if (data.montant_bit_dol &gt; 0)     
             $("#montant_bit_dol").html($("#montant_dol").val()+ '$ =  '+data.montant_bit_dol+' Bitcoins');
            if (data.montant_bit_eur &gt; 0)     
             $("#montant_bit_eur").html($("#montant_eur").val()+ '€ =  '+data.montant_bit_eur+' Bitcoins');    
        }
     });
    });
})
&lt;/script&gt;
</pre>
<h2>Partie Serveur PHP &#8211; Conversion en Bitcoin en interrogeant blockchain.info</h2>
<p>Ce fichier doit contenir uniquement les données de retour en format JSON <u>et ne rien afficher d&rsquo;autre</u> (<a href="http://memo-web.fr/categorie-ajax-2.php">voir mémo sur les requêtes AJAX en JQuery</a>). bitcoin-ajax.php récupère  les informations de montant en Dollars et en Euros envoyées par le navigateur et interroge le site blockchain.info avec les paramètres montant (value) et devise (currency) qui convertira ces valeurs en montant de Bitcoin au taux de conversion en temps réel.<br />
En sortie de fichier, on affiche sous format JSON les montants Bitcoin convertis qui vont être reçus par la requête <em>success  </em>de la fonction<em> $.ajax </em>du fichier bitcoin.js</p>
<p><u>Fichier bitcoin-ajax.php </u>:</p>
<pre class="code_php brush: php ">&lt;?php
  $root    = "https://blockchain.info/"; 
  if (isset($_REQUEST['montant_dol'])){
    $price_in_usd=$_REQUEST['montant_dol'];
  }else $price_in_usd=0;
  $price_in_btc = file_get_contents($root . "tobtc?currency=USD&amp;value=" . intval($price_in_usd));
 
  if (isset($_REQUEST['montant_eur'])){
    $price_in_eur=$_REQUEST['montant_eur'];
  }else $price_in_eur=0;
  $prix_en_btc = file_get_contents($root . "tobtc?currency=EUR&amp;value=" . intval($price_in_eur));
  header('Content-type: application/json');
  ?&gt;
  {
      "montant_bit_dol": "&lt;?php echo $price_in_btc;?&gt;",
      "montant_bit_eur": "&lt;?php echo $prix_en_btc;?&gt;"
  }
  &lt;?php
exit(0);
?&gt;</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-239/">Convertisseur Dollars / Euros en Bitcoins avec Javascript / Ajax</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-239/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Uncaught TypeError: Cannot read property &#8216;msie&#8217; of undefined</title>
		<link>https://memo-web.fr/categorie-divers-226/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-226</link>
					<comments>https://memo-web.fr/categorie-divers-226/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Thu, 08 Aug 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Navigateur]]></category>
		<guid isPermaLink="false">http://memo-web.fr/uncaught-typeerror-cannot-read-property-msie-of-undefined/</guid>

					<description><![CDATA[<p>Si vous tombez sur cette erreur, c&#39;est que la propri&#233;t&#233;&#160;jQuery.browser a &#233;t&#233; d&#233;preci&#233;e dans la version&#160;Query 1.9. Pas glop &#8230; Cette propri&#233;t&#233; pourtant bien utile permettait de connaitre l&#39;identit&#233; du navigateur ainsi que sa version.&#160; Aucun remplacement facile &#224; mettre en place apparemment pour l&#39;instant. Vous pouvez r&#233;gler le probl&#232;me en d&#233;clarant le plugin&#160;jQueryMigrate apr&#232;s [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-226/">Uncaught TypeError: Cannot read property ‘msie’ of undefined</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Si vous tombez sur cette erreur, c&#39;est que la propri&eacute;t&eacute;<strong>&nbsp;jQuery.browser </strong>a &eacute;t&eacute; d&eacute;preci&eacute;e dans la version&nbsp;Query 1.9. Pas glop &#8230;</p>
<p>
	Cette propri&eacute;t&eacute; pourtant bien utile permettait de connaitre l&#39;identit&eacute; du navigateur ainsi que sa version.&nbsp;</p>
<p>
	Aucun remplacement facile &agrave; mettre en place apparemment pour l&#39;instant. Vous pouvez r&eacute;gler le probl&egrave;me en d&eacute;clarant le plugin&nbsp;jQueryMigrate apr&egrave;s votre d&eacute;claration jQuery.</p>
<pre class="code_php brush: js">
&lt;script src=&quot;http://code.jquery.com/jquery-migrate-1.1.0.js&quot;&gt;&lt;/script&gt;</pre>
<p>
	Ce plugin permet de patcher les fonctions jQuery obsol&egrave;tes. Pas super optimis&eacute; mais &ccedil;a peut servir.</p>
<p>
	<a href="http://api.jquery.com/jQuery.browser/">Plus d&#39;info sur le site officiel de jQuery&nbsp;</a></p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-226/">Uncaught TypeError: Cannot read property ‘msie’ of undefined</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-226/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Personnaliser la page d&#8217;erreur 404</title>
		<link>https://memo-web.fr/categorie-divers-223/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-223</link>
					<comments>https://memo-web.fr/categorie-divers-223/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Thu, 01 Aug 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/personnaliser-la-page-derreur-404/</guid>

					<description><![CDATA[<p>Lorsque l&#39;internaute tape une adresse erron&#233;e sur votre site Internet, votre serveur l&#39;envoie sur une page d&#39;erreur. Vous pouvez la personnonaliser en cr&#233;ant un fichier 404.html et en le d&#233;clarant dans votre fichier .htaccess apr&#232;s la commande ErrorDocument D&#233;claration de votre fichier 404.php dans le .htaccess ErrorDocument 404 http://memo-web.fr/404.php Votre fichier s&#39;affichera avec votre design [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-223/">Personnaliser la page d’erreur 404</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Lorsque l&#39;internaute tape une adresse erron&eacute;e sur votre site Internet, votre serveur l&#39;envoie sur une page d&#39;erreur.</p>
<p>
	Vous pouvez la personnonaliser en cr&eacute;ant un fichier 404.html et en le d&eacute;clarant dans votre fichier .htaccess apr&egrave;s la commande ErrorDocument</p>
<h2>
	D&eacute;claration de votre fichier 404.php dans le .htaccess</h2>
<pre class="code_php brush: text ">
ErrorDocument  404  http://memo-web.fr/404.php</pre>
<p>
	Votre fichier s&#39;affichera avec votre design et message personnalis&eacute; lorsque l&#39;internaute tapera une mauvaise adresse ou que l&#39;une de vos page n&#39;existe plus et que vous avez oubli&eacute; (mal) de faire une redirection !</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-223/">Personnaliser la page d’erreur 404</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-223/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Afficher une carte Google Map sur son site Internet avec PHP / Javascript</title>
		<link>https://memo-web.fr/categorie-divers-219/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-219</link>
					<comments>https://memo-web.fr/categorie-divers-219/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Wed, 31 Jul 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Google Map]]></category>
		<guid isPermaLink="false">http://memo-web.fr/afficher-une-carte-google-map-sur-son-site-internet-avec-php-javascript/</guid>

					<description><![CDATA[<p>Pour afficher une carte google Map sur son site Internet et ajouter des lieux sur la carte (vous savez, ces petits pins plantés dans la carte), nous allons utiliser l&#8217;API google Map ainsi que la technologie AJAX. Nous supposeront que les coordonnées GPS des points à indiquer sur la carte sont stockés dans une table [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-219/">Afficher une carte Google Map sur son site Internet avec PHP / Javascript</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Pour afficher une carte google Map sur son site Internet et <strong>ajouter des lieux sur la carte </strong>(vous savez, ces petits pins plantés dans la carte), nous allons utiliser l&rsquo;API google Map ainsi que la technologie AJAX.</p>
<p>Nous supposeront que les coordonnées GPS des points à indiquer sur la carte sont stockés dans une table de notre base de données.<br />
Nous construisons donc notre carte, centrée sur un point précis à définir, et nous iront récupérer les coordonnées des lieux à afficher dans la base de données grâce au binôme AJAX / JQuery et nous créeront sur la carte et à la volée des marqueurs représentant chacun de ces points.<br />
Il est possible d&rsquo;ajouter du texte en légende de chacun de ces marqueurs qui apparait lorsqu&rsquo;on clique sur le marqueur google map (titre_lieu dans l&rsquo;exemple ci dessous) et de leur affecter un lien html (url_lieu).</p>
<p>Créez 3 fichiers :</p>
<ul>
<li>index-map.php</li>
<li>index-map.js</li>
<li>index-map-ajax.php</li>
</ul>
<p>Vous pouvez relire le memo : <a href="http://memo-web.fr/categorie-ajax-2.php" target="_blank" rel="noopener noreferrer">Principe des requêtes Ajax en Jquery</a> pour vous remettre les idées au claire concernant l&rsquo;utilisation des appels Ajax en JQuery.</p>
<h2>Mise en place du code HTML ,  conteneur de la carte Google map</h2>
<p><span style="font-size: 12px;">index-map.php</span></p>
<pre class="code_php brush: xml ">&lt;div id="carte" style="width:300px; height:300px"&gt;&lt;/div&gt;</pre>
<h2>Déclaration du script de l&rsquo;API Google Map</h2>
<pre class="code_php brush: js">&lt;script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;language=fr"&gt;</pre>
<h2>Code Javascript de création de la carte Google Map. Ajout de lieux sur la carte Google Map</h2>
<p>Paramétrage des marqueurs (taille, couleur)<br />
Création de l&rsquo;objet Google Map <strong>new google.maps.Map() </strong>, paramétrage de ses options (zoom, point central, type de carte &#8230;)<br />
Récupération en AJAX de données concernant les lieux et création de marqueurs associés à chaque lieu.</p>
<p><span style="font-size: 12px;">index-map.js</span></p>
<pre class="code_php brush: js">$(document).ready( function () {
    // Paramétrage des marqueurs
    var pinColor = "29aec3";// couleur des épingles google MAP
    var pinImage = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_letter&amp;chld=%E2%80%A2|" + pinColor,
        new google.maps.Size(21, 34),
        new google.maps.Point(0,0),
        new google.maps.Point(10, 34));
    var pinShadow = new google.maps.MarkerImage("http://chart.apis.google.com/chart?chst=d_map_pin_shadow",
        new google.maps.Size(40, 37),
        new google.maps.Point(0, 0),
        new google.maps.Point(12, 35));
 
  function initialiser() {
    // Récupération de la latitude et longitude pour centrer notre carte
    var latlng = new google.maps.LatLng(43.295309,5.374457);

    //Objet contenant des les propriétés d'affichage de la carte Google MAP
    var options = {
          center    : latlng,
          zoom      : 14,
          mapTypeId : google.maps.MapTypeId.ROADMAP
                  };
  
    //Constructeur de la carte
    var carte = new google.maps.Map(document.getElementById("carte"), options);
  
    // Récupération en AJAX des données des lieux à épingler sur la carte Google map
    $.ajax({
       url   : 'index-map-ajax.php',
       error : function(request, error) { // Info Debuggage si erreur         
                 alert("Erreur sous genre - responseText: "+request.responseText);
                },                
    dataType : "json",  
    success  : function(data){
                  $("#carte").fadeIn('slow');
                  var infowindow = new google.maps.InfoWindow();    
                  var marker, i;   
                  // Parcours des données reçus depuis le fichier index-map-ajax.php
                  // Récupération de LatLng, Hint et Legende de chaque lieu et création d'un marqueur
                  $.each(data.items, function(i,item){
                     if (item) {
                        if (item.LatLng_lieu!=''){
                           // On sépare la latitude et la longitude
                           var strLatLng = item.LatLng_lieu.split(',');
                           marker = new google.maps.Marker({
                             position : new google.maps.LatLng(strLatLng[0], strLatLng[1]),
                             map      : carte,
                             icon     : pinImage,
                             shadow   : pinShadow,
                             title    : item.Titre_lieu
                            });          
                  google.maps.event.addListener(marker, 'click', (function(marker, i) {
                   return function() {
                   // Affichage de la légende de chaque lieu
                   infowindow.setContent('&lt;a target="_blank" href="'+item.Url_lieu+'"&gt;&lt;br/&gt;'+item.Titre_lieu+' &lt;/a&gt; ');
                   infowindow.open(carte, marker);
                  }
                })(marker, i));                              }         
                //alert('Vérification données reçues '+item.Titre_lieu+' -- '+item.Url_lieu+ ' -- '+item.LatLng_lieu);
              }
            });                        
          }
        }); 
      }initialiser();
  })</pre>
<h2>Récupération en AJAX  des lieux à afficher sur la carte Google Map</h2>
<p>Nous chargerons dans ce fichier les données de localisation enregistrées en base de données et les afficherons sous forme de données JSON.</p>
<p>Nous supposerons donc ici que nous avons une table nommée <em>lieux</em> comprenant les champs</p>
<ul>
<li>latlng_lieu :  « latitude,longitude » du lieu. Doit être enregistré sous la forme « 43.295309,5.374457 »</li>
<li>titre_lieu</li>
<li>url_lieu</li>
</ul>
<p><a href="http://memo-web.fr/categorie-divers-203.php">Mémo pour connaître la latitude et longitude d&rsquo;un lieu</a></p>
<p><span style="font-size: 12px;">index-map.ajax.php</span></p>
<pre class="code_php brush: php ">&lt;?php
  // Accès à la base de données
  $serveur     = "monserveur.com";
  $utilisateur = "dbxxxxxx";
  $motDePasse  = "mon_mot_de_passe_BDD";
  $base        = "dbxxxxxxxx";
  mysql_connect($serveur, $utilisateur, $motDePasse);
  mysql_select_db($base) or die("Base de données inactive. ");
  // $items est la chaîne contenant l'objet JSON des données
  $items = '';

  // Parcours des lieux
  $result = mysql_query("SELECT* FROM lieux ");
  WHILE ($row = mysql_fetch_object($result)) {   
   // Ecriture des données sous format JSON   
$items .= &lt;&lt;&lt;EOD
   { "LatLng_lieu" : "$row-&gt;latlng_lieu",
     "Titre_lieu"  : "$row-&gt;titre_lieu",
     "Url_lieu"    : "$row-&gt;url_lieu"},
EOD;
    }
    mysql_free_result($result);
 
  // On enlève la dernière virgule
  if ($items != ''){
     $items = substr($items, 0, -1);
  }
 
  // Ecriture de la liste des lieux en format JSON
    header('Content-type: application/json');
    ?&gt;
    {   
        "items": [
                  &lt;?php echo $items;?&gt;
                  ]
    }
</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-219/">Afficher une carte Google Map sur son site Internet avec PHP / Javascript</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-219/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Tutoriel pour afficher et localiser une adresse sur Google Map</title>
		<link>https://memo-web.fr/categorie-divers-220/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-220</link>
					<comments>https://memo-web.fr/categorie-divers-220/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Wed, 31 Jul 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Google Map]]></category>
		<guid isPermaLink="false">http://memo-web.fr/tutoriel-pour-afficher-et-localiser-une-adresse-sur-google-map/</guid>

					<description><![CDATA[<p>Voici un petit tutoriel pour apprendre à afficher sur son site Internet une carte Google Map et y insérer un marqueur de lieu. Le lieu à insérer étant tapé dans un formulaire de recherche sur le site Internet (Voir exemple sur cette page), c&#8217;est l&#8217;API Google map qui cherche ses coordonnées latitude longitude pour ensuite afficher [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-220/">Tutoriel pour afficher et localiser une adresse sur Google Map</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Voici un petit tutoriel pour apprendre à afficher sur son site Internet une carte Google Map et y insérer un marqueur de lieu.</p>
<p>Le lieu à insérer étant tapé dans un formulaire de recherche sur le site Internet (Voir exemple sur cette page), c&rsquo;est l&rsquo;API Google map qui cherche ses coordonnées latitude longitude pour ensuite afficher l&rsquo;adresse sur la carte.</p>
<h2>Déclarer le script de l&rsquo;API Google Map</h2>
<pre class="code_php brush: js">&lt;script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;language=fr"&gt;
&lt;/script&gt;
</pre>
<h2>Créer le formulaire HTML de recherche d&rsquo;une adresse ou d&rsquo;un lieu sur Google Map</h2>
<p>Ce code HTML comprend :</p>
<ul>
<li>Un formulaire de recherche de lieu</li>
<li>Un conteneur div de la carte Google Map</li>
<li>Un &lt;span&gt;&lt;/span&gt;, qui contiendra les coordonnées latitude et longitude du lieu s&rsquo;il est trouvé par l&rsquo;API google map.</li>
</ul>
<pre class="code_php brush: xml ">&lt;form&gt;
  &lt;input type="text" id="adresse"/&gt;
  &lt;input type="button"  value="Localiser sur Google Map" onclick="TrouverAdresse();"/&gt;
&lt;/form&gt;
&lt;span id="text_latlng"&gt;&lt;/span&gt;
&lt;div id="map-canvas" style="float:right;height:220px;width:45%"&gt;&lt;/div&gt;
</pre>
<h2>Code javascript d&rsquo;appel à l&rsquo;API de Google Map : Trouver une adresse sur la carte</h2>
<p>Le code javascript comprend</p>
<ul>
<li>la fonction de création de la carte google map <strong>initialiserCarte</strong>() avec des paramètres par défaut concernant le point sur lequel elle est centrée exprimé en (latitude, longitude) [<a href="http://memo-web.fr/categorie-divers-203.php">Connaitre la latitude et longitude d&rsquo;un point avec Google Map</a>], le pourcentage de zoom sur la carte et le type de carte.</li>
<li>La fonction <strong>TrouverAdresse</strong>() lancée sur la validation du formulaire qui<br />
&#8211; Va rechercher les coordonnées GPS du lieu tapé dans le formulaire de recherche (input text d&rsquo;identifiant « adresse »)<br />
&#8211; Passe ensuite ces coordonnées en tant que centre de la carte google map<br />
&#8211; Affiche ces coordonnées dans le span  d&rsquo;identifiant <em>text_latlng<br />
</em>  &#8211; Crée un marqueur (épingle) de lieu à l&#8217;emplacement du lieu trouvé</li>
</ul>
<pre class="code_php brush: js">&lt;script type="text/javascript"&gt;
var geocoder;
var map;
// initialisation de la carte Google Map de départ
function initialiserCarte() {
  geocoder = new google.maps.Geocoder();
  // Ici j'ai mis la latitude et longitude du vieux Port de Marseille pour centrer la carte de départ
  var latlng = new google.maps.LatLng(43.295309,5.374457);
  var mapOptions = {
    zoom      : 14,
    center    : latlng,
    mapTypeId : google.maps.MapTypeId.ROADMAP
  }
  // map-canvas est le conteneur HTML de la carte Google Map
  map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
}

function TrouverAdresse() {
  // Récupération de l'adresse tapée dans le formulaire
  var adresse = document.getElementById('adresse').value;
  geocoder.geocode( { 'address': adresse}, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      map.setCenter(results[0].geometry.location);
      // Récupération des coordonnées GPS du lieu tapé dans le formulaire
      var strposition = results[0].geometry.location+"";
      strposition=strposition.replace('(', '');
      strposition=strposition.replace(')', '');
      // Affichage des coordonnées dans le &lt;span&gt;
      document.getElementById('text_latlng').innerHTML='Coordonnées : '+strposition;
      // Création du marqueur du lieu (épingle)
      var marker = new google.maps.Marker({
          map: map,
          position: results[0].geometry.location
      });
    } else {
      alert('Adresse introuvable: ' + status);
    }
  });
}
// Lancement de la construction de la carte google map
google.maps.event.addDomListener(window, 'load', initialiserCarte);
&lt;/script&gt;</pre>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-220/">Tutoriel pour afficher et localiser une adresse sur Google Map</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-220/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Retrouver les coordonnées latitude longitude d&#8217;une position avec Google Map</title>
		<link>https://memo-web.fr/categorie-divers-203/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-203</link>
					<comments>https://memo-web.fr/categorie-divers-203/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Wed, 03 Jul 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Google Map]]></category>
		<guid isPermaLink="false">http://memo-web.fr/retrouver-les-coordonnees-latitude-longitude-dun-endroit-avec-google-map/</guid>

					<description><![CDATA[<p>Pour connaître les coordonnées d&#8217;un endroit localisé sur une carte google map, il faut cliquer droit sur le point désiré et choisir dans le menu « Plus d&#8217;infos sur cet endroit ». Les coordonnées latitude longitude apparaissent dans la barre de recherche de google map.</p>
The post <a href="https://memo-web.fr/categorie-divers-203/">Retrouver les coordonnées latitude longitude d’une position avec Google Map</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>Pour connaître les coordonnées d&rsquo;un endroit localisé sur une carte google map, il faut cliquer droit sur le point désiré et choisir dans le menu « Plus d&rsquo;infos sur cet endroit ».</p>
<p>Les coordonnées latitude longitude apparaissent dans la barre de recherche de google map.</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-203/">Retrouver les coordonnées latitude longitude d’une position avec Google Map</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-203/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Rediriger un nom de domaine Gandi vers un hébergement 1&#038;1</title>
		<link>https://memo-web.fr/categorie-divers-188/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-188</link>
					<comments>https://memo-web.fr/categorie-divers-188/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Fri, 17 May 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Hébergement]]></category>
		<category><![CDATA[Serveur]]></category>
		<guid isPermaLink="false">http://memo-web.fr/rediriger-un-nom-de-domaine-gandi-vers-un-hebergement-11/</guid>

					<description><![CDATA[<p>Votre site est h&#233;berg&#233; chez 1&#38;1 or votre nom de domaine a &#233;t&#233; pris chez Gandi ? Pas de panique, il est tr&#232;s facile de proc&#233;der &#224; la redirection du nom de domaine chez Gandi&#160;vers votre serveur chez 1&#38;1. Voici un petit tutoriel&#160;qui rend l&#39;op&#233;ration rapide et sans douleur.&#160; C&#244;t&#233; 1&#38;1, o&#249; se trouve votre [&#8230;]</p>
The post <a href="https://memo-web.fr/categorie-divers-188/">Rediriger un nom de domaine Gandi vers un hébergement 1&1</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Votre site est h&eacute;berg&eacute; chez 1&amp;1 or votre nom de domaine a &eacute;t&eacute; pris chez Gandi ? Pas de panique, il est tr&egrave;s facile de proc&eacute;der &agrave; la redirection du nom de domaine chez Gandi&nbsp;vers votre serveur chez 1&amp;1. Voici un petit tutoriel&nbsp;qui rend l&#39;op&eacute;ration rapide et sans douleur.&nbsp;</p>
<h2>
	C&ocirc;t&eacute; 1&amp;1, o&ugrave; se trouve votre h&eacute;bergement</h2>
<p>
	Dans l&#39;interface d&#39;administration 1&amp;1 :</p>
<ul>
<li>
		Dans la rubrique <em><strong>Domaines &amp; Espaces Web</strong></em>&#8203;, cliquer sur le lien &quot;<em>Ajouter un Domaine</em>&quot;.</li>
<li>
		Tapez alors le nom de domaine que vous souhaitez rediriger sur cet h&eacute;bergement.</li>
<li>
		Validez, 1&amp;1 vous indiquera alors, logiquement, que &quot;<span style="color:#a9a9a9;"><em>Ce nom de domaine est d&eacute;j&agrave; enregistr&eacute;.</em></span><span style="color: rgb(105, 105, 105);">&quot;</span></li>
<li>
		Choisissez l&#39;option : &quot;<span style="color:#a9a9a9;"><em>Utiliser les serveurs DNS 1&amp;1 et conserver votre registrar actuel (bureau d&#39;enregistrement)</em></span>&quot;.</li>
<li>
		1&amp;1 vous communiquera le nom des serveurs DNS qu&#39;il vous faudra param&eacute;trer chez Gandi. <u>Gardez les sous le coude pour la prochaine &eacute;tape chez Gandi</u>.</li>
</ul>
<h2>
	C&ocirc;t&eacute; Gandi, o&ugrave; se trouve votre Nom de Domaine&nbsp;</h2>
<p>
	Dans l&#39;interface d&#39;administration Gandi :</p>
<ul>
<li>
		Rendez vous dans la page de gestion de votre nom de domaine (en cliquant sur le nom de domaine d&eacute;sir&eacute; dans la liste de vos domaines)</li>
<li>
		Rubrique<em><strong>&nbsp;Serveurs de nom </strong></em>(en bas &agrave; droite), cliquez sur &quot;<span style="color:#a9a9a9;"><em>Modifier les serveurs DNS</em></span>&quot;</li>
<li>
		recopiez alors le nom des serveurs DNS communiqu&eacute;s pr&eacute;c&eacute;demment par 1&amp;1</li>
</ul>
<p>
	Vous devrez maintenant attendre 24h pour que le processus suive son cours.</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-188/">Rediriger un nom de domaine Gandi vers un hébergement 1&1</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-188/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configurer l&#8217;encodage UTF-8  d&#8217;une base de données et des fichiers d&#8217;un site Internet</title>
		<link>https://memo-web.fr/categorie-divers-185/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=categorie-divers-185</link>
					<comments>https://memo-web.fr/categorie-divers-185/#respond</comments>
		
		<dc:creator><![CDATA[t@ra]]></dc:creator>
		<pubDate>Wed, 03 Apr 2013 22:00:00 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://memo-web.fr/configurer-lencodage-utf-8-dune-base-de-donnees-et-des-fichiers-dun-site-internet/</guid>

					<description><![CDATA[<p>Pense b&#234;te pour encoder un site Internet en UTF-8 : Encodage des fichiers : utf8 (sans BOM) Encodage de la base de donn&#233;es : utf8_general_ci Encodage des tables de la base de donn&#233;es : utf8_general_ci Meta dans la balise &#60;head&#62; du site : &#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34; /&#62;</p>
The post <a href="https://memo-web.fr/categorie-divers-185/">Configurer l’encodage UTF-8  d’une base de données et des fichiers d’un site Internet</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></description>
										<content:encoded><![CDATA[<p>
	Pense b&ecirc;te pour encoder un site Internet en UTF-8 :</p>
<p>
	<u>Encodage des fichiers</u> : utf8 (sans BOM)</p>
<p>
	<u>Encodage de la base de donn&eacute;es</u> : utf8_general_ci</p>
<p>
	<u>Encodage des tables de la base de donn&eacute;es</u> : utf8_general_ci</p>
<p>
	<u>Meta dans la balise &lt;head&gt; du site</u> :<br />
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;</p>
<div style="margin-top: 0px; margin-bottom: 0px;" class="sharethis-inline-share-buttons" ></div>The post <a href="https://memo-web.fr/categorie-divers-185/">Configurer l’encodage UTF-8  d’une base de données et des fichiers d’un site Internet</a> first appeared on <a href="https://memo-web.fr">Le MEMO du Web Développeur</a>.]]></content:encoded>
					
					<wfw:commentRss>https://memo-web.fr/categorie-divers-185/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
