<?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 &#8211; Kodono</title>
	<atom:link href="https://blog.kodono.info/wordpress/category/divers/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.kodono.info/wordpress</link>
	<description>Pour tous les technophiles</description>
	<lastBuildDate>Sat, 05 Oct 2024 09:56:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.1</generator>
	<item>
		<title>Investir dans des actions en bourse</title>
		<link>https://blog.kodono.info/wordpress/2024/10/05/investir-dans-des-actions-en-bourse/</link>
					<comments>https://blog.kodono.info/wordpress/2024/10/05/investir-dans-des-actions-en-bourse/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sat, 05 Oct 2024 09:56:11 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Français]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2328</guid>

					<description><![CDATA[J&#8217;ai regardé la vidéo de Nas Daily : https://www.instagram.com/reel/DAlPq4IO_Jh/ Et voici ce que je retiens : Préférer les entreprises qui sont là depuis longtemps, ou qu&#8217;on sait qu&#8217;elles vont être là pour encore 10 ans Préférer les entreprises dont le dirigeant est aussi le fondateur, et que vous appréciez (des services que vous utilisez, des [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;ai regardé la vidéo de Nas Daily : <a href="https://www.instagram.com/reel/DAlPq4IO_Jh/">https://www.instagram.com/reel/DAlPq4IO_Jh/</a></p>
<p>Et voici ce que je retiens :</p>
<ul>
<li>Préférer les entreprises qui sont là depuis longtemps, ou qu&#8217;on sait qu&#8217;elles vont être là pour encore 10 ans</li>
<li>Préférer les entreprises dont le dirigeant est aussi le fondateur, et que vous appréciez (des services que vous utilisez, des restaurants où vous allez, etc)</li>
<li>On peut regarder les entreprises du S&#038;P 500 ou CAC 40 qui sont une bonne référence</li>
<li>Le &#8220;nombre magique&#8221; pour le PE Raio (Price/Earning Ratio) doit être entre 20 et 30</li>
<li>Les dividendes que reversent l&#8217;entreprise aux actionnaires</li>
<li>Il ne faut pas faire beaucoup de transactions, mais plutôt investir sur la longueur (plusieurs années)</li>
<li>Pour plus de simplicités, on peut aussi acheter &#8220;un groupe d&#8217;actions&#8221; dit <a href="https://www.amf-france.org/fr/espace-epargnants/comprendre-les-produits-financiers/placements-collectifs/trackers-etf">&#8220;ETF&#8221;</a> (sur l&#8217;application Sumeria on les trouve sous le nom de &#8220;Top 40 French Stocks&#8221; pour le CAC 40 et &#8220;Top 500 US Stocks&#8221; pour le S&#038;P 500)</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2024/10/05/investir-dans-des-actions-en-bourse/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mount a SMB Network Drive with Pivotal Cloud Foundry (pcf) and access it using NodeJS</title>
		<link>https://blog.kodono.info/wordpress/2023/01/20/mount-a-smb-network-drive-with-pivotal-cloud-foundry-pcf-and-access-it-using-nodejs/</link>
					<comments>https://blog.kodono.info/wordpress/2023/01/20/mount-a-smb-network-drive-with-pivotal-cloud-foundry-pcf-and-access-it-using-nodejs/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 20 Jan 2023 15:27:56 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2229</guid>

					<description><![CDATA[Connect to the Apps Manager and navigate to the space where you want to mount the drive. Look at the members, and make sure your user has the correct roles: Then in a console, connect and log into the pcf space (something like cf login and cf -s APPNAME). Next, try the command cf create-service [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Connect to the Apps Manager and navigate to the space where you want to mount the drive. Look at the members, and make sure your user has the correct roles:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space.png"><img fetchpriority="high" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space-1024x278.png" alt="" width="1024" height="278" class="aligncenter size-large wp-image-2230" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space-1024x278.png 1024w, https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space-300x82.png 300w, https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space-768x209.png 768w, https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space-1536x417.png 1536w, https://blog.kodono.info/wordpress/wp-content/uploads/2023/01/pcf-app-manager-space.png 1549w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Then in a console, connect and log into the pcf space (something like <code>cf login</code> and <code>cf -s APPNAME</code>).</p>
<p>Next, try the command <code>cf create-service smb Existing Files_Share -c '{\"share\":\"//server.name.domain.com/Files_Share\"}'</code> (the backslashes are important if you&#8217;re on Windows).</p>
<p>Now you can bind the service with <code>cf bind-service APPNAME Files_Share -c '{\"username\":\"username_without_domain\",\"password\":\"network_password\",\"mount\":\"/mnt/Files_Share\"}'</code></p>
<p>For more info, see <a href="https://docs.cloudfoundry.org/devguide/services/using-vol-services.html#smb">https://docs.cloudfoundry.org/devguide/services/using-vol-services.html#smb</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2023/01/20/mount-a-smb-network-drive-with-pivotal-cloud-foundry-pcf-and-access-it-using-nodejs/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Power Automate: execute a SQL Query via On-Promise Gateway</title>
		<link>https://blog.kodono.info/wordpress/2022/12/09/power-automate-execute-a-sql-query-via-on-promise-gateway/</link>
					<comments>https://blog.kodono.info/wordpress/2022/12/09/power-automate-execute-a-sql-query-via-on-promise-gateway/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 09 Dec 2022 13:28:26 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[English]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[english]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2201</guid>

					<description><![CDATA[In Power Automate, when you want to connect to a SQL Server and if you have a On-Promise Gateway, then you cannot use the command &#8220;Execute a SQL Query&#8221; because it will say it&#8217;s not currently supported. There is a workaround with &#8220;Transform data using Power Query&#8221; (ATTENTION: you cannot load it from a flow [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In Power Automate, when you want to connect to a SQL Server and if you have a On-Promise Gateway, then you cannot use the command <b>&#8220;Execute a SQL Query&#8221;</b> because it will say it&#8217;s not currently supported.</p>
<p>There is a workaround with <b>&#8220;Transform data using Power Query&#8221;</b> (ATTENTION: you cannot load it from a flow from a Solution… you&#8217;ll have to go to your Flows and edit the flow from there):<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/sql_options.png"><img decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/sql_options.png" alt="" width="603" height="669" class="aligncenter size-full wp-image-2203" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/sql_options.png 603w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/sql_options-270x300.png 270w" sizes="(max-width: 603px) 100vw, 603px" /></a></p>
<p>Let&#8217;s say we have 3 tables: ITEM_CATALOG, CATALOG and CURRENCY. We want to join them and filter them based on a variable found previously in our flow.</p>
<p>First, we can define our <code>where</code>. Here I have several values that I want to test using a <code>IN</code>:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/init_where.png"><img decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/init_where.png" alt="" width="605" height="178" class="aligncenter size-full wp-image-2205" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/init_where.png 605w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/init_where-300x88.png 300w" sizes="(max-width: 605px) 100vw, 605px" /></a></p>
<p>I create a string with my different values separated by a coma.</p>
<p>Next, we can open the Power Query editor:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/power_query.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/power_query.png" alt="" width="619" height="128" class="aligncenter size-full wp-image-2206" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/power_query.png 619w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/power_query-300x62.png 300w" sizes="auto, (max-width: 619px) 100vw, 619px" /></a></p>
<p>In the interface, we choose the 3 tables we need to merge and we add a parameter called &#8220;where&#8221;:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/new_parameter.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/new_parameter.png" alt="" width="250" height="352" class="aligncenter size-full wp-image-2207" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/new_parameter.png 250w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/new_parameter-213x300.png 213w" sizes="auto, (max-width: 250px) 100vw, 250px" /></a></p>
<p>We rename it to &#8220;where&#8221; and leave the default settings:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parameter_menu.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parameter_menu.png" alt="" width="652" height="637" class="aligncenter size-full wp-image-2208" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parameter_menu.png 652w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parameter_menu-300x293.png 300w" sizes="auto, (max-width: 652px) 100vw, 652px" /></a></p>
<p>Then we use the <b>&#8220;Advance Editor&#8221;</b>:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/advanced_editor.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/advanced_editor.png" alt="" width="805" height="318" class="aligncenter size-full wp-image-2209" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/advanced_editor.png 805w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/advanced_editor-300x119.png 300w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/advanced_editor-768x303.png 768w" sizes="auto, (max-width: 805px) 100vw, 805px" /></a></p>
<p>And we wrote the below:</p>
<pre class="brush:javascript">
let
  where = Text.Split( "@{variables('where')}" , ",")
in
  where
</pre>
<p>It means we want to split the variable &#8220;where&#8221; coming from the flow, based on the coma separator:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/editor_value.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/editor_value.png" alt="" width="520" height="175" class="aligncenter size-full wp-image-2210" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/editor_value.png 520w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/editor_value-300x101.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /></a></p>
<p>We can now merge the tables and add a filter:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/buttons.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/buttons-1024x112.png" alt="" width="1024" height="112" class="aligncenter size-large wp-image-2211" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/buttons-1024x112.png 1024w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/buttons-300x33.png 300w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/buttons-768x84.png 768w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/buttons.png 1175w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>And when the step to filter is here, we select <b>&#8220;in&#8221;</b> and our query:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/filter_rows.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/filter_rows.png" alt="" width="609" height="301" class="aligncenter size-full wp-image-2212" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/filter_rows.png 609w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/filter_rows-300x148.png 300w" sizes="auto, (max-width: 609px) 100vw, 609px" /></a></p>
<p>Last step is to <b>&#8220;Enable Load&#8221;</b> to make sure this is what the operation will return to our flow:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/enable_load.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/enable_load.png" alt="" width="307" height="437" class="aligncenter size-full wp-image-2213" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/enable_load.png 307w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/enable_load-211x300.png 211w" sizes="auto, (max-width: 307px) 100vw, 307px" /></a></p>
<p>You can run it to test and see if it works.</p>
<p>Then, to get the output from it, we&#8217;ll use a <b>&#8220;Parse JSON&#8221;</b>… The schema is probably something like:</p>
<pre class="brush:json">
{
    "type": "object",
    "properties": {
        "resultType": {
            "type": "string"
        },
        "value": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "COLUMN_A": {
                        "type": "string"
                    },
                    "COLUMN_B": {
                        "type": "integer"
                    },
                    "COLUMN_C": {
                        "type": "string"
                    }
                },
                "required": [
                    "COLUMN_A",
                    "COLUMN_B",
                    "COLUMN_C"
                ]
            }
        }
    }
}
</pre>
<p>You may need to make several tries in order to find the correct schema. You can also use the <b>&#8220;Generate from sample&#8221;</b> by pasting the data from the previous step:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parse_json.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parse_json.png" alt="" width="629" height="437" class="aligncenter size-full wp-image-2214" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parse_json.png 629w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/parse_json-300x208.png 300w" sizes="auto, (max-width: 629px) 100vw, 629px" /></a></p>
<p>We use <b>&#8220;value&#8221;</b> in the loop:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/value.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/value.png" alt="" width="667" height="378" class="aligncenter size-full wp-image-2215" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/value.png 667w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/value-300x170.png 300w" sizes="auto, (max-width: 667px) 100vw, 667px" /></a></p>
<p>And then we can access our columns:<br />
<a href="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/applyeach.png"><img loading="lazy" decoding="async" src="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/applyeach.png" alt="" width="670" height="376" class="aligncenter size-full wp-image-2216" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/applyeach.png 670w, https://blog.kodono.info/wordpress/wp-content/uploads/2022/12/applyeach-300x168.png 300w" sizes="auto, (max-width: 670px) 100vw, 670px" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2022/12/09/power-automate-execute-a-sql-query-via-on-promise-gateway/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mise à jour d’un serveur Kimsufi (OVH) depuis Debian 10 (Buster) vers Debian 11 (Bullseye)</title>
		<link>https://blog.kodono.info/wordpress/2022/02/06/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye/</link>
					<comments>https://blog.kodono.info/wordpress/2022/02/06/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 06 Feb 2022 16:37:52 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Français]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2135</guid>

					<description><![CDATA[Il faut régulièrement penser à mettre à jour son serveur Kimsufi. Je vais essayer d’expliquer brièvement les étapes à suivre pour cela. On vérifie les problèmes liés à la mise à jour. Prévoir une connexion SSH depuis 2 emplacements si possible à cause d&#8217;un problème sur SSH durant l&#8217;installation. On va effectuer une mise à [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Il faut régulièrement penser à mettre à jour son serveur Kimsufi.</p>
<p>Je vais essayer d’expliquer brièvement <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">les étapes à suivre</a> pour cela.</p>
<ol>
<li>On vérifie <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-information.fr.html">les problèmes liés à la mise à jour</a>.</li>
<li>Prévoir une connexion SSH depuis 2 emplacements si possible à cause <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-information.fr.html#ssh-not-available">d&#8217;un problème sur SSH</a> durant l&#8217;installation.</li>
<li>On va effectuer une mise à jour des paquets avec <code>apt-get update &#038;& apt-get upgrade</code></li>
<li>On va sauvegarder les données :
<pre class="brush:powershell">mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc</pre>
</li>
<li>Ensuite il est conseillé d&#8217;utiliser <code>screen</code> pour pouvoir se reconnecter (avec <code>screen -r</code>) à en cas de déconnexion :
<pre class="brush:powershell">screen</pre>
</li>
</li>
<li>Le processus de mise à niveau décrit <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">sur le site de Debian</a> a été conçu pour des mises à niveau des systèmes « purs » sans paquet provenant d&#8217;autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau :
<pre class="brush:bash">aptitude search '~i(!~ODebian)'</pre>
</li>
<li>On peut éventuellement purger les vieux paquets obsolètes. Pour cela on va d&#8217;abord les lister, puis on peut les purger si tout semble bon:
<pre class="brush:bash">aptitude search '~o'
aptitude purge '~o'</pre>
</li>
<li>On peut lancer la commande <code>dpkg --audit</code> pour s&#8217;assurer que tout est bon avant la migration. On peut également taper <code>dpkg --get-selections "*" | more</code> et vérifier qu&#8217;aucun paquet n&#8217;est en <em>on hold</em></li>
<li>Maintenant il faut remplacer tous les &#8220;buster&#8221; de <code>/etc/apt/sources.list</code> par des &#8220;bullseye&#8221; (on pourra par exemple utiliser <code>sed -i 's/buster/bullseye/g' /etc/apt/sources.list</code>)
<p>On vérifiera aussi les fichiers qui se trouvent dans <code>/etc/apt/sources.list.d</code>, en modifiant par exemple <a href="https://mariadb.org/download/?t=repo-config&#038;d=Debian+11+%22Bullseye%22&#038;v=10.6&#038;r_m=mva">la source pour MariaDB</a>.</p>
<p>J&#8217;ai également dû remplacer la ligne <code>deb http://security.debian.org/ bullseye/updates main contrib non-free</code> de mon fichier <code>/etc/apt/sources.list</code> par <code>deb http://security.debian.org/debian-security bullseye-security main contrib non-free</code>.</p>
</li>
<li>Il est recommandé d&#8217;utiliser le programme <code>/usr/bin/script</code> pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, on a un enregistrement de ce qui s&#8217;est passé. Pour démarrer un enregistrement, taper :
<pre class="brush:powershell">script -t 2>~/upgrade-buster.time -a ~/upgrade-buster.script</pre>
</li>
<li>On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
<pre class="brush:powershell">apt-get update</pre>
</li>
<li>On va vérifier qu&#8217;on a la place suffisante (un message explicite apparait sinon) :
<pre class="brush:powershell">apt -o APT::Get::Trivial-Only=true full-upgrade</pre>
</li>
<li>On va maintenant faire une mise à jour minimale :
<pre class="brush:powershell">apt-get upgrade</pre>
</li>
<li>Et à partir de là le système va vous questionner&#8230; en général choisir l&#8217;option par défaut si vous ne savez pas quoi répondre</li>
<li>Puis on continue avec
<pre class="brush:powershell">apt full-upgrade</pre>
</li>
</ol>
<p>Cette dernière étape va durer un certain temps. Une fois terminé, vous pouvez redémarrer le serveur pour s&#8217;assurer que tout va bien.</p>
<p>Il est bien de vérifier que la version actuelle de PHP est correctement utilisée par Apache et qu&#8217;elle correspond à ce qu&#8217;on veut. Pour cela on vérifie la version avec:</p>
<pre class="brush:powershell">php -v</pre>
<p>Ensuite on regarde les versions de PHP disponibles dans les modules d&#8217;Apache :</p>
<pre class="brush:powershell">ls -l /etc/apache2/mods-available/php*</pre>
<p>Et on regarde celle activée :</p>
<pre class="brush:powershell">ls -l /etc/apache2/mods-enabled/php*</pre>
<p>On regarde également dans le dossier des modules pour vérifier quelle version on a : </p>
<pre class="brush:powershell">ls -l /etc/apache2/modules/libphp*</pre>
<p>Si la version souhaitée est manquante dans les modules, alors on l&#8217;installe, par exemple pour la 7.4 : </p>
<pre class="brush:powershell">apt-get install php7.4 php7.4-mysql</pre>
<p>On s&#8217;assure ensuite de bien activer la bonne version, par exemple en passant de la v7.0 à v7.4 :</p>
<pre class="brush:powershel">a2dismod php7.0
a2enmod php7.4</pre>
<p>Et on redémarre Apache : </p>
<pre class="brush:powershel">systemctl restart apache2</pre>
<p>Une fois les erreurs corrigées, on va nettoyer tous les paquets avec :</p>
<pre class="brush:powershell">apt-get autoremove</pre>
<p>Note : pour arrêter <code>screen</code> on fait <code>CTRL + A</code> puis <code>k</code>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2022/02/06/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-10-buster-vers-debian-11-bullseye/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mise à jour d’un serveur Kimsufi (OVH) depuis Debian 9 (Stretch) vers Debian 10 (Buster)</title>
		<link>https://blog.kodono.info/wordpress/2020/09/27/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-9-stretch-vers-debian-10-buster/</link>
					<comments>https://blog.kodono.info/wordpress/2020/09/27/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-9-stretch-vers-debian-10-buster/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 27 Sep 2020 12:53:05 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=2030</guid>

					<description><![CDATA[Il faut régulièrement penser à mettre à jour son serveur Kimsufi. Je vais essayer d’expliquer brièvement les étapes à suivre pour cela. On va effectuer une mise à jour des paquets avec apt-get update &#038;&#038; apt-get upgrade Il peut être intéressant de vérifier la version de son kernel afin d&#8217;avoir la dernière recommandée. On va [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Il faut régulièrement penser à mettre à jour son serveur Kimsufi.</p>
<p>Je vais essayer d’expliquer brièvement <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">les étapes à suivre</a> pour cela.</p>
<ol>
<li>On va effectuer une mise à jour des paquets avec <code>apt-get update &#038;& apt-get upgrade</code></li>
<li>Il peut être intéressant de vérifier la version de son kernel afin d&#8217;avoir la dernière recommandée. On va vérifier la version actuelle avec <code>uname -r</code> qu&#8217;on peut comparer sur <a href="https://tracker.debian.org/pkg/linux">https://tracker.debian.org/pkg/linux</a>. Si on a un noyau OVH, il est recommandé de passer sur une version classique (<a href="https://community.ovh.com/t/mise-a-jour-du-kernel-sur-serveur-debian-kimsufi/30921/12">voir cette discussion</a>). Ensuite, on fait:
<pre class="brush:bash">apt-get install linux-image-amd64
update-grub
reboot
</pre>
<p>Après le redémarrage, on peut vérifier la version du kernel avec <code>uname -r</code></li>
<li>Si vous avez une version personnalisée de MariaDB, vous pouvez vérifier que vous avez <a href="https://downloads.mariadb.org/mariadb/repositories/#distro=Debian&#038;distro_release=stretch--stretch&#038;mirror=coreix&#038;version=10.5">la dernière mise à jour</a> pour Stretch</li>
<li>On va sauvegarder les données :
<pre class="brush:powershell">mkdir /root/svg_special; cp -R /var/lib/dpkg /root/svg_special/; cp /var/lib/apt/extended_states /root/svg_special/; dpkg --get-selections "*" > /root/svg_special/dpkg_get_selection; cp -R /etc /root/svg_special/etc</pre>
</li>
<li>Ensuite il est conseillé d&#8217;utiliser <code>screen</code> pour pouvoir se reconnecter (avec <code>screen -r</code>) à en cas de déconnexion :
<pre class="brush:powershell">screen</pre>
</li>
</li>
<li>Le processus de mise à niveau décrit <a href="https://www.debian.org/releases/stable/i386/release-notes/ch-upgrading.fr.html">sur le site de Debian</a> a été conçu pour des mises à niveau des systèmes « purs » sans paquet provenant d&#8217;autres sources. Pour une meilleure fiabilité du processus de mise à niveau, vous pouvez supprimer ces paquets du système avant de commencer la mise à niveau :
<pre class="brush:bash">aptitude search '~i(!~ODebian)'</pre>
</li>
<li>On peut éventuellement purger les vieux paquets obsolètes. Pour cela on va d&#8217;abord les lister, puis on peut les purger si tout semble bon:
<pre class="brush:bash">aptitude search '~o'
aptitude purge '~o'</pre>
</li>
<li>On peut lancer la commande <code>dpkg --audit</code> pour s&#8217;assurer que tout est bon avant la migration. On peut également taper <code>dpkg --get-selections "*" | more</code> et vérifier qu&#8217;aucun paquet n&#8217;est en <em>on hold</em></li>
<li>Maintenant il faut remplacer tous les &#8220;stretch&#8221; de <code>/etc/apt/sources.list</code> par des &#8220;buster&#8221; (on pourra par exemple utiliser <code>sed -i 's/stretch/buster/g' /etc/apt/sources.list</code>), ce qui va donner chez moi :
<pre class="brush:bash">
deb http://ftp.fr.debian.org/debian buster main non-free

deb http://debian.mirrors.ovh.net/debian/ buster main
deb-src http://debian.mirrors.ovh.net/debian/ buster main

deb http://security.debian.org/ buster/updates main
deb-src http://security.debian.org/ buster/updates main

deb http://ftp.debian.org/debian buster-backports main

deb http://debian.mirrors.ovh.net/debian buster-updates main
deb-src http://debian.mirrors.ovh.net/debian buster-updates main
</pre>
<p>On vérifiera aussi les autres fichiers qui peuvent se trouver dans <code>/etc/apt/sources.list.d</code>, en modifiant par exemple <a href="https://downloads.mariadb.org/mariadb/repositories/#distro=Debian&#038;distro_release=buster--buster&#038;mirror=coreix&#038;version=10.5">la source pour MariaDB</a>.
</li>
<li>Il est recommandé d&#8217;utiliser le programme <code>/usr/bin/script</code> pour enregistrer une transcription de la session de mise à niveau. Ainsi, quand un problème survient, on a un enregistrement de ce qui s&#8217;est passé. Pour démarrer un enregistrement, taper :
<pre class="brush:powershell">script -t 2>~/upgrade-stretch.time -a ~/upgrade-stretch.script</pre>
</li>
<li>On passe aux choses sérieuses, en commençant par mettre à jour les listes des paquets :
<pre class="brush:powershell">apt-get update</pre>
</li>
<li>On va vérifier qu&#8217;on a la place suffisante (un message explicite apparait sinon) :
<pre class="brush:powershell">apt -o APT::Get::Trivial-Only=true full-upgrade</pre>
</li>
<li>On va maintenant faire une mise à jour minimale :
<pre class="brush:powershell">apt-get upgrade</pre>
</li>
<li>Et à partir de là le système va vous questionner&#8230; en général choisir l&#8217;option par défaut si vous ne savez pas quoi répondre</li>
<li>Puis on continue avec
<pre class="brush:powershel">apt full-upgrade</pre>
</li>
</ol>
<p>Cette dernière étape va durer un certain temps. Une fois terminé, vous pouvez redémarrer le serveur pour s&#8217;assurer que tout va bien.</p>
<p>Il est bien de vérifier que la version actuelle de PHP est correctement utilisée par Apache. Pour cela on vérifie la version avec:</p>
<pre class="brush:powershel">php -v</pre>
<p>Ensuite on regarde les versions de PHP disponibles dans les modules d&#8217;Apache :</p>
<pre class="brush:powershel">ls -l /etc/apache2/mods-available/php*</pre>
<p>Et on regarde celle activée :</p>
<pre class="brush:powershel">ls -l /etc/apache2/mods-enabled/php*</pre>
<p>Si la version ne correspond pas, alors on désactive la version actuellement gérée par Apache2 puis on active la dernière. Par exemple de PHP 7.0 à PHP 7.4 :</p>
<pre class="brush:powershel">a2dismod php7.0
a2enmod php7.4</pre>
<p>Et on redémarre Apache : </p>
<pre class="brush:powershel">systemctl restart apache2</pre>
<p>Il pourrait aussi être nécessaire d&#8217;installer <code>php7.4-mysql</code> :</p>
<pre class="brush:powershel">apt-get install php7.4-mysql</pre>
<p>Dans mon cas j&#8217;ai un serveur qui utilise Tomcat8 avec une vieille version de Java (&#8220;1.8.0_265&#8221;) contre la 1.11 qui a été installé pendant la mise à jour (on le voit avec <code>java -v</code>). La 1.8 n&#8217;est pas disponible pour Duster, donc j&#8217;ai suivi <a href="https://stackoverflow.com/posts/61902164/revisions">ces conseils</a> : </p>
<pre class="brush:powershel">apt-get update
apt-get install software-properties-common
</pre>
<p>Puis dans <code>/etc/apt/sources.list.d/jdk8.list</code> j&#8217;ai mis :<br />
<code>deb http://security.debian.org/debian-security stretch/updates main</code><br />
Et ensuite : </p>
<pre class="brush:powershel">apt-get update
apt-get install openjdk-8-jdk</pre>
<p>Ensuite il faut modifier <code>$JAVA_HOME</code>… Pour cela on modifier d&#8217;abord <code>/etc/environment</code> en y mettant <code>JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/</code> ainsi que <code>/etc/default/tomcat8</code></p>
<p>Des erreurs sur PHPMyAdmin peuvent survenir dû au passage à PHP 7.4. Il est recommandé de <a href="https://github.com/phpmyadmin/phpmyadmin/issues/15236#issuecomment-615954993">mettre à jour PHPMyAdmin</a>. On va d&#8217;abord vérifier qu&#8217;on a une source <em>buster-backports</em> dans <code>/etc/apt/sources.list</code>. Dans mon cas j&#8217;ai pu mettre à jour comme cela :</p>
<pre class="brush:powershel">apt-get upgrade php-tcpdf php-twig
apt-get install -t buster-backports php-twig
apt-get install phpmyadmin
</code>

Une fois les erreurs corrigées, on va nettoyer tous les paquets avec :
<pre class="brush:powershell">apt-get autoremove</pre>
<p>On arrête <code>screen</code> en faisant <code>CTRL + A</code> puis <code>k</code>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2020/09/27/mise-a-jour-dun-serveur-kimsufi-ovh-depuis-debian-9-stretch-vers-debian-10-buster/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>[2] Bypass a lookup field not displayed because of threshold on NewForm and EditForm [Sharepoint 2013]</title>
		<link>https://blog.kodono.info/wordpress/2016/12/22/2-bypass-a-lookup-field-not-displayed-because-of-threshold-on-newform-and-editform-sharepoint-2013/</link>
					<comments>https://blog.kodono.info/wordpress/2016/12/22/2-bypass-a-lookup-field-not-displayed-because-of-threshold-on-newform-and-editform-sharepoint-2013/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 22 Dec 2016 15:29:53 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">https://blog.kodono.info/wordpress/?p=1743</guid>

					<description><![CDATA[This is an update of this article. This time the JS Link file&#8217;s content is the one below: // loadExt permits to load JS and CSS files // https://gist.github.com/Aymkdn/98acfbb46fbe7c1f00cdd3c753520ea8 function loadExt(e,t){var s=this;s.files=e,s.js=[],s.head=document.getElementsByTagName("head")[0],s.after=t&#124;&#124;function(){},s.loadStyle=function(e){var t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.href=e,s.head.appendChild(t)},s.loadScript=function(e){var t=document.createElement("script");t.type="text/javascript",t.src=s.js[e];var a=function(){++e&#60;s.js.length?s.loadScript(e):s.after()};t.onload=function(){a()},s.head.appendChild(t)};for(var a=0;a&#60;s.files.length;a++)/\.js$&#124;\.js\?/.test(s.files[a])&#038;&#038;s.js.push(s.files[a]),/\.css$&#124;\.css\?/.test(s.files[a])&#038;&#038;s.loadStyle(s.files[a]);s.js.length>0?s.loadScript(0):s.after()} (function() { // some "global" variables var lookupFieldsToFix = []; var storageThrottledLookup = localStorage.getItem("ThrottledLookup"); if (storageThrottledLookup) storageThrottledLookup=JSON.parse(storageThrottledLookup); // onLoad() [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>This is an update of <a href="https://blog.kodono.info/wordpress/2016/08/25/bypass-a-lookup-field-not-displayed-because-of-threshold-on-newform-and-editform-sharepoint-2013/">this article</a>.</p>
<p>This time the JS Link file&#8217;s content is the one below:</p>
<pre class="brush:javascript">
// loadExt permits to load JS and CSS files
// https://gist.github.com/Aymkdn/98acfbb46fbe7c1f00cdd3c753520ea8
function loadExt(e,t){var s=this;s.files=e,s.js=[],s.head=document.getElementsByTagName("head")[0],s.after=t||function(){},s.loadStyle=function(e){var t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.href=e,s.head.appendChild(t)},s.loadScript=function(e){var t=document.createElement("script");t.type="text/javascript",t.src=s.js[e];var a=function(){++e&lt;s.js.length?s.loadScript(e):s.after()};t.onload=function(){a()},s.head.appendChild(t)};for(var a=0;a&lt;s.files.length;a++)/\.js$|\.js\?/.test(s.files[a])&#038;&s.js.push(s.files[a]),/\.css$|\.css\?/.test(s.files[a])&#038;&s.loadStyle(s.files[a]);s.js.length>0?s.loadScript(0):s.after()}

(function() {
  // some "global" variables
  var lookupFieldsToFix = [];
  var storageThrottledLookup = localStorage.getItem("ThrottledLookup");
  if (storageThrottledLookup) storageThrottledLookup=JSON.parse(storageThrottledLookup);

  // onLoad() is called when all the fields in the form have been proceed
  function onLoad(ctx) {
    // we'll need jQuery (or nanoajax... see SharepointPlus doc) and SharepointPlus
    loadExt([
      "/Toolbox/Documents/js/jQuery/jquery-1.12.4.min.js",
      "/Toolbox/Documents/js/SharepointPlus/3.14/sharepointplus-3.14.js"
    ], function() {
      // if some lookup fields need to be fixed
      if (lookupFieldsToFix.length>0) {
        var aDeferred=[];
        for (var i=0; i&lt;lookupFieldsToFix.length; i++) {
          aDeferred.push(fixLookup(lookupFieldsToFix[i]));
        }
        $.when.apply(this, aDeferred).done(function() {
          var save={}, count=0, i;
          for (i=arguments.length; i--;) {
            if (arguments[i]) {
              save[arguments[i].field] = arguments[i].choices; // save it as {fieldName:choices}
              count++;
            }
          }
          if (count > 0) {
            // we use localStorage to store the data retrieve from the Lists
            localStorage.setItem('ThrottledLookup', JSON.stringify(save));
            // now reload the page
            $SP().closeModalDialog();
            $('#aspnetForm').hide().after('&lt;h1 style="margin-top:50vh;transform:translateY(-50%);text-align:center">Reloading...&lt;/h1>');
            window.location.reload();
          }
        })
      } else {
        // delete all existing localStorage
        localStorage.removeItem('ThrottledLookup');

        // here you can start doing anything you want on this form
      }
    });    
  }
  
  /**
   * Fix the broken lookup fields
   * @param  {String} field Name of the field to fix
   * @return {Deferred}
   */ 
  function fixLookup(field) {
    var deferred = jQuery.Deferred();
    var choices=[], modal;

    WPQ2FormCtx.ListSchema[field].ChoiceCount=0;
    WPQ2FormCtx.ListSchema[field].Choices=[];
    // show a Waiting message
    modal = $SP().getModalDialog('loading-throttled');
    if (!modal) {
      $SP().showModalDialog({
        wait:true,
        title:"Loading some data...",
        id:"loading-throttled"
      });
    }
    // and we get data from the list
    // here we'll use "ID" as the data returned by our field in the form
    var fieldID="ID";
    $SP().list('{'+WPQ2FormCtx.ListSchema[field].LookupListId+'}').get({fields:fieldID, paging:true}, function(data) {
      var res=[];
      for (var i=0, len=data.length; i&lt;len; i++) {
        res.push({LookupId:data[i].getAttribute(fieldID), LookupValue:data[i].getAttribute(fieldID)});
      }
      deferred.resolve({field:field, choices:res});
    });

    return deferred;
  }

  // do some actions as soon as the fields are shown
  var loadAfterForm = {
    Templates: {
      OnPreRender:function(ctx) {
        // we want to show Lookup fields even if there are more than 5000 items in those lists
        if (ctx.ListSchema.Field[0].Throttled === true) {
          if (storageThrottledLookup) {
            // we use the stored data to create our dropdown
            ctx.ListSchema.Field[0].Throttled=false;
            ctx.ListSchema.Field[0].ChoiceCount=storageThrottledLookup[ctx.ListSchema.Field[0].Name].length;
            ctx.ListSchema.Field[0].Choices=storageThrottledLookup[ctx.ListSchema.Field[0].Name];
          }
          else {
            lookupFieldsToFix.push(ctx.ListSchema.Field[0].Name);
          }
        }
      },
      OnPostRender:function(ctx) {
        // only trigger when everything is loaded
        // --> ctx.ListData.Items[0] all the fields
        if (ctx.ListSchema.Field[0].Name === "Attachments") {
          onLoad(ctx)
        }
      }
    }
  }

  // don't do it when editing the page
  if (GetUrlKeyValue("PageView") !== "Shared" &#038;& GetUrlKeyValue("DisplayMode") !== "Design") SPClientTemplates.TemplateManager.RegisterTemplateOverrides(loadAfterForm);
})();
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2016/12/22/2-bypass-a-lookup-field-not-displayed-because-of-threshold-on-newform-and-editform-sharepoint-2013/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>&#8220;class-phpmailer out of memory using GuiForm&#8221; avec WordPress</title>
		<link>https://blog.kodono.info/wordpress/2015/10/16/class-phpmailer-out-of-memory-using-guiform-avec-wordpress/</link>
					<comments>https://blog.kodono.info/wordpress/2015/10/16/class-phpmailer-out-of-memory-using-guiform-avec-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 16 Oct 2015 09:13:43 +0000</pubDate>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1542</guid>

					<description><![CDATA[Ayant un WordPress sur 1and1 j&#8217;ai été confronté à un &#8220;out of memory&#8221; sur le fichier class-phpmailer.php à cause d&#8217;un appel AJAX d&#8217;un formulaire créé avec GuiForm. Je ne peux pas faire grand chose côté serveur à cause de l&#8217;hébergement partagé&#8230; Donc j&#8217;ai fouillé comment contourner le problème. Il va s&#8217;agir de modifier le fichier [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ayant un WordPress sur 1and1 j&#8217;ai été confronté à un &#8220;out of memory&#8221; sur le fichier <code>class-phpmailer.php</code> à cause d&#8217;un appel AJAX d&#8217;un formulaire créé avec GuiForm. Je ne peux pas faire grand chose côté serveur à cause de l&#8217;hébergement partagé&#8230; Donc j&#8217;ai fouillé comment contourner le problème.</p>
<p>Il va s&#8217;agir de modifier le fichier <code>guiform/classes/GuiForm/Module/Ajax.php</code> du plugin.</p>
<p>On va remplacer la fonction <code>mailer()</code> afin d&#8217;utiliser la fonction <code>wp_mail</code> fournie par WordPress. La fonction <code>mailer()</code> devient :</p>
<pre class="brush:php">
	public function mailer($type = 'mail', $init = array()){
		
		global $wpdb, $guiform;
		
		$subject = "";
		$MsgHTML = "";
    $headers = "";
    $attachments = "";
		$sendTo = array_map('trim', explode(',', $init['to']));
				
		$sendCc = array_map('trim', explode(',', $init['cc']));
		$sendBcc = array_map('trim', explode(',', $init['bcc']));
		$sendReplyTo = array_map('trim', explode(',', $init['reply-to']));
		
		/* Make sure the PHPMailer class has been instantiated 
		// (Re)create it, if it's gone missing
		if ( !is_object( $phpmailer ) || !is_a( $phpmailer, 'PHPMailer' ) ) {
			require_once ABSPATH . WPINC . '/class-phpmailer.php';
			require_once ABSPATH . WPINC . '/class-smtp.php';
			$phpmailer = new PHPMailer(true);
			$phpmailer->clearAllRecipients();
		  $phpmailer->SMTPAuth = true;
		}*/
		
		if($type == 'test-mail'){
			$data = $wpdb->get_row($wpdb->prepare("SELECT name, value FROM $wpdb->guiform_options WHERE id = %d", $this->_id));
		  $sendTo = array($data->name);
		  $row = unserialize($data->value);
		  $row = array_map('trim', $row);
			$html = "&lt;strong>". __('Greetings!', GuiForm_Plugin::NAME) ."&lt;/strong>&lt;br />&lt;br />";
			$html .=  __("This is a test message.", GuiForm_Plugin::NAME) ."&lt;br />&lt;br />";
			$MsgHTML = self::emailTpl($html);
			/*$phpmailer->SetFrom("noreply@guiform.com", GuiForm_Plugin::PACKAGE);
			$phpmailer->Subject = __('Test Message', GuiForm_Plugin::NAME);*/
      $headers .= 'From: noreply@guiform.com' . "\r\n";
      $subject = __('Test Message', GuiForm_Plugin::NAME);
		}
		else if($type == 'activation-mail'){
			$data = $wpdb->get_row($wpdb->prepare("SELECT name, value FROM $wpdb->guiform_options WHERE id = %d", $this->_id));
		  $row = unserialize($data->value);
		  $row = array_map('trim', $row);
		  $mv_code = md5(time());
			$row['key'] = $mv_code;
			$guiform->updateOption($data->name, $row, 'mail', $this->_id);
			//$phpmailer->Subject = __("Email Verification", GuiForm_Plugin::NAME);
      $subject = __("Email Verification", GuiForm_Plugin::NAME);
			$sendTo = array($data->name);
			$vlink = get_site_url() ."/?". $guiform->getOption('permalink')->value['value'] .'='. $this->_id ."&#038;mv-code=$mv_code";
		
			$html = "Hello ".$row['name'].",&lt;br />&lt;br />";
			$html .= __("To enable this email address from sending emails with your forms we must first verify by clicking the link below:", GuiForm_Plugin::NAME) ."&lt;br />&lt;br />";
			$html .= __("Verification Link: ", GuiForm_Plugin::NAME) ."&lt;a target=\"_blank\" href=\"$vlink\">". __("click here!", GuiForm_Plugin::NAME) ."&lt;/a>&lt;br />&lt;br />";
			$MsgHTML = self::emailTpl($html);
			//$phpmailer->SetFrom("noreply@guiform.com", "GuiForm");
      $headers .= 'From: noreply@guiform.com' . "\r\n";
		}
		else if($type == 'mail'){	
			
			$init['message'] = str_replace("\\r\\n", "&lt;br />", $init['message']);
			$init['message'] = stripcslashes($init['message']);
			
			//Do not remove &#038;nbsp and &lt;br />.
			$MsgHTML = $init['message'] ." &nbsp; &lt;br />";
			
			//$phpmailer->SetFrom($init['from'], "");
			//$phpmailer->Subject = $init['subject'];
      $headers .= 'Reply-To: '.$init['from'] . "\r\n";
      $headers .= 'From: '.$init['from'] . "\r\n";
      $subject = $init['subject'];
			
			if(sizeof($init['attachment'])){
				foreach($init['attachment'] as $file){
					//$phpmailer->AddAttachment(self::getAttachmentPath($file['url']), $file['name']);
          $attachments = self::getAttachmentPath($file['url']);
				}
			}
			
			if(sizeof($sendReplyTo)){
				foreach($sendReplyTo as $replyTo){
					if(is_email($replyTo)){
						//$phpmailer->AddReplyTo($replyTo);
            $headers .= 'Reply-To: '.$replyTo. "\r\n";
					}
				}
			}
			
			
			if(sizeof($sendCc)){
				foreach($sendCc as $mailCc){
					if(is_email($mailCc)){
				  	//$phpmailer->AddCC($mailCc);
            $headers .= 'Cc: '.$mailCc."\r\n";
					}
				}
			}
			
			if(sizeof($sendBcc)){
				foreach($sendBcc as $mailBcc){
					if(is_email($mailBcc)){
				  	//$phpmailer->AddCC($mailBcc);
            $headers .= 'Bcc: '.$mailBcc."\r\n";
					}
				}
			}
		}
		
		/*$phpmailer->Body = html_entity_decode($MsgHTML);
		$phpmailer->AltBody = strip_tags($MsgHTML);
		$phpmailer->IsHTML(true);
		$phpmailer->CharSet = "UTF-8";*/
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-Type: text/html; charset=UTF-8'."\r\n";
    $body = html_entity_decode($MsgHTML);
		wp_mail( $sendTo, $subject, $body, $headers, $attachments);
/*
		foreach($sendTo as $mailTo){
			if($phpmailer->validateAddress($mailTo)){
				$phpmailer->AddAddress($mailTo);
			}
		}
		
		$smtpSettings = $guiform->getOption($this->form, false, 'smtp')->value;
		
		if($smtpSettings->smtp_enable){
			$row['protocol'] = 'smtp';
			$row['smtp_host'] = $smtpSettings->smtp_host;
			$row['smtp_port'] = $smtpSettings->smtp_port;
		}
		
		$phpmailer->Mailer = $row['protocol'];
		
		if($row['protocol'] == 'smtp'){
			$phpmailer->IsSMTP();
			$phpmailer->SMTPSecure = $row['smtp_encryption'];
			$phpmailer->Host       = $row['smtp_host'];
			$phpmailer->Port       = $row['smtp_port'];
		}
		
		if(filter_var($row['smtp_auth'], FILTER_VALIDATE_BOOLEAN)) {
			$phpmailer->SMTPAuth = true;
			$phpmailer->Username = trim($row['smtp_username']);
			$phpmailer->Password = trim($row['smtp_password']);
		}
		
    if(!$phpmailer->send()) {
			die( __("Mailer Error: ", GuiForm_Plugin::NAME) . $phpmailer->ErrorInfo);
		} else {
			$phpmailer->clearAllRecipients();
		  $phpmailer->clearAttachments();
			if($type !== 'mail'){
				die( __("Message sent! Please check your email for message.", GuiForm_Plugin::NAME));
			}
		}
*/
	}
</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/10/16/class-phpmailer-out-of-memory-using-guiform-avec-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Afficher correctement les caractères dans les fichiers de logs [Unix]</title>
		<link>https://blog.kodono.info/wordpress/2015/09/15/afficher-correctement-les-caracteres-dans-les-fichiers-de-logs-unix/</link>
					<comments>https://blog.kodono.info/wordpress/2015/09/15/afficher-correctement-les-caracteres-dans-les-fichiers-de-logs-unix/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Tue, 15 Sep 2015 07:47:45 +0000</pubDate>
				<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Debug]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1536</guid>

					<description><![CDATA[Lorsqu&#8217;on regarde ses fichiers de logs Apache (par exemple), on peut se retrouver face à des caractères dont l&#8217;encodage est bizarre&#8230; par exemple &#8220;là&#8221; donnera &#8220;l\xe0&#8221;. Pour afficher correctement les caractères dans votre console (en l&#8217;occurrence j&#8217;utilise Putty en encodage Latin1), il faut utiliser la commande suivante, trouvée sur StackOverflow : tailf /var/log/apache2/error.log &#124; while [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Lorsqu&#8217;on regarde ses fichiers de logs Apache (par exemple), on peut se retrouver face à des caractères dont l&#8217;encodage est bizarre&#8230; par exemple &#8220;là&#8221; donnera &#8220;l\xe0&#8221;.</p>
<p>Pour afficher correctement les caractères dans votre console (en l&#8217;occurrence j&#8217;utilise Putty en encodage Latin1), il faut utiliser la commande suivante, trouvée sur <a href="http://stackoverflow.com/questions/19697206/how-to-get-properly-encoded-apache-error-log-with-tailf">StackOverflow</a> :<br />
<code>tailf /var/log/apache2/error.log | while read -r line; do echo -e "$line"; done;</code></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/09/15/afficher-correctement-les-caracteres-dans-les-fichiers-de-logs-unix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Win32_Processor : invalide classe</title>
		<link>https://blog.kodono.info/wordpress/2015/05/18/win32_processor-invalide-classe/</link>
					<comments>https://blog.kodono.info/wordpress/2015/05/18/win32_processor-invalide-classe/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Mon, 18 May 2015 16:07:09 +0000</pubDate>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1503</guid>

					<description><![CDATA[J&#8217;ai eu un certain nombre d&#8217;erreurs qui m&#8217;ont amené à chercher comment fixer wmi concernant le message : « Win32_Processor : invalide classe » J&#8217;ai finalement trouvé comment faire grâce à https://katyscode.wordpress.com/2007/02/03/tutorial-how-to-fix-wmi-corruption/ &#8212; il suffit de faire : C:\Windows\System32\wbem>mofcomp cimwin32.mof Compilateur MOF Microsoft (R) - Version 6.3.9600.16384 Copyright (c) Microsoft Corp. 1997-2006. Tous droits réservés. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;ai eu un certain nombre d&#8217;erreurs qui m&#8217;ont amené à chercher comment fixer wmi concernant le message : « Win32_Processor : invalide classe »</p>
<p>J&#8217;ai finalement trouvé comment faire grâce à <a href="https://katyscode.wordpress.com/2007/02/03/tutorial-how-to-fix-wmi-corruption/">https://katyscode.wordpress.com/2007/02/03/tutorial-how-to-fix-wmi-corruption/</a> &#8212; il suffit de faire :</p>
<pre>C:\Windows\System32\wbem>mofcomp cimwin32.mof
Compilateur MOF Microsoft (R) - Version 6.3.9600.16384
Copyright (c) Microsoft Corp. 1997-2006. Tous droits réservés.
Analyse du fichier MOF : cimwin32.mof
Analyse du fichier MOF effectuée
Stockage des données...
Terminé !</pre>
<p>Et un autre lien utile : <a href="http://blogs.technet.com/b/askperf/archive/2009/04/13/wmi-rebuilding-the-wmi-repository.aspx">http://blogs.technet.com/b/askperf/archive/2009/04/13/wmi-rebuilding-the-wmi-repository.aspx</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2015/05/18/win32_processor-invalide-classe/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configurer son téléphone Android avec Virgin Mobile</title>
		<link>https://blog.kodono.info/wordpress/2013/10/18/configurer-son-telephone-android-avec-virgin-mobile/</link>
					<comments>https://blog.kodono.info/wordpress/2013/10/18/configurer-son-telephone-android-avec-virgin-mobile/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 18 Oct 2013 13:25:22 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1281</guid>

					<description><![CDATA[Ayant reçu une nouvelle carte Vigin Mobile j&#8217;ai bien galéré pour faire fonctionner les données et les MMS&#8230; Voici la configuration. Pour les données &#8211; Nom : Virgin &#8211; APN : ofnew.fr &#8211; Nom d&#8217;utilisateur : orange &#8211; Mot de passe : orange &#8211; MCC : 208 &#8211; MNC : 23 &#8211; Type d&#8217;APN : [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Ayant reçu une nouvelle carte Vigin Mobile j&#8217;ai bien galéré pour faire fonctionner les données et les MMS&#8230;</p>
<p>Voici la configuration.</p>
<p><strong>Pour les données</strong><br />
&#8211; Nom : Virgin<br />
&#8211; APN : ofnew.fr<br />
&#8211; Nom d&#8217;utilisateur : orange<br />
&#8211; Mot de passe : orange<br />
&#8211; MCC : 208<br />
&#8211; MNC : 23<br />
&#8211; Type d&#8217;APN : default,supl</p>
<p><strong>Pour les MMS</strong><br />
&#8211; Nom : Virgin MMS<br />
&#8211; APN : virgin-mobile.fr<br />
&#8211; MMSC : http://virginmms.fr<br />
&#8211; Proxy MMS : 10.6.10.1<br />
&#8211; Port MMS : 8080<br />
&#8211; MCC : 208<br />
&#8211; MNC : 23<br />
&#8211; Type d&#8217;APN : mms</p>
<p>Il faudra aussi essayer d&#8217;envoyer un MMS avant d&#8217;essayer d&#8217;en récupérer un.</p>
<p>Attention depuis la nouvelle carte SIM, les accusés de réception des SMS ne sont plus pris en charge chez Virgin.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2013/10/18/configurer-son-telephone-android-avec-virgin-mobile/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Attention à sa vie privée sur Facebook</title>
		<link>https://blog.kodono.info/wordpress/2013/10/04/attention-a-sa-vie-privee-sur-facebook/</link>
					<comments>https://blog.kodono.info/wordpress/2013/10/04/attention-a-sa-vie-privee-sur-facebook/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 04 Oct 2013 09:57:35 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<category><![CDATA[Sécurité]]></category>
		<category><![CDATA[facebook]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1257</guid>

					<description><![CDATA[Facebook change régulièrement les paramètres de postage de vos statuts sur Facebook en en changeant la portée. Il est facile de s&#8217;en rendre compte. Lorsque vous postez un message et que la planète Terre apparait en bas à droite c&#8217;est que la Terre entière peut voir votre message, et pas seulement vos amis. Donc si [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Facebook change régulièrement les paramètres de postage de vos statuts sur Facebook en en changeant la portée.</p>
<p>Il est facile de s&#8217;en rendre compte. Lorsque vous postez un message et que la planète Terre apparait en bas à droite c&#8217;est <strong>que la Terre entière peut voir votre message</strong>, et pas seulement vos amis. Donc si vous voyez l&#8217;image ci-dessous, c&#8217;est très mauvais :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_1.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_1.jpg" alt="Facebook en mode public" width="376" height="47" class="aligncenter size-full wp-image-1258" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_1.jpg 376w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_1-300x37.jpg 300w" sizes="auto, (max-width: 376px) 100vw, 376px" /></a></p>
<p>D&#8217;autant que <strong>ça ne concerne pas seulement vous, mais vos amis aussi</strong>, puisque s&#8217;ils aiment ou commentent ce statut/photo/lien alors tous leurs amis, et n&#8217;importe qui d&#8217;autre, pourront voir qu&#8217;ils ont aimé ou commenté. Peut-être que votre pote n&#8217;a pas envie que sa mère voit qu&#8217;il a écrit une grosse connerie dans votre statut à vous&#8230;</p>
<p><strong>Quoi faire alors ?</strong></p>
<p>C&#8217;est très simple. Il y a deux choses principales à faire.</p>
<p>Tout d&#8217;abord, il faut se rendre dans <a href="https://www.facebook.com/settings?tab=privacy" title="Partie confidentialité de Facebook" target="_blank">ses paramètres Facebook, partie Confidentialité</a> et modifier qui peut voir ses statuts :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_3.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_3.jpg" alt="Paramètres Facebook" width="363" height="575" class="aligncenter size-full wp-image-1259" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_3.jpg 363w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_3-189x300.jpg 189w" sizes="auto, (max-width: 363px) 100vw, 363px" /></a></p>
<p>Au minima, vous devez sélectionner &#8220;Amis&#8221; qui indiquent que seuls vos amis Facebook voient vos publications.</p>
<p>La deuxième chose à faire est de vérifier <strong>qu&#8217;à chaque fois que vous postez quelque chose</strong>, c&#8217;est bien le logo &#8220;Amis&#8221; et non &#8220;Planète Terre&#8221; qui apparait en bas à droite :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_4.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_4.jpg" alt="Statut bon/mauvais Facebook" width="524" height="342" class="aligncenter size-full wp-image-1268" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_4.jpg 524w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_4-300x195.jpg 300w" sizes="auto, (max-width: 524px) 100vw, 524px" /></a></p>
<p><strong>C&#8217;est d&#8217;autant plus vrai sur le téléphone portable</strong> où les applications iPhone/Android ont tendance à passer toutes seules en mode &#8220;public&#8221; ! Le principe est le même :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_5.png"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_5.png" alt="Statut Facebook mobile" width="600" height="463" class="aligncenter size-full wp-image-1270" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_5.png 600w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_5-300x231.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a></p>
<p>Et voilà, c&#8217;est tout.</p>
<p><strong>Mais on peut aller encore plus loin dans votre vie privée et surtout celle de vos amis.</strong></p>
<p>Par exemple il est possible de changer l&#8217;audience de nos anciennes publications. C&#8217;est particulièrement pratique si vous postez en &#8220;Public&#8221; depuis des mois sans vous en rendre compte. Pour ce faire, il suffit d&#8217;aller dans <a href="https://www.facebook.com/settings?tab=privacy" title="Paramètres de confidentialité de Facebook" target="_blank">vos paramètres de confidentialité</a> puis de cliquer sur &#8220;Limiter l&#8217;audience des anciennes publications&#8221; et de suivre les instructions :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_6.jpg"><img decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_6.jpg" alt="Paramètres confidentialité" width="600" class="aligncenter size-full wp-image-1262" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_6.jpg 1011w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_6-300x121.jpg 300w" sizes="(max-width: 1011px) 100vw, 1011px" /></a></p>
<p><strong>Mais on peut aller encore plus loin ; en créant des listes d&#8217;amis !</strong></p>
<p>Vous souhaitez surement que vos messages ne soient visibles QUE pour une partie de vos amis Facebook. Pour cela vous pouvez créer des listes (= groupes) d&#8217;amis. Par exemple vous pouvez faire un groupe &#8220;Ma famille&#8221;, un groupe &#8220;Mon travail&#8221; et un groupe &#8220;Mes potes&#8221;. Ainsi quand vous postez un message, une photo ou un lien, vous ne voulez peut-être pas que cette publication soit visible par votre famille ou votre travail, du coup vous pouvez sélectionner le groupe &#8220;Potes&#8221; et seuls eux la verront.</p>
<p>Comment procéder ?</p>
<p>Il faut retourner dans votre fil d&#8217;actualité de vos amis. Sur la gauche vous avez une barre avec &#8220;Favoris&#8221;, &#8220;Pages&#8221;, &#8220;Applications&#8221;, etc. Puis une section &#8220;Amis&#8221;. Si vous bougez votre souris vers &#8220;Amis&#8221; vous verrez apparaitre un &#8220;Plus&#8221; comme ci-dessous, sur  lequel vous devez cliquer :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_7.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_7.jpg" alt="Gérer ses amis facebook" width="189" height="516" class="aligncenter size-full wp-image-1263" /></a></p>
<p>Là vous verrez une liste de groupes d&#8217;amis que Facebook a créé de façon automatique. <strong>Je vous déconseille de les utiliser</strong> et je vous invite plutôt à cliquer sur le bouton <strong>&#8220;Créer une liste&#8221;</strong> et à y ajouter ceux qui doivent s&#8217;y trouver. On peut reprendre l&#8217;exemple d&#8217;avant avec une liste &#8220;Ma famille&#8221;, &#8220;Mon travail&#8221; et &#8220;Mes potes&#8221;.</p>
<p>Il faudra cependant ajouter les nouveaux amis dans un de ces groupes. C&#8217;est particulièrement simple puisqu&#8217;une fois l&#8217;ami accepté il suffit de cliquer sur le bouton &#8220;Amis&#8221; qui apparait à droite du profil (c&#8217;est valable de PARTOUT dans Facebook où ce bouton apparait) et de choisir de l&#8217;ajouter à une autre liste :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_8.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_8.jpg" alt="Ajout dans une liste" width="479" height="620" class="aligncenter size-full wp-image-1264" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_8.jpg 479w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_8-231x300.jpg 231w" sizes="auto, (max-width: 479px) 100vw, 479px" /></a></p>
<p>Et lorsque vous posterez, il faut cliquer sur l&#8217;audience (l&#8217;icône que l&#8217;on a vu précédemment pour passer de &#8220;public&#8221; à &#8220;amis&#8221;) et choisir la liste que l&#8217;on désire. Le rendu sera alors :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_9.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_9.jpg" alt="Facebook statut liste nouvelle" width="522" height="163" class="aligncenter size-full wp-image-1275" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_9.jpg 522w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_9-300x93.jpg 300w" sizes="auto, (max-width: 522px) 100vw, 522px" /></a></p>
<p>Il est également possible de &#8220;personnaliser&#8221; une publication. Par exemple c&#8217;est utile si vous voulez que vos potes ET votre famille le voit, mais pas votre travail, ou alors si vous voulez limiter à quelques personnes seulement. Le principe est identique : avant de poster il faut cliquer sur l&#8217;audience et choisir &#8220;Personnaliser&#8221; :<br />
<a href="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_10.jpg"><img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_10.jpg" alt="Audience Facebook personnalisée" width="543" height="745" class="aligncenter size-full wp-image-1276" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_10.jpg 543w, https://blog.kodono.info/wordpress/wp-content/uploads/2013/10/20131004_facebook_10-218x300.jpg 218w" sizes="auto, (max-width: 543px) 100vw, 543px" /></a></p>
<p>De là vous pouvez inclure une liste et exclure une personne de cette liste. Par exemple vous voulez que votre famille le voit, mais pas votre grand mère. Ainsi vous mettez &#8220;Ma famille&#8221; dans les gens qui verront la publication, et vous mettez &#8220;Mamie&#8221; dans les gens à exclure.</p>
<p><strong>ATTENTION</strong></p>
<p>A noter que Facebook enregistre la dernière audience et l&#8217;utilise pour les prochaines publications ! Donc si vous sélectionnez &#8220;Mon Travail&#8221; depuis votre ordinateur à un moment pour partager un lien sérieux, puis que du téléphone vous postez une photo de vous entrain de faire la fête, alors Facebook utilise <strong>automatiquement</strong> la dernière audience choisie, c&#8217;est-à-dire &#8220;Mon Travail&#8221; !! D&#8217;où l&#8217;importance de bien vérifier <strong>à chaque fois</strong> l&#8217;audience qui est sélectionnée.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2013/10/04/attention-a-sa-vie-privee-sur-facebook/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Configurer SFR LIBERTALK en SIP sur Android et iPhone (avec media5fone)</title>
		<link>https://blog.kodono.info/wordpress/2013/08/25/configurer-sfr-libertalk-en-sip-sur-android-et-iphone-avec-media5fone/</link>
					<comments>https://blog.kodono.info/wordpress/2013/08/25/configurer-sfr-libertalk-en-sip-sur-android-et-iphone-avec-media5fone/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Sun, 25 Aug 2013 12:28:05 +0000</pubDate>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Astuce]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Niveau débutant]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1250</guid>

					<description><![CDATA[EDIT : SFR a fermé le service le 2 janvier 2017 (annonce sur le forum SFR) Il est possible d&#8217;activer le SIP chez SFR. Pour ce faire, il faut se rendre sur son compte SFR et dans les jours qui suivent vous recevrez votre mot de passe par courrier. Une fois le courrier reçu il [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><b>EDIT</b> : SFR a fermé le service le 2 janvier 2017 (<a href="http://forum.sfr.fr/t5/Autres-services-SFR-assurances-Libertalk-offres-nbsp-de-nbsp/SFR-veut-supprimer-le-service-Libertalk/m-p/1830210#M13380">annonce sur le forum SFR</a>)</p>
<p>Il est possible d&#8217;activer le SIP chez SFR. Pour ce faire, il faut se rendre sur son <a href="http://www.sfr.fr/adsl-fibre/services-options/appels-repondeurs-fixes/sfr-libertalk/">compte SFR</a> et dans les jours qui suivent vous recevrez votre mot de passe par courrier.</p>
<p>Une fois le courrier reçu il s&#8217;agit de configurer correctement l&#8217;application SIP. Ici nous utiliserons l&#8217;application <strong>media5fone</strong> qui est disponible sur iOS et Android.</p>
<p>Point de vue configuration voici les éléments qu&#8217;il vous faut.</p>
<p>Tout d&#8217;abord, sur l&#8217;écran d&#8217;accueil, vous devez choisir &#8220;Paramètres SIP personnalisés > Définir manuellement&#8221;.<br />
Dans &#8220;Titre&#8221; vous pouvez entrer <strong>&#8220;SFR LIBERTALK&#8221;</strong>.<br />
Dans &#8220;Nom d&#8217;utilisateur&#8221; entrez <strong>+3399{Votre numéro de ligne sur 10 caractères</strong>} (Exemple: +33990123456789)<br />
Dans &#8220;Mot de passe&#8221;, celui qui vous a été envoyé par courrier.<br />
Allez dans &#8220;Serveurs&#8221; :</p>
<ul>
<li>Pour l&#8217;adresse SIP entrez l&#8217;adresse <strong>&#8220;ims.mnc010.mcc208.3gppnetwork.org&#8221;</strong></li>
<li>Pour le port il faut mettre <strong>5064</strong></li>
<li>Concernant le &#8220;serveur proxy sortant&#8221;, vous devez l&#8217;activer (<strong>&#8220;Activer Proxy&#8221;</strong>).</li>
<li>Dans l&#8217;adresse du proxy entrez <strong>&#8220;internet.p-cscf.sfr.net&#8221;</strong></li>
<li>Dans le port du proxy il faut mettre <strong>5064</strong></li>
<li>Activez l&#8217;option <strong>&#8220;Retirer header Route&#8221;</strong></li>
<li>Maintenant dans la section &#8220;Autre&#8221; modifiez <strong>&#8220;Interval d&#8217;enregistrement (sec)&#8221;</strong> avec la valeur <b>3600</b></li>
<li>Activez aussi <strong>&#8220;Utiliser rport&#8221;</strong> dans cette même section</li>
</ul>
<p>Une fois validé, il va essayer de se connecter et ne va pas réussir, il faut aller dans l&#8217;option &#8220;Avancé&#8221; du compte pour y arriver.<br />
Dans &#8220;Avancé&#8221; :</p>
<ul>
<li>Configurer le &#8220;compte utilisateur&#8221;, avec <strong>&#8220;ID Appelant&#8221;</strong> qui est <strong>&#8220;{Votre numéro de ligne sur 10 caractères}&#8221;</strong> (exemple: 0123456789)</li>
<li>Le <strong>&#8220;Nom d&#8217;authentification&#8221;</strong> est <strong>&#8220;NDI{votre numéro de ligne sur 10 caractères}.LIBERTALK@sfr.fr&#8221;</strong> (exemple: NDI0123456789.LIBERTALK@sfr.fr)</li>
<li>Descendez plus bas jusqu&#8217;à la section &#8220;SIP Features&#8221; et changez <strong>&#8220;Méthode de transfert&#8221;</strong> en <strong>&#8220;BYE&#8221;</strong></li>
</ul>
<p>Et voilà, après avoir validé, et en étant connecté sur du WiFi, vous devriez pouvoir passer tous les appels que vous souhaitez !</p>
<p>Plus d&#8217;infos <a href="http://assistance.sfr.fr/internet_offre-services/services/libertalk-presentation/fc-3122-12914">dans l&#8217;assistance de SFR</a> et sur le <a href="http://forum.sfr.fr/t5/Mes-autres-services-et-%C3%A9quipements-SFR/Comment-utiliser-LiberTalk-sur-smartphone-avec-media5fone/ta-p/8140">forum de SFR</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2013/08/25/configurer-sfr-libertalk-en-sip-sur-android-et-iphone-avec-media5fone/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Erreur 0x800700005 avec Sharepoint</title>
		<link>https://blog.kodono.info/wordpress/2012/11/09/erreur-0x800700005-avec-sharepoint/</link>
					<comments>https://blog.kodono.info/wordpress/2012/11/09/erreur-0x800700005-avec-sharepoint/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 09 Nov 2012 17:24:38 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[sharepoint]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=1158</guid>

					<description><![CDATA[C&#8217;est vraisemblablement une erreur de permissions sur la liste ! 🙂]]></description>
										<content:encoded><![CDATA[<p>C&#8217;est vraisemblablement une erreur de permissions sur la liste ! <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2012/11/09/erreur-0x800700005-avec-sharepoint/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mettre à jour automatiquement WordPress sans FTP [wordpress]</title>
		<link>https://blog.kodono.info/wordpress/2010/06/03/mettre-a-jour-automatiquement-wordpress-sans-ftp-wordpress/</link>
					<comments>https://blog.kodono.info/wordpress/2010/06/03/mettre-a-jour-automatiquement-wordpress-sans-ftp-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Thu, 03 Jun 2010 11:01:36 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=444</guid>

					<description><![CDATA[[niveau intermédiaire] Depuis la version 2.7 de WordPress il est possible de le mettre à jour automatique. Cependant il arrive que WordPress vous demande de rentrer les crédentials d&#8217;un FTP pour se faire. Si vous utilisez sftp, alors vous avez le choix d&#8217;installer SSH pour PHP, ou ne pas utiliser FTP ! Pour cette dernière [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau intermédiaire]</p>
<p>Depuis la version 2.7 de WordPress il est possible de le mettre à jour automatique. Cependant il arrive que WordPress vous demande de rentrer les crédentials d&#8217;un FTP pour se faire. Si vous utilisez sftp, alors vous avez le choix d&#8217;installer <a href="http://devioustree.co.uk/2009/02/21/auto-update-wordpress-with-sftp/">SSH pour PHP</a>, ou ne pas utiliser FTP !</p>
<p>Pour cette dernière solution il vous faut trouver l&#8217;utilisateur sous lequel tourne Apache (en général www-data ou nobody), puis changer le propriétaire du répertoire de votre blog en mettant celui d&#8217;Apache. Voici un exemple :</p>
<div class="code">monserveur:~$ sudo su &#8211; /* pour passer root */<br />
monserveur:/root/# cd /home/monuser/www/<br />
monserveur:/home/monuser/www/# chown -R www-data blog.kodono.info/</div>
<p>Ainsi WordPress pourra se mettre à jour automatiquement sans devoir passer par des crédentials FTP.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2010/06/03/mettre-a-jour-automatiquement-wordpress-sans-ftp-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Migrer un forum vers du phpbb3 [Astuces]</title>
		<link>https://blog.kodono.info/wordpress/2009/07/29/migrer-un-forum-vers-du-phpbb3-astuces/</link>
					<comments>https://blog.kodono.info/wordpress/2009/07/29/migrer-un-forum-vers-du-phpbb3-astuces/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 29 Jul 2009 10:16:57 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Niveau expert]]></category>
		<category><![CDATA[Astuce]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[phpbb3]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=276</guid>

					<description><![CDATA[[niveau: expert] J&#8217;ai récemment dû migrer différents forums vers du phpbb3. Sans rentrer dans le détail du moyen de le faire, je vais dire ici les tables qu&#8217;il faut mettre à jour dans votre base MySQL de phpbb3. On va supposer que tous les utilisateurs seront déclarés en anonyme ; ainsi on pourra définir les [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: expert]</p>
<p>J&#8217;ai récemment dû migrer différents forums vers du phpbb3. Sans rentrer dans le détail du moyen de le faire, je vais dire ici les tables qu&#8217;il faut mettre à jour dans votre base MySQL de phpbb3.</p>
<p>On va supposer que tous les utilisateurs seront déclarés en anonyme ; ainsi on pourra définir les pseudonymes que l&#8217;on souhaite pour chaque message, sans s&#8217;assurer que l&#8217;utilisateur existe déjà dans la base.</p>
<p>Deux tables sont importantes : <strong>phpbb_topics</strong> et <strong>phpbb_posts</strong>. Comme on le devine, la première contient les topics, et la seconde est pour les messages postés.</p>
<p>Vous pouvez commencer par créer tous vos topics dans <em>phpbb_topics</em>. Les champs suivants doivent être utilisés :</p>
<div class="code">topic_id => l&#8217;id du topic que vous pouvez définir vous-même<br />
forum_id => l&#8217;id du forum où les topics doivent être postés (cf phpbb_forums)<br />
topic_title => titre du topic<br />
topic_views => le nombre de fois que le topic a été lu<br />
topic_poster => l&#8217;ID du poster &#8212; ici nous mettrons &#8216;1&#8217; pour indiquer que le poster est anonyme<br />
topic_time => temps UNIX qui représente le moment où le topic a été créé<br />
topic_first_post_id => l&#8217;ID du premier post du topic (post_id de la table phpbb_posts)<br />
topic_first_poster_name => le nom de celui qui a créé le topic<br />
topic_last_post_id => l&#8217;ID du dernier post du topic (post_id de la table phpbb_posts)<br />
topic_last_poster_id => l&#8217;ID du dernir poster &#8212; ici nous mettrons 1 pour indiquer sur le poster est anonyme<br />
topic_last_poster_name => nom du dernier poster<br />
topic_last_post_subject => le sujet du dernier post du topic (typiquement: &#8220;Re: topic_title&#8221;)<br />
topic_last_post_time => temps UNIX du dernier message du topic<br />
topic_replies => le nombre de messages postés dans ce topic<br />
topic_replies_real => idem</div>
<p>Pour la table <em>phpbb_posts</em>:</p>
<div class="code">post_id => ID du post que vous pouvez définir vous-même<br />
topic_id => l&#8217;ID du topic (pris dans phpbb_topics) auquel ce post appartient<br />
forum_id => l&#8217;ID du forum (cf phpbb_forums)<br />
poster_id => l&#8217;ID du poster &#8212; ici nous mettrons 1 pour indiquer qu&#8217;il est anonyme<br />
poster_ip => l&#8217;IP du poster (si vous l&#8217;avez)<br />
post_time => temps UNIX où le post a été fait<br />
post_username => le nom du poster<br />
post_subject => le sujet du post (si c&#8217;est le premier ce sera le titre tu topic, sinon on peut mettre &#8220;Re: topic_title&#8221;)<br />
post_text => le contenu du post<br />
post_checksum => le MD5 de post_text</div>
<p>Je vous conseille de faire un petit script PHP qui va vous permettre de bien lier correctement les topics aux posts pour ensuite tout insérer dans la base de données.</p>
<p>Il reste encore une table à mettre à jour : <strong>phpbb_forums</strong>. Voici les champs à updater :</p>
<div class="code">forum_topics => nombre de topics présents dans le forum<br />
forum_topics_real => même chose<br />
forum_last_post_id => l&#8217;ID du dernier post<br />
forum_last_poster_id => l&#8217;ID du dernier poster &#8212; nous utiliserons &#8216;1&#8217;<br />
forum_last_post_subject => le titre du dernier post<br />
forum_last_post_time => le temps UNIX du dernier&#8217; post<br />
forum_last_poster_name => le nom du dernier poster</div>
<p>Si jamais vous voulez avoir un exemple des scripts que j&#8217;ai fait (en PHP), contactez moi.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/07/29/migrer-un-forum-vers-du-phpbb3-astuces/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Panne de serveur&#8230;</title>
		<link>https://blog.kodono.info/wordpress/2009/06/24/panne-de-serveur/</link>
					<comments>https://blog.kodono.info/wordpress/2009/06/24/panne-de-serveur/#respond</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 24 Jun 2009 07:38:27 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=249</guid>

					<description><![CDATA[Vous avez dû remarquer (ou pas) que ce blog a été hors ligne pendant presque une semaine. Il est hébergé sur un serveur dédié qui a connu quelques problèmes et il a fallu tout ce temps pour tout remettre en place. Espérons que les soucis ne réapparaitront pas !]]></description>
										<content:encoded><![CDATA[<p>Vous avez dû remarquer (ou pas) que ce blog a été hors ligne pendant presque une semaine. Il est hébergé sur un serveur dédié qui a connu quelques problèmes et il a fallu tout ce temps pour tout remettre en place. Espérons que les soucis ne réapparaitront pas !</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/06/24/panne-de-serveur/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Installer Linux dans Windows et tester ainsi les navigateurs Linux [Web Design]</title>
		<link>https://blog.kodono.info/wordpress/2009/05/13/installer-linux-dans-windows-et-tester-ainsi-les-navigateurs-linux-web-design/</link>
					<comments>https://blog.kodono.info/wordpress/2009/05/13/installer-linux-dans-windows-et-tester-ainsi-les-navigateurs-linux-web-design/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Wed, 13 May 2009 10:18:48 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Navigateur]]></category>
		<category><![CDATA[Niveau intermédiaire]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Linux]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=158</guid>

					<description><![CDATA[[niveau: intermédiaire] Linux est un système d&#8217;exploitation qui était réservé au geek, mais depuis plusieurs années les distributeurs font en sorte que cet OS soit plus facile à installer et à utiliser. Linux apparaît d&#8217;ailleurs de plus en plus comme une alternative à Windows. Il y a donc plusieurs raisons qui pourraient vous pousser à [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>[niveau: intermédiaire]</p>
<p>Linux est un système d&#8217;exploitation qui était réservé au <i>geek</i>, mais depuis plusieurs années les distributeurs font en sorte que cet OS soit plus facile à installer et à utiliser. Linux apparaît d&#8217;ailleurs de plus en plus comme une alternative à Windows.</p>
<p>Il y a donc plusieurs raisons qui pourraient vous pousser à installer Linux:<br />
&#8211; tester pour voir à quoi ça ressemble<br />
&#8211; regarder les applications disponibles<br />
&#8211; comprendre comment il est configurable<br />
&#8211; <b>tester les navigateurs</b> pour vos sites web</p>
<p>Pour entrer dans le monde merveilleux du Pingouin (qui en est la mascotte), vous avez principalement trois solutions:</p>
<ol>
<li>l&#8217;installation pure et dure du système en parallèle de Windows, c&#8217;est-à-dire que vous choisissez l&#8217;un ou l&#8217;autre au démarrage de la machine</li>
<li>l&#8217;utilisation d&#8217;un <a href="http://fr.wikipedia.org/wiki/LiveCD">LiveCD</a> qui offre la possibilité de démarrer sur un CD (ou une clé USB) qui contient Linux et ainsi de le tester sans rien installer sur l&#8217;ordinateur</li>
<li>virtualiser Linux (à l&#8217;instar de ce que je vous ai montré <a href="http://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/">l&#8217;autre fois pour tester les IE</a>)</li>
</ol>
<p>Je vais ici vous expliquer le dernier cas. En effet, je connais déjà bien Linux, et l&#8217;intérêt majeur pour moi de l&#8217;installer est de pouvoir tester Firefox, Epiphany, et autres navigateurs afin de m&#8217;assurer du design d&#8217;un site web.</p>
<p>Virtualiser Linux dans Windows est simple. Si <a href="http://blog.kodono.info/wordpress/2009/04/20/tester-un-site-sous-ie6-ie7-et-ie8-web-design/">la dernière fois</a> nous avons utilisé VirtualPC c&#8217;est parce que Microsoft fournissait des images déjà prêtes pour leur logiciel. Mais cette fois-ci, nous allons plutôt utiliser <a href="http://www.virtualbox.org/">VirtualBox</a>. Pourquoi ? Parce que si vous installez Linux (et ici ce sera Ubuntu) dans VirtualPC, alors vous allez avoir une résolution d&#8217;écran de 800&#215;600, ce qui n&#8217;est pas franchement pratique. Les démarches pour passer en une résolution supérieure sont compliquées et risquées, alors qu&#8217;avec VirtualBox il suffit de quelques commandes !</p>
<p>La première chose à faire est donc de <a href="http://www.virtualbox.org/wiki/Downloads">télécharger VirtualBox</a> (j&#8217;utilise dans cet exemple la version &#8220;VirtualBox 2.2.2 for Windows hosts&#8221;). Ensuite, il vous faut télécharger une distribution Linux. Il en existe des centaines de versions&#8230; Plusieurs sites essaient de vous guider, comme <a href="http://www.commentcamarche.net/faq/sujet-3742-choisir-une-distribution-linux">Comment ça marche</a>. Pour notre cas pratique nous prendrons <a href="http://www.ubuntu-fr.org/">Ubuntu</a> qui est l&#8217;une des plus utilisées.<br />
Il vous faut récupérer l&#8217;image ISO d&#8217;Ubuntu (à l&#8217;heure où j&#8217;écris ces lignes le fichier est <a href="ftp://ftp.crihan.fr/releases/9.04/ubuntu-9.04-desktop-i386.iso">ftp://ftp.crihan.fr/releases/9.04/ubuntu-9.04-desktop-i386.iso</a>).</p>
<p>Une fois téléchargé, ouvrez VirtualBox (que vous aurez déjà installé). Cliquez sur &#8220;Nouveau&#8221; :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox1.jpg" alt="20090413_vbox1" title="20090413_vbox1" width="467" height="281" class="aligncenter size-full wp-image-162" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox1.jpg 467w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox1-300x180.jpg 300w" sizes="auto, (max-width: 467px) 100vw, 467px" /><br />
Pour le nom inscrivez &#8220;Ubuntu&#8221;, et pour système d&#8217;exploitation prenez &#8220;Linux&#8221; et la version &#8220;Ubuntu&#8221; :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox2.jpg" alt="20090413_vbox2" title="20090413_vbox2" width="495" height="420" class="aligncenter size-full wp-image-163" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox2.jpg 495w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox2-300x254.jpg 300w" sizes="auto, (max-width: 495px) 100vw, 495px" /><br />
Continuez avec les options par défaut.</p>
<p>Une fois fini vous devriez avoir cela :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox4.jpg" alt="20090413_vbox4" title="20090413_vbox4" width="769" height="573" class="aligncenter size-full wp-image-164" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox4.jpg 769w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox4-300x223.jpg 300w" sizes="auto, (max-width: 769px) 100vw, 769px" /></p>
<p>Maintenant cliquez sur &#8220;Lancer&#8221; afin d&#8217;activer l&#8217;assistant de premier lancement. Celui-ci vous demande ce que vous voulez installer. Choisissez &#8220;Disque Optique&#8221; et &#8220;Fichier Image&#8221; en sélectionnant le fichier iso que vous avez téléchargé précédemment (&#8220;ubuntu-9.04-desktop-i386.iso&#8221;) ;<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox5.jpg" alt="20090413_vbox5" title="20090413_vbox5" width="458" height="415" class="aligncenter size-full wp-image-165" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox5.jpg 458w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox5-300x271.jpg 300w" sizes="auto, (max-width: 458px) 100vw, 458px" /><br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox6.jpg" alt="20090413_vbox6" title="20090413_vbox6" width="632" height="494" class="aligncenter size-full wp-image-166" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox6.jpg 632w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox6-300x234.jpg 300w" sizes="auto, (max-width: 632px) 100vw, 632px" /></p>
<p>L&#8217;écran d&#8217;installation d&#8217;Ubuntu va démarrer. Vous n&#8217;avez plus qu&#8217;à choisir &#8220;Français&#8221; (avec les flèches) puis de prendre &#8220;Installer Ubuntu&#8221; :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7.jpg" alt="20090413_vbox7" title="20090413_vbox7" width="650" height="560" class="aligncenter size-full wp-image-167" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7.jpg 650w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7-300x258.jpg 300w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>Laissez les options par défaut proposées. Après plusieurs clics et quelques minutes vous vous retrouvez sous Ubuntu ! Malheureusement vous remarquez que vous êtes en résolution 800&#215;600&#8230; Voilà un problème de résolution d&#8217;écran qui est simple à régler.</p>
<p>Tout d&#8217;abord, vérifiez que vous n&#8217;avez aucune image CD chargée. Pour cela, votre bureau Ubuntu doit être vide de toute icône. Si vous voyez une icône en forme de CD avec un nom qui commence par Ubuntu, alors faites un clic droit dessus puis &#8220;Ejecter&#8221;. Une fois fait, sortez de la machine virtuelle (en appuyant sur la touche &#8220;Ctrl&#8221; de votre clavier, mais celle qui se trouve à droite), puis aller dans <em>Périphériques &gt; Installer les Additions invité&#8230;</em> :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7bis.jpg" alt="20090413_vbox7bis" title="20090413_vbox7bis" width="433" height="637" class="aligncenter size-full wp-image-168" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7bis.jpg 433w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox7bis-203x300.jpg 203w" sizes="auto, (max-width: 433px) 100vw, 433px" /><br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox8.jpg" alt="20090413_vbox8" title="20090413_vbox8" width="815" height="680" class="aligncenter size-full wp-image-169" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox8.jpg 815w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox8-300x250.jpg 300w" sizes="auto, (max-width: 815px) 100vw, 815px" /></p>
<p>Devrait alors apparaitre une icône avec un CD sur le bureau :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox12.jpg" alt="20090413_vbox12" title="20090413_vbox12" width="492" height="257" class="aligncenter size-full wp-image-170" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox12.jpg 492w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox12-300x156.jpg 300w" sizes="auto, (max-width: 492px) 100vw, 492px" /><br />
(si ce n&#8217;est pas le cas, allez dans <em>Machine &gt; Redémarrage</em> pour redémarrer la machine virtuelle)</p>
<p>Maintenant, dans Ubuntu, allez dans <em>Applications &gt; Accessoires &gt; Terminal</em>. Une fenêtre au fond blanc s&#8217;ouvre. Vous allez y taper les commandes suivants :<br />
<code>sudo su<br />
<i>/* entrez votre password défini durant l'installation */</i><br />
cd /media/cdrom0<br />
./VBoxLinuxAdditions-x86.run</code><br />
Après quoi le système vous indique qu&#8217;il doit redémarrer. Ce qui doit donner :<br />
<img loading="lazy" decoding="async" src="http://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox13.jpg" alt="20090413_vbox13" title="20090413_vbox13" width="817" height="676" class="aligncenter size-full wp-image-171" srcset="https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox13.jpg 817w, https://blog.kodono.info/wordpress/wp-content/uploads/2009/05/20090413_vbox13-300x248.jpg 300w" sizes="auto, (max-width: 817px) 100vw, 817px" /></p>
<p>Pour redémarrer, allez dans <em>Machine  &gt; Redémarrage</em>. Une fois le boot terminé, vous verrez Ubuntu avec une résolution d&#8217;écran équivalente à la vôtre !</p>
<p>Vous n&#8217;avez plus qu&#8217;à lancer Firefox pour découvrir le rendu de votre site, et vous pouvez installer d&#8217;autres navigateurs pour les tester.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/05/13/installer-linux-dans-windows-et-tester-ainsi-les-navigateurs-linux-web-design/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Kodono</title>
		<link>https://blog.kodono.info/wordpress/2009/04/10/kodono/</link>
					<comments>https://blog.kodono.info/wordpress/2009/04/10/kodono/#comments</comments>
		
		<dc:creator><![CDATA[Aymeric]]></dc:creator>
		<pubDate>Fri, 10 Apr 2009 08:40:53 +0000</pubDate>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[commencement]]></category>
		<guid isPermaLink="false">http://blog.kodono.info/wordpress/?p=8</guid>

					<description><![CDATA[J&#8217;annonce l&#8217;ouverture de Kodono.info! Passionné d&#8217;informatique depuis que j&#8217;ai pu découvrir le BASIC sur mon vieil Amstrad, j&#8217;en ai fait mon métier. Même si durant mes études, complètement orientées dans le domaine, j&#8217;ai appris beaucoup de choses, je reste un auto-didacte qui veille sur les nouveautés du Net pour toujours être à la page. Kodono [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>J&#8217;annonce l&#8217;ouverture de <strong>Kodono.info</strong>!</p>
<p>Passionné d&#8217;informatique depuis que j&#8217;ai pu découvrir le BASIC sur mon vieil Amstrad, j&#8217;en ai fait mon métier. Même si durant mes études, complètement orientées dans le domaine, j&#8217;ai appris beaucoup de choses, je reste un auto-didacte qui veille sur les nouveautés du Net pour toujours être à la page. Kodono est donc un blog qui s&#8217;adresse aux néophytes comme aux professionnels du Net, de la programmation, du webdesign et des nouvelles technologies.</p>
<p>A travers mes nombreuses recherches j&#8217;ai pu découvrir des points très intéressants que je me dois de relier à mon tour. Kodono sera le pont entre mes découvertes et le monde. Un lieu de trouvailles où j&#8217;espère quelques internautes perdus retrouveront leur cap. Mais aussi un espace de révélations pour ceux qui me suivront régulièrement.</p>
<p>Le but ici ne va pas être de relayer les mêmes informations que l&#8217;on trouve déjà chez les plus grands blogueurs, mais de vous faire connaître des choses dont on ne parle plus, dont on ne parle que trop peu, ou dont on parle plus chez nos amis anglophones. Car, oui, si j&#8217;ai hésité à faire Kodono en anglais (ou bilingue), c&#8217;est finalement le français qui fut choisi (pour le moment en tout cas). En effet, les sources d&#8217;informations francophones sont trop rares, et cela ne ferait pas de mal d&#8217;en avoir une supplémentaire <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Kodono, si je devais donner une liste non exhaustive des thèmes abordés, ce serait :<br />
&#8211; le javascript<br />
&#8211; les logiciels Windows indispensables<br />
&#8211; les sites web utiles à bookmarker<br />
&#8211; des astuces en tout genre (pour Firefox, Windows, et autres)<br />
&#8211; Microsoft Sharepoint<br />
&#8211; la programmation dans son ensemble (PHP, Java, &#8230;)<br />
&#8211; la Fonera de <a href="http://www.fon.com">Fon</a><br />
&#8211; les téléphones mobiles (iPhone, N95, &#8230;.)<br />
&#8211; et sûrement d&#8217;autres choses !</p>
<p>Enfin, d&#8217;où vient le mot Kodono? En fait, étant fan de Hayao Miyazaki, je suis allé chercher un nom aux consonances intéressantes sur la page de <a href="http://fr.wikipedia.org/wiki/Hayao_Miyazaki">Wikipédia qui lui est dédiée</a>. J&#8217;y ai trouvé ce passage:</p>
<blockquote><p>« Ce qu’il vit sera incorporé dans son prochain film : en 1989 Kiki la petite sorcière, à l’héroïne portant toujours une longue robe noire de sorcière, est un véritable succès. Basé sur le roman d’Eiko <strong>Kadono</strong>, le film est classé premier au box-office japonais pour l’année 1989, récoltant 2 170 millions de yens et voyant 2 604 619 entrées en salle. »</p></blockquote>
<p>Comme Kadono était un peu dur à prononcer, il a suffi de changer une lettre!</p>
<p>Maintenant que vous savez tout, je vous souhaite une bonne lecture.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.kodono.info/wordpress/2009/04/10/kodono/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
