<?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>MWM &#187; Blog</title>
	<atom:link href="http://www.mwm-webdesign.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mwm-webdesign.com</link>
	<description>Conseil, webdesign et développement de solutions internet et multimédia</description>
	<lastBuildDate>Fri, 03 Sep 2010 16:02:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Tutoriel : un script de sauvegarde automatisé pour vos sites</title>
		<link>http://www.mwm-webdesign.com/blog/tutoriel-un-script-de-sauvegarde-automatise-pour-vos-sites/</link>
		<comments>http://www.mwm-webdesign.com/blog/tutoriel-un-script-de-sauvegarde-automatise-pour-vos-sites/#comments</comments>
		<pubDate>Sun, 06 Jun 2010 14:26:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[distant]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[sauvegarde]]></category>
		<category><![CDATA[serveur]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.michaelwassmer.net/?p=950</guid>
		<description><![CDATA[En tant que développeur web vous avez peut-être un serveur local et un serveur distant hébergant plusieurs sites client, sites test, applications web diverses, etc. Bien entendu, vous faites régulièrement des sauvegardes de toutes ces données. La manière la plus simple est de télécharger les dossiers et de faire des dump des différentes bases SQL, [...]]]></description>
			<content:encoded><![CDATA[<p>En tant que développeur web vous avez peut-être un serveur local et un serveur distant hébergant plusieurs sites client, sites test, applications web diverses, etc. Bien entendu, vous faites régulièrement des sauvegardes de toutes ces données.</p>
<p>La manière la plus simple est de télécharger les dossiers et de faire des dump des différentes bases <em>SQL</em>, puis de stocker le tout quelque part sur une machine ou un disque externe. Cette solution peut pourtant s&#8217;avérer assez longue et fastidieuse à mettre en oeuvre lorsque le nombre de sites à gérer est conséquent.</p>
<p><span id="more-950"></span></p>
<p>Voici une méthode permettant d&#8217;automatiser un peu tout cela à l&#8217;aide d&#8217;un script <em>bash</em>. Le but est d&#8217;afficher une liste de dossiers, correspondants aux différents sites hébergés sur le serveur, puis suite à un choix, de créer automatiquement des archives compressées et datées, stockées dans un même dossier de sauvegarde. Ces archives compressées pourront en suite être téléchargées de manière beaucoup plus rapide que si votre client FTP devait télécharger l&#8217;ensemble des fichiers non-compressés d&#8217;un dossier.</p>
<h3>Let&#8217;s go</h3>
<p>Ouvrez votre éditeur de texte favori et entrez le code suivant :</p>
<pre class="brush: bash; wrap-lines: false;">
#!/bin/bash

# Définit le dossier de sauvegarde
BACKUP_DIR=/home/backups
</pre>
<p>Nous avons simplement déclaré le langage du script, puis défini le dossier du serveur qui va recevoir les sauvegardes. Faites bien attention de créer ce dossier sur votre serveur à un niveau inaccessible par internet (surtout pas dans www/)</p>
<h3>Sauvegarde de la base de données</h3>
<p>Ajoutons ensuite une fonction qui va créer un dump d&#8217;une base de donnée, compresser ce dump, ajouter la date à la fin du nom de ficher et déplacer le tout dans notre dossier de sauvegarde.</p>
<pre class="brush: bash; wrap-lines: false;">
# Sauvegarde la base de données, ajoute la date et déplace l'archive dans le dossier de sauvegardes
backupDB (){
    echo -e &quot;\nDémarrage de la sauvegarde de la base de données de ${SITE}&quot;
    mysqldump --user=${DB_USER} --password=${DB_PASS} --host=${DB_HOST} ${DB_NAME} \
    | bzip2 -c &gt; ${BACKUP_DIR}/${SITE}_sql_$(date +%d%m%y).sql.bz2

    if [ &quot;$?&quot; -ne &quot;0&quot; ]; then
	    echo -e &quot;\nErreur lors du dump SQL de ${SITE} !&quot;
	    exit 1
    fi
    echo -e &quot;-&gt; Sauvegarde de la base de données de ${SITE} réussie !&quot;
}
</pre>
<h3>Sauvegarde des fichiers</h3>
<p>La fonction suivante va créer une archive compressée des fichiers, ajouter la date à la fin du nom de l&#8217;archive et déplacer celle-ci dans le dossier de sauvegarde. Enfin, le script demandera si l&#8217;on souhaite quitter ou effectuer une autre sauvegarde.</p>
<pre class="brush: bash; wrap-lines: false;">
# Sauvegarde les fichiers, ajoute la date et déplace l'archive dans le dossier de sauvegardes
backupFiles (){
     echo -e &quot;\nDémarrage de la sauvegarde des fichiers de ${SITE}&quot;
    tar czf ${BACKUP_DIR}/${SITE}_www_$(date +%d%m%y).tar.gz ${SITE_DIR}

    if [ &quot;$?&quot; -ne &quot;0&quot; ]; then
	    echo -e &quot;\nErreur lors de la sauvegarde des fichiers de ${SITE} !&quot;
    	exit 1
    fi
    echo -e &quot;-&gt; Sauvegarde des fichiers de ${SITE} réussie !&quot;

    echo -e &quot;\nSouhaitez-vous effectuer une autre sauvegarde ?&quot;
    select RESTART in &quot;oui&quot; &quot;non&quot; ; do
        if [ -z &quot;${RESTART}&quot; ]; then
            echo -e &quot;Entrez un des chiffres proposés.&quot;
        else

            # oui
            if [ &quot;${RESTART}&quot; = &quot;oui&quot; ]; then
                    backupInit
            fi

            # non
            if [ &quot;${RESTART}&quot; = &quot;non&quot; ]; then
                    reset
                    exit
            fi

            break

        fi
        echo
    done

}
</pre>
<h3>Définition des sites</h3>
<p>Dans cette partie du script nous allons créer la liste des dossiers qui pourront être sauvegardés, entrer les différentes données de connexion et gérer l&#8217;exécution des sauvegardes.</p>
<pre class="brush: bash; wrap-lines: false;">
# Affiche la liste des dossiers
backupInit (){
    reset
    printf &quot;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n&quot;
    printf &quot;¤    Mon backup automatique    ¤\n&quot;
    printf &quot;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n&quot;
    printf &quot;\nQuel dossier souhaitez-vous sauvegarder ?\n&quot;
    select SITE in &quot;site_client_1&quot; &quot;site_client_2&quot; &quot;dossier_test&quot; &quot;mon_forum&quot; &quot;quitter&quot; ; do
    if [ -z &quot;${SITE}&quot; ]; then
        printf &quot; Entrez un des chiffres proposés.&quot;
    else

        # Site client 1 (dossier seul, sans base de données)
        if [ &quot;${SITE}&quot; = &quot;site_client_1&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            backupFiles
        fi

	# Site client 2 (dossier + base de données)
        if [ &quot;${SITE}&quot; = &quot;site_client_2&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            DB_NAME=baseclient2
            DB_USER=client2
            DB_PASS=D3gfS345kH
            DB_HOST=localhost
            backupDB
            backupFiles
        fi

        # Dossier Test (dossier + base de données)
        if [ &quot;${SITE}&quot; = &quot;dossier_test&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            DB_NAME=basetest
            DB_USER=basetestlogin
            DB_PASS=x23fHj0xk
            DB_HOST=localhost
            backupDB
            backupFiles
        fi

        # Mon_forum (dossier + base de données)
        if [ &quot;${SITE}&quot; = &quot;mon_forum&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            DB_NAME=phpbb3base
            DB_USER=monphpbb
            DB_PASS=sD56j3vV
            DB_HOST=mysql5-12
            backupDB
            backupFiles
        fi

        # Quitter
        if [ &quot;${SITE}&quot; = &quot;quitter&quot; ]; then
            reset
            exit
        fi

        break

    fi
    echo
    done
}
</pre>
<p>Le script est relativement explicite, les informations de connexion aux bases de donnée sont à entrer sur les lignes :</p>
<ul>
<li>DB_NAME</li>
<li>DB_USER</li>
<li>DB_PASS</li>
<li> DB_HOST</li>
</ul>
<p>Vous pouvez créer autant d&#8217;entrées que vous voulez, selon le nombre de dossiers que vous souhaitez gérer.</p>
<p>Dans l&#8217;exemple, il y a des cas avec base de données et des cas sans.</p>
<h3>Initialisation</h3>
<p>Enfin, sur la dernière ligne nous lançons l&#8217;exécution du script</p>
<pre class="brush: bash; wrap-lines: false;">
# Initialise le script
backupInit
</pre>
<p>Voilà, sauvegardez le script dans un fichier (par exemple mon_backup.sh), chargez le sur le dossier racine de votre serveur (par exemple /home/), puis connectez-vous par <em>ssh</em> et exécutez le script à l&#8217;aide de ./mon_backup.sh</p>
<p>Faites bien attention à accorder des droits d&#8217;exécution au fichier (chmod 700)</p>
<p>Une fois une sauvegarde effectuée, allez dans le dossier backups/ (ou équivalent, selon ce que vous avez spécifié dans le script) et vous devriez voir le ou les fichiers de sauvegarde, par exemple :</p>
<pre class="brush: bash; wrap-lines: false;">
monsite_www_230510.tar.gz
monsite_sql_230510.sql.bz2
</pre>
<p><strong><span style="text-decoration: underline;">Attention</span></strong> : Pour des raisons évidentes de sécurité, ne placez jamais ce fichier dans le dossier www/ (ou supérieur) de votre serveur. Je conseille même fortement de l&#8217;effacer complètement suite à chaque utilisation, et de le renvoyer sur le serveur uniquement lorsque vous faites des sauvegardes.</p>
<h3>Le code complet</h3>
<pre class="brush: bash; wrap-lines: false;">
#!/bin/bash

# Définit le dossier de sauvegarde
BACKUP_DIR=/home/backups

# Sauvegarde la base de données, ajoute la date et déplace l'archive dans le dossier de sauvegardes
backupDB (){
    echo -e &quot;\nDémarrage de la sauvegarde de la base de données de ${SITE}&quot;
    mysqldump --user=${DB_USER} --password=${DB_PASS} --host=${DB_HOST} ${DB_NAME} \
    | bzip2 -c &gt; ${BACKUP_DIR}/${SITE}_sql_$(date +%d%m%y).sql.bz2

    if [ &quot;$?&quot; -ne &quot;0&quot; ]; then
	    echo -e &quot;\nErreur lors du dump SQL de ${SITE} !&quot;
	    exit 1
    fi
    echo -e &quot;-&gt; Sauvegarde de la base de données de ${SITE} réussie !&quot;
}

# Sauvegarde les fichiers, ajoute la date et déplace l'archive dans le dossier de sauvegardes
backupFiles (){
     echo -e &quot;\nDémarrage de la sauvegarde des fichiers de ${SITE}&quot;
    tar czf ${BACKUP_DIR}/${SITE}_www_$(date +%d%m%y).tar.gz ${SITE_DIR}

    if [ &quot;$?&quot; -ne &quot;0&quot; ]; then
	    echo -e &quot;\nErreur lors de la sauvegarde des fichiers de ${SITE} !&quot;
    	exit 1
    fi
    echo -e &quot;-&gt; Sauvegarde des fichiers de ${SITE} réussie !&quot;

    echo -e &quot;\nSouhaitez-vous effectuer une autre sauvegarde ?&quot;
    select RESTART in &quot;oui&quot; &quot;non&quot; ; do
        if [ -z &quot;${RESTART}&quot; ]; then
            echo -e &quot;Entrez un des chiffres proposés.&quot;
        else

            # oui
            if [ &quot;${RESTART}&quot; = &quot;oui&quot; ]; then
                    backupInit
            fi

            # non
            if [ &quot;${RESTART}&quot; = &quot;non&quot; ]; then
                    reset
                    exit
            fi

            break

        fi
        echo
    done

}

# Affiche la liste des dossiers
backupInit (){
    reset
    printf &quot;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n&quot;
    printf &quot;¤    Mon backup automatique    ¤\n&quot;
    printf &quot;¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n&quot;
    printf &quot;\nQuel dossier souhaitez-vous sauvegarder ?\n&quot;
    select SITE in &quot;site_client_1&quot; &quot;site_client_2&quot; &quot;dossier_test&quot; &quot;mon_forum&quot; &quot;quitter&quot; ; do
    if [ -z &quot;${SITE}&quot; ]; then
        printf &quot; Entrez un des chiffres proposés.&quot;
    else

        # Site client 1 (dossier seul, sans base de données)
        if [ &quot;${SITE}&quot; = &quot;site_client_1&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            backupFiles
        fi

	# Site client 2 (dossier + base de données)
        if [ &quot;${SITE}&quot; = &quot;site_client_2&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            DB_NAME=baseclient2
            DB_USER=client2
            DB_PASS=D3gfS345kH
            DB_HOST=localhost
            backupDB
            backupFiles
        fi

        # Dossier Test (dossier + base de données)
        if [ &quot;${SITE}&quot; = &quot;dossier_test&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            DB_NAME=basetest
            DB_USER=basetestlogin
            DB_PASS=x23fHj0xk
            DB_HOST=localhost
            backupDB
            backupFiles
        fi

        # Mon_forum (dossier + base de données)
        if [ &quot;${SITE}&quot; = &quot;mon_forum&quot; ]; then
            SITE_DIR=/home/www/${SITE}
            DB_NAME=phpbb3base
            DB_USER=monphpbb
            DB_PASS=sD56j3vV
            DB_HOST=mysql5-12
            backupDB
            backupFiles
        fi

        # Quitter
        if [ &quot;${SITE}&quot; = &quot;quitter&quot; ]; then
            reset
            exit
        fi

        break

    fi
    echo
    done
}

# Initialise le script
backupInit
</pre>
<p>Télécharger le script :<strong><em> <a href="http://www.mwm-webdesign.com/wp-content/uploads/mon_backup.sh.zip">mon_backup.sh</a></em></strong></p>
<p>J&#8217;espère que ce petit script pourra vous être utile, si vous avez des remarques ou des suggestions n&#8217;hésitez pas à les laisser en commentaire de cet article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mwm-webdesign.com/blog/tutoriel-un-script-de-sauvegarde-automatise-pour-vos-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutoriel : Debugger du Flash sous Linux</title>
		<link>http://www.mwm-webdesign.com/blog/tutoriel-debugger-du-flash-sous-linux/</link>
		<comments>http://www.mwm-webdesign.com/blog/tutoriel-debugger-du-flash-sous-linux/#comments</comments>
		<pubDate>Sun, 16 May 2010 09:57:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flashbug]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[trace]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.michaelwassmer.net/?p=903</guid>
		<description><![CDATA[Dans ce tutoriel nous allons voir comment débugger une animation Flash directement dans le navigateur, sous Linux. Le but est d&#8217;afficher les actions trace() dans un onglet de la page sur laquelle se trouve votre animation Flash. Pour cet exemple, j&#8217;utilise Ubuntu 10.04 Lucid Lynx, version 32bits en anglais, Flash Player 10 Linux Debug,  Firefox [...]]]></description>
			<content:encoded><![CDATA[<p>Dans ce tutoriel nous allons voir comment débugger une animation <em>Flash</em> directement dans le navigateur, sous <em>Linux</em>. Le but est d&#8217;afficher les actions <em>trace()</em> dans un onglet de la page sur laquelle se trouve votre animation <em>Flash</em>.</p>
<p>Pour cet exemple, j&#8217;utilise <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank"><em>Ubuntu 10.04 Lucid Lynx</em></a>, version 32bits en anglais, <a title="Adobe" href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank"><em>Flash Player 10 Linux Debug</em></a>,  <a title="Firefox" href="http://www.mozilla-europe.org/fr/firefox/" target="_blank"><em>Firefox 3.6.3</em></a>, <a title="Mozilla" href="https://addons.mozilla.org/fr/firefox/addon/1843" target="_blank"><em>Firebug 1.5.3</em></a> et <a title="Mozilla" href="https://addons.mozilla.org/fr/firefox/addon/14465" target="_blank"><em>Flashbug 1.6.3</em></a></p>
<p>Voici la procédure, étape par étape, de la manière la plus détaillée  possible.<span id="more-903"></span></p>
<h3>1. Télécharger le Flash Player version Debug</h3>
<div id="attachment_907" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_debug.jpg"><img class="size-medium wp-image-907" title="Adobe Flash Player Debug" src="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_debug-390x91.jpg" alt="Adobe Flash Player Debug" width="390" height="91" /></a><p class="wp-caption-text">Détail de la page de téléchargement du Flash Player version debug</p></div>
<p style="text-align: center;">
<p>Dans un premier temps, nous allons installer la version debug du <em>Flash Player</em> pour <em>Linux</em>, disponible sur <a title="Adobe" href="http://www.adobe.com/support/flashplayer/downloads.html" target="_blank">cette page</a> à la rubrique : <em>Linux Debugger and Standalone Players for Flash Developers</em><br />
<a title="flash_player_10_linux_dev.tar.gz" href="http://download.macromedia.com/pub/flashplayer/updaters/10/flash_player_10_linux_dev.tar.gz">Téléchargez l&#8217;archive</a> et sauvegardez-là où vous voulez.</p>
<h3>2. Installer le Flash Player version Debug</h3>
<div id="attachment_909" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_debug_archive.jpg"><img class="size-medium wp-image-909 " title="Adobe Flash Player Debug - Structure de l'archive" src="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_debug_archive-390x137.jpg" alt="Adobe Flash Player Debug - Structure de l'archive" width="390" height="137" /></a><p class="wp-caption-text">Structure de l&#39;archive flash_player_10_linux_dev.tar.gz</p></div>
<p style="text-align: center;">
<p>Décompressez l&#8217;archive <em>flash_player_10_linux_dev.tar.gz</em>, dans le dossier se trouvent maintenant deux sous-dossiers nommés <em>plugin/</em> et <em>standalone/</em>. Nous allons seulement installer le plugin pour <em>Firefox</em>, on va donc laisser de côté le dossier <em>standalone/</em>.<br />
Entrez dans le dossier <em>plugin/</em> puis dans <em>debugger/</em>, là se trouve une archive nommée <em>install_flash_player_10_linux.tar.gz</em>, décompressez-là et entrez dans le nouveau dossier crée.<br />
Double-cliquez sur le fichier <em>flashplayer-installer</em>, si on vous le demande, cliquez sur <em>Run in Terminal</em></p>
<div id="attachment_927" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_linux_terminal_install.jpg"><img class="size-medium wp-image-927" title="Adobe Flash Player Linux terminal install" src="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_linux_terminal_install-390x224.jpg" alt="Adobe Flash Player Linux terminal install script" width="390" height="224" /></a><p class="wp-caption-text">Script d&#39;installation du Flash Player version debug</p></div>
<p style="text-align: center;">
<p>Une fenêtre de terminal s&#8217;ouvre avec le script d&#8217;installation. Appuyez sur la touche <em>Entrée</em> pour continuer.<br />
Si vous avez un navigateur ouvert, fermez-le et appuyez sur <em>Entrée</em><br />
Maintenant le script vous informe du dossier dans lequel il va installer le plugin, tapez <em>y</em> puis <em>Entrée</em><br />
Une fois l&#8217;installation terminée, tapez <em>n</em> et <em>Entrée</em> pour fermer la fenêtre du terminal.<br />
Vous pouvez supprimer le fichier <em>xpti.dat</em> comme le suggère le message en fin d&#8217;installation</p>
<h3>3. Installer l&#8217;extension <em>Firebug</em> pour <em>Firefox</em></h3>
<div id="attachment_910" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/firebug.jpg"><img class="size-medium wp-image-910" title="Télécharger l'extension Firebug pour Firefox" src="http://www.mwm-webdesign.com/wp-content/uploads/firebug-390x191.jpg" alt="Télécharger l'extension Firebug pour Firefox" width="390" height="191" /></a><p class="wp-caption-text">Page de téléchargement de l&#39;extension Firebug pour Firefox</p></div>
<p style="text-align: center;">
<p>Allez sur <a title="Mozilla" href="https://addons.mozilla.org/fr/firefox/addon/1843" target="_blank">la page officielle de Firebug</a> et cliquez sur <em>Ajouter à Firefox</em><br />
Une fois installée, redémarrez <em>Firefox</em>.</p>
<h3>4. Installer l&#8217;extension <em>Flashbug</em> pour <em>Firefox</em></h3>
<div id="attachment_913" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/flashbug.jpg"><img class="size-medium wp-image-913 " title="Télécharger l'extension Flashbug pour Firefox" src="http://www.mwm-webdesign.com/wp-content/uploads/flashbug-390x264.jpg" alt="Télécharger l'extension Flashbug pour Firefox" width="390" height="264" /></a><p class="wp-caption-text">Page de téléchargement de l&#39;extension Flashbug pour Firefox</p></div>
<p style="text-align: center;">
<p>Allez sur <a title="Mozilla" href="https://addons.mozilla.org/fr/firefox/addon/14465" target="_blank">la page officielle de Flashbug</a> et cliquez sur <em>Ajouter à Firefox</em><br />
Une fois l&#8217;extension installée, redémarrez <em>Firefox</em></p>
<h3>5. Configurer les paramètres d&#8217;accès des sites web à Flash</h3>
<div id="attachment_918" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_setting_popup.jpg"><img class="size-medium wp-image-918" title="Adobe Flash Player Settings Popup" src="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_setting_popup-390x139.jpg" alt="Adobe Flash Player Settings Window" width="390" height="139" /></a><p class="wp-caption-text">Message d&#39;avertissement du Flash Player</p></div>
<p style="text-align: center;">
<p>Maintenant que l&#8217;extension <em>Flashbug</em> est installée, un popup avec un message de sécurité <em>Adobe</em> apparaitra si vous vous rendez sur une page qui comporte un contenu <em>Flash</em>. Cliquez sur <em>Settings</em>, cela va ouvrir une nouvelle fenêtre avec la page <em>Panneau Paramètres globaux de sécurité</em>.</p>
<div id="attachment_919" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_aide.jpg"><img class="size-medium wp-image-919" title="Adobe Flash Player Aide" src="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_aide-390x366.jpg" alt="Adobe Flash Player Aide" width="390" height="366" /></a><p class="wp-caption-text">Page d&#39;aide de Flash Player sur le site d&#39;Adobe</p></div>
<p style="text-align: center;">
<p>Dans le panneau, cliquez sur le déroulant <em>Edit locations&#8230; </em>et sélectionnez <em>Add location&#8230;</em></p>
<p>Dans le petit popup qui s&#8217;ouvre vous verrez une indication vous informant du dossier de l&#8217;application qui a essayé de communiquer avec Internet. Vous reconnaitrez facilement qu&#8217;il s&#8217;agit du dossier de l&#8217;extension <em>Flashbug</em> que nous venons d&#8217;installer.</p>
<div id="attachment_920" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_aide2.jpg"><img class="size-medium wp-image-920" title="Adobe Flash Player Aide" src="http://www.mwm-webdesign.com/wp-content/uploads/adobe_flash_player_aide2-390x366.jpg" alt="Adobe Flash Player Aide" width="390" height="366" /></a><p class="wp-caption-text">Page d&#39;aide de Flash Player sur le site d&#39;Adobe</p></div>
<p style="text-align: center;">
<p>Cliquez sur <em>Browse for folder&#8230;</em> et naviguez jusqu&#8217;au dossier en question et cliquez sur <em>Ok</em>. Chez moi il s&#8217;agit du dossier :</p>
<pre class="brush: plain;">/home/mike/.mozilla/firefox/zgl523oq.default/extensions/flashbug@coursevector.com/chrome</pre>
<p>Ensuite apparait dans la liste une ligne avec le chemin vers le dossier, précédé d&#8217;une coche verte.</p>
<p>Vous pouvez maintenant fermer la fenêtre.</p>
<h3>6. Tester le debug Flash</h3>
<p>Pour tester le bon fonctionnement de <em>Flashbug</em> nous allons maintenant créer une animation <em>Flash</em> basique.</p>
<p>Ouvrez <em>Flash</em>, et sur la première frame ajoutez simplement l&#8217;action</p>
<pre class="brush: as3;">trace(&quot;Salut la planète!&quot;);</pre>
<div id="attachment_930" class="wp-caption aligncenter" style="width: 399px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/flash_debug_test_anim.jpg"><img class="size-medium wp-image-930" title="Flash debug test anim" src="http://www.mwm-webdesign.com/wp-content/uploads/flash_debug_test_anim-389x231.jpg" alt="Flash debug test anim" width="389" height="231" /></a><p class="wp-caption-text">Création d&#39;une animation test sur Flash</p></div>
<p style="text-align: center;">
<p>Sauvegardez votre <em>.swf</em> et exportez-le avec son conteneur <em>.html</em><br />
Envoyer les fichiers sur votre serveur et ouvrez la page avec votre navigateur</p>
<div id="attachment_931" class="wp-caption aligncenter" style="width: 400px"><a href="http://www.mwm-webdesign.com/wp-content/uploads/flash_debug_test_anim_flashbug.jpg"><img class="size-medium wp-image-931" title="Flash Debug test anim Flashbug" src="http://www.mwm-webdesign.com/wp-content/uploads/flash_debug_test_anim_flashbug-390x289.jpg" alt="Flash Debug test anim Flashbug" width="390" height="289" /></a><p class="wp-caption-text">Test de la transmission de données trace() de l&#39;animation flash vers Flashbug</p></div>
<p style="text-align: center;">
<p>Appuyez sur la touche F12 pour ouvrir le panneau de <em>Firebug</em>, puis cliquez sur l&#8217;onglet <em>Flash Console</em>. Vous devriez voir le message <em>Salut la planète!</em> (Si ce n&#8217;est pas le cas, vérifiez que <em>Flash Console</em> est bien activé (cliquez sur le petit triangle à côté de <em>Console</em> et cochez <em>Enabled</em>) puis rechargez la page.</p>
<h3>Conclusion</h3>
<p>Voilà une méthode simple et rapide à mettre en place pour faire du debug <em>Flash</em>. C&#8217;est une possibilité parmi d&#8217;autres, qui couvrira surement vos besoins basiques de débogage <em>Flash</em>. Pour les développements plus poussés on préfèrera surement des <em>IDE</em> dédiés comme <a title="Eclipse" href="http://www.eclipse.org/" target="_blank"><em>Eclipse</em></a>, <a title="FDT" href="http://www.fdt.powerflasher.com/" target="_blank"><em>FDT</em></a> ou <a title="FlashDevelop" href="http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page" target="_blank"><em>FlashDevelop</em></a> par exemple (cependant <em>FDT</em> et <em>FD</em> ne fonctionnent pas sur <em>Linux</em> à ma connaissance)</p>
<p><span style="text-decoration: underline;">Note</span> : La méthode citée dans ce tutoriel ne fonctionne pas sur des systèmes Linux 64 bits, car <a title="Adobe" href="http://labs.adobe.com/technologies/flashplayer10/faq.html#flashplayer10FAQ_64-bit05" target="_blank"><em>Adobe</em> ne propose pas de <em>Flash Player</em></a> version debug en 64bits.</p>
<h3>Méthode alternative</h3>
<p>Il existe d&#8217;autres extensions capables de faire le même genre de chose,  comme par exemple <a title="Mozilla" href="https://addons.mozilla.org/fr/firefox/addon/3469" target="_blank"><em>Flash Tracer</em></a>,  mais cette dernière n&#8217;est pas compatible avec <em>Firefox 3.6</em> à  l&#8217;heure où j&#8217;écris ces lignes.</p>
<p>Il est également possible de dialoguer directement avec <em>Firebug</em>, sans passer par l&#8217;extension <em>Flashbug</em>, à l&#8217;aide de la classe <em>Externalinterface</em>, la méthode est expliquée <a title="Findsubstance" href="http://labs.findsubstance.com/2008/02/26/firebugs-console-log-flash-debugging-made-easy/" target="_blank">ici</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mwm-webdesign.com/blog/tutoriel-debugger-du-flash-sous-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutoriel : Créer un widget pour WordPress</title>
		<link>http://www.mwm-webdesign.com/blog/tutoriel-creer-un-widget-pour-wordpress/</link>
		<comments>http://www.mwm-webdesign.com/blog/tutoriel-creer-un-widget-pour-wordpress/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 09:31:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.michaelwassmer.net/?p=865</guid>
		<description><![CDATA[La création de widget pour WordPress est plus simple qu&#8217;il n&#8217;y parait au premier abord, l&#8217;excellente API de WordPress permet, en quelques étapes seulement, de réaliser un widget basique. Dans ce premier exemple nous allons créer le widget le plus rudimentaire qui soit, le Hello World! Nous verrons dans un prochain article comment créer un [...]]]></description>
			<content:encoded><![CDATA[<p>La création de widget pour <a title="Wordpress" href="http://wordpress.org/" target="_blank"><em>WordPress</em></a> est plus simple qu&#8217;il n&#8217;y parait au premier abord, l&#8217;excellente <a title="Wordpress API" href="http://codex.wordpress.org/Plugin_API" target="_blank"><em>API</em></a> de <em>WordPress</em> permet, en quelques étapes seulement, de réaliser un widget basique.</p>
<p>Dans ce premier exemple nous allons créer le widget le plus rudimentaire qui soit, le <em>Hello World!</em></p>
<p><span id="more-865"></span></p>
<p>Nous verrons dans un prochain article comment créer un widget avec des options configurables, au travers d&#8217;un exemple concret.<em><br />
</em></p>
<h3>Bonjour tout le monde !</h3>
<p>Ouvrez votre éditeur de code favori (le mien c&#8217;est <a title="Geany" href="http://www.geany.org/" target="_blank"><em>Geany</em></a>) et entrez le code suivant :</p>
<pre class="brush: php; wrap-lines: false;">

&lt;?php
/*
    Plugin Name: Hello World
    Plugin URI: http://www.monsite.com/
    Description: Le plus simple des widgets WordPress
    Author: John Doe
    Version: 0.1
    Author URI: http://www.monsite.com/
*/

// Les actions de mon Plugin
function helloWorld(){
    echo '&lt;h2&gt;Salut la planète !&lt;/h2&gt;';
}

// Définition du widget
function widget_helloWorld() {
    echo '&lt;h2&gt;Mon premier widget&lt;/h2&gt;';
    helloWorld();
}

// Initialisation du widget
function helloWorld_init(){
    register_sidebar_widget(__('Hello World'), 'widget_helloWorld');
}

// Crochet Wordress, initialise le widget lorsque le plugin est chargé
add_action('plugins_loaded','helloWorld_init');

?&gt;
</pre>
<p>Maintenant sauvegardez ce code dans un fichier, par exemple <em>wp-helloworld.php</em>, placez-le dans un dossier du même nom, dans le répertoire <em>wp-content/plugins</em> de votre site :</p>
<p style="text-align: center;"><a href="http://www.mwm-webdesign.com/wp-content/uploads/file_structure.jpg"><img class="aligncenter size-medium wp-image-888" title="Structure des dossiers" src="http://www.mwm-webdesign.com/wp-content/uploads/file_structure-390x67.jpg" alt="Structure des dossiers" width="390" height="67" /></a></p>
<p>Puis activez-le plugin via l&#8217;interface de gestion des extensions :</p>
<p><a href="http://www.mwm-webdesign.com/wp-content/uploads/extensions.jpg"><img class="aligncenter size-medium wp-image-880" title="Extensions WordPress" src="http://www.mwm-webdesign.com/wp-content/uploads/extensions-390x138.jpg" alt="Extensions WordPress" width="390" height="138" /></a></p>
<p>Si vous allez dans la section <em>Apparence &gt; Widgets</em>, vous devriez maintenant voir votre widget, glissez le dans la colonne latérale :</p>
<p><a href="http://www.mwm-webdesign.com/wp-content/uploads/widget.jpg"><img class="aligncenter size-full wp-image-881" title="Widget wordpress" src="http://www.mwm-webdesign.com/wp-content/uploads/widget.jpg" alt="Widget wordpress" width="305" height="98" /></a></p>
<p>Voilà! Sur votre site dans la barre latérale se trouve à présent votre widget, affichant simplement le titre &laquo;&nbsp;<em>Mon premier Widget</em>&nbsp;&raquo; et en dessous le texte &laquo;&nbsp;<em>Salut la planête!</em>&laquo;&nbsp;.</p>
<p>Téléchargez le plugin : <a href="http://www.mwm-webdesign.com/wp-content/uploads/wp-helloworld.zip">wp-helloworld.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mwm-webdesign.com/blog/tutoriel-creer-un-widget-pour-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Las Cazuelas de la Abuela</title>
		<link>http://www.mwm-webdesign.com/blog/las-cazuelas-de-la-abuela/</link>
		<comments>http://www.mwm-webdesign.com/blog/las-cazuelas-de-la-abuela/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 18:06:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Montage vidéo]]></category>

		<guid isPermaLink="false">http://www.michaelwassmer.net/?p=858</guid>
		<description><![CDATA[J&#8217;ai récemment participé au tournage et à la réalisation d&#8217;un court métrage fait par des étudiants de l&#8217;ECIB (Escuela de Cinema de Barcelona), en tant qu&#8217;assistant de production et monteur. Las Cazuelas de la Abuela de Natalia Bolaños Treviño Projet individuel cinématographie II, ECIB 2009 &#171;&#160;Las Cazuelas de la Abuela&#171;&#160;. HDV. 4:15. Lumière naturelle, prise [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai récemment participé au tournage et à la réalisation d&#8217;un court métrage fait par des étudiants de l&#8217;<em>ECIB</em> (<em>Escuela de Cinema de Barcelona</em>), en tant qu&#8217;assistant de production et monteur.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="281" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8173187&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="281" src="http://vimeo.com/moogaloop.swf?clip_id=8173187&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/8173187">Las Cazuelas de la Abuela</a> de <a href="http://vimeo.com/nbolanost">Natalia Bolaños Treviño</a></p>
<p>Projet individuel cinématographie II, ECIB 2009 &laquo;&nbsp;<em>Las Cazuelas de la Abuela</em>&laquo;&nbsp;. HDV. 4:15. Lumière naturelle, prise de son directe, 1 journée de tournage.</p>
<p>Direction : Natalia Bolaños Treviño. Caméra : Fayssal Sanhaji &#8211; Jakob Schottstädt. Son : Caroline Vick Baker. Asistant : Michael Wassmer. Montage : Natalia Bolaños Treviño &#8211; Michael Wassmer. Actrices : Pilar Roca et Carla Ruiz</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mwm-webdesign.com/blog/las-cazuelas-de-la-abuela/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Traduction française du plugin Shockingly Big IE6 Warning pour WordPress</title>
		<link>http://www.mwm-webdesign.com/blog/traduction-francaise-du-plugin-shockingly-big-ie6-warning-pour-wordpress/</link>
		<comments>http://www.mwm-webdesign.com/blog/traduction-francaise-du-plugin-shockingly-big-ie6-warning-pour-wordpress/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 10:38:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Internet Explorer 6]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[traduction]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.michaelwassmer.net/?p=273</guid>
		<description><![CDATA[J&#8217;utilise parfois le plugin Shockingly Big IE6 Warning pour WordPress pour avertir le visiteur qu&#8217;il doit mettre à jour son navigateur et se débarasser de ce soft dangereux et préhistorique Internet Explorer 6. Pourquoi devrait-on faire ça en tant que développeur? Voici quelques bons arguments. Aujourd&#8217;hui j&#8217;ai pris le temps de traduire ce plugin en [...]]]></description>
			<content:encoded><![CDATA[<p>J&#8217;utilise parfois le plugin <a title="Incerteza" href="http://www.incerteza.org/blog/projetos/shockingly-big-ie6-warning/" target="_blank"><em>Shockingly Big IE6 Warning</em></a> pour<em> WordPress </em>pour avertir le visiteur qu&#8217;il doit mettre à jour son navigateur et se débarasser de <span style="text-decoration: line-through;">ce soft dangereux et préhistorique</span> <em>Internet Explorer 6</em>. Pourquoi devrait-on faire ça en tant que développeur? <a title="Robert Nyman" href="http://robertnyman.com/2009/02/09/stop-developing-for-internet-explorer-6/" target="_blank">Voici</a> quelques bons arguments.</p>
<p>Aujourd&#8217;hui j&#8217;ai pris le temps de traduire ce plugin en français.</p>
<p>Vous pouvrez télécharger la traduction ici : <a href="http://www.mwm-webdesign.com/wp-content/uploads/shockingly-big-ie6-warning-fr_FR.mo">shockingly-big-ie6-warning-fr_FR.mo</a></p>
<p><span style="text-decoration: underline;">Note</span> : La traduction est basée sur la version 1.6.3 du plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mwm-webdesign.com/blog/traduction-francaise-du-plugin-shockingly-big-ie6-warning-pour-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tutoriel : Créer un catalogue de produits multilingues grâce à WordPress et WPML</title>
		<link>http://www.mwm-webdesign.com/blog/tutoriel-creer-un-catalogue-de-produits-multilingues-grace-a-wordpress-et-wpml/</link>
		<comments>http://www.mwm-webdesign.com/blog/tutoriel-creer-un-catalogue-de-produits-multilingues-grace-a-wordpress-et-wpml/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 10:08:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[tutoriel]]></category>
		<category><![CDATA[wpml]]></category>

		<guid isPermaLink="false">http://www.michaelwassmer.net/site/?p=149</guid>
		<description><![CDATA[Suite à une récente discussion sur le forum de WPML, Amir m&#8217;a invité à écrire un article sur le blog de WPML. Vous pouvez le lire ici (anglais) : Creating a multilingual product catalog with WordPress and WPML]]></description>
			<content:encoded><![CDATA[<p>Suite à une <a title="WPML Forum" href="http://forum.wpml.org/topic.php?id=376" target="_blank">récente discussion</a> sur le forum de <em>WPML</em>, <strong>Amir</strong> m&#8217;a invité à écrire un article sur le blog de <em>WPML</em>.</p>
<p>Vous pouvez le lire ici (anglais) : <a title="WPML" href="http://wpml.org/2009/09/creating-a-multilingual-product-catalog/" target="_blank">Creating a multilingual product catalog with WordPress and WPML</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mwm-webdesign.com/blog/tutoriel-creer-un-catalogue-de-produits-multilingues-grace-a-wordpress-et-wpml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
