<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>Tild Online Sofware</title>
	<link>http://www.tild.com</link>
	<description>Technologie Online et développement d'applications Web</description>
	<pubDate>Wed, 21 May 2008 10:48:02 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>Orange Framework</title>
		<link>http://www.tild.com/2008/04/24/orange-framework/</link>
		<comments>http://www.tild.com/2008/04/24/orange-framework/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 10:03:30 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://www.tild.com/2008/04/24/orange-framework/</guid>
		<description><![CDATA[Les sources du framework (simple), utilisé par les projets de Tild Online Software, sont disponibles. Nous voulions un outil simple et totalement maitrisable. Bien entendu, les outils comme CakePHP ont évolués très largement. Zend Framework est, à présent, utilisable en production. Bref, bien que la plupart du temps sur certains projets, nous préférons la souplesse [...]]]></description>
			<content:encoded><![CDATA[<p>Les sources du framework (simple), utilisé par les projets de Tild Online Software, sont disponibles. Nous voulions un outil simple et totalement maitrisable. Bien entendu, les outils comme <a href="http://www.cakephp.org/">CakePHP</a> ont évolués très largement. <a href="http://framework.zend.com/">Zend Framework</a> est, à présent, utilisable en production. Bref, bien que la plupart du temps sur certains projets, nous préférons la souplesse d&#8217;utilisation d&#8217;Orange Framework, il faut avouer que le développement risque d&#8217;être fortement freiné, et c&#8217;est tant mieux, par la puissance de <a href="http://www.cakephp.org/">CakePHP</a> ou <a href="http://framework.zend.com/">Zend Framework</a>.</p>
<p>A la base, nous nous étions fixés certaines règles que nous voulions voir appliquées sur <a href="http://fr.wikipedia.org/wiki/Liste_de_frameworks_PHP">d&#8217;autres Framework</a> :</p>
<ul>
<li><strong>Eviter les mappings de données</strong><br />
Sans doute parce que nous aimons le SQL et aussi parce que nous reprochions souvent au FW existant des mappings de contexte, nous laissons le développeur écrire ses propres requêtes. De même, Il existe des variables globales qui permettant de récupérer les données d&#8217;un formulaire posté ($_REQUEST, $_POST, … ). Alors pourquoi ne pas les utiliser directement plutôt que se prendre la tête à gérer des $data, $request et autres fantaisies.</li>
<li><strong>Ne pas ajouter une couche template</strong><br />
PHP est déjà un moteur de template. Je n’ai jamais vraiment saisi l’intérêt de la chose. Le template alourdit le code, complexifie l’implémentation et ralentit fortement l’exécution du script. Sans compter qu’il faut également un temps d’adaptation et d’apprentissage afin de maitriser les systèmes de boucles, de procédures, d’inclusion et autres structures de contrôles.</p>
<p>Franchement, voyez-vous une différence significative à utiliser cette formulation Smarty :</p>
<p><code>{foreach from=$myArray item=titre}<br />
{$titre|upper}<br />
{/foreach} </code></p>
<p>plutôt que d&#8217;utiliser cette version en PHP ?<br />
<code>&lt;?php<br />
foreach ($myArray as &#038;$titre):<br />
print strtoupper($titre);<br />
endforeach;<br />
?&gt;</code></li>
<li><strong>Eviter la sur-utilisation des design patterns</strong><br />
Ok… Ca amuse les enfants 10 minutes, mais certains design-patterns, appliqués au Web, sont complètement superflus (qui a dit Factory ?). Bref, mis à part l&#8217;implémentation du modèle MVC et le Singleton, j’en désapprouve l’utilisation intensif et donc ne les intègre pas dans Orange.</li>
<li><strong>XML à donf = perte de temps</strong><br />
Le XML est un format d&#8217;échange et doit donc le rester. Ce format n’a rien à faire dans un framework si seule ce dernier y accède. En gros, pourquoi développer des fichiers de mapping ou un fichier de configuration en XML, si seul un unique script vient y piocher les informations dont il a besoin ? Je pense que le XML doit être utilisé à bon escient : par exemple, si un ou plusieurs logiciels génèrent le code en question ou si différentes plateformes logicielles (et pourquoi pas, dans différents langages) utilisent un unique fichier de configuration.</li>
</ul>
<p>Voilà donc les quelques petites règles fixées pour le développement d&#8217;Orange que nous mettons à votre disposition ici : <a href="http://svn.tild.com/orange/">http://svn.tild.com/orange/</a></p>
<p><code>svn co http://svn.tild.com/orange/</code></p>
<p>Une petite et courte documentation arrivera sous peu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2008/04/24/orange-framework/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lancement officiel de Mozilla Messaging</title>
		<link>http://www.tild.com/2008/02/21/lancement-officiel-de-mozilla-messaging/</link>
		<comments>http://www.tild.com/2008/02/21/lancement-officiel-de-mozilla-messaging/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 22:18:02 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.tild.com/2008/02/21/lancement-officiel-de-mozilla-messaging/</guid>
		<description><![CDATA[ C&#8217;est fait ! La filiale de la Mozilla Foundation, Mozilla Messaging, vient d&#8217;être créée afin de porter le développement du client de messagerie Thunderbird.
New open source organization kicks off development of Thunderbird 3. Mozilla Messaging, the new mail focused subsidiary of the non-profit Mozilla Foundation, today announced that it has begun operations.
The initial focus [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozillamessaging.com/"><img src='/wp-content/uploads/2008/02/mozilla-messaging-logo.png' alt='La nouvelle société Mozilla Messaging' style="background-color:black;float:left;" /></a> C&#8217;est fait ! La filiale de la Mozilla Foundation, <a href="http://www.mozillamessaging.com/">Mozilla Messaging</a>, vient d&#8217;être créée afin de porter le développement du client de messagerie Thunderbird.</p>
<p>New open source organization kicks off development of Thunderbird 3. Mozilla Messaging, the new mail focused subsidiary of the non-profit Mozilla Foundation, today announced that it has begun operations.</p>
<p>The initial focus for Mozilla Messaging is the development of Thunderbird 3, which will deliver significant improvements, notably integrated calendaring, better search and enhancements to the overall user experience. Thunderbird is a free, open source email application that is used by millions of people around the world and is built using the same open source development model as the award-winning Mozilla Firefox Web browser.</p>
<p>Mozilla Messaging has staffed a small product development team who will work as part of a community of contributors from around the world.</p>
<p>&#8220;We&#8217;re excited to renew the focus of our open source community on the future of Thunderbird,&#8221; said David Ascher, CEO, Mozilla Messaging. &#8220;Every one of us is committed to building a great email product that people will love to use and that serves as the foundation for choice in a critical area of Internet software.&#8221;</p>
<p>Mozilla Messaging is a wholly owned subsidiary of the Mozilla Foundation. The board of directors consists of David Ascher, CEO, Mozilla Messaging; Christopher Beard, VP and General Manager, Mozilla Labs; and Marten Mickos, CEO of open source database vendor MySQL AB.</p>
<p>&#8220;Thunderbird email is a vital part of the Mozilla project which brings freedom to hundreds of millions of internet users worldwide,&#8221; said Marten Mickos, CEO of MySQL AB. &#8220;By joining the board of Mozilla Messaging, I hope to help the world communicate better.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2008/02/21/lancement-officiel-de-mozilla-messaging/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Forum Graphotech Web 2.0</title>
		<link>http://www.tild.com/2007/05/30/forum-graphotech-web-20/</link>
		<comments>http://www.tild.com/2007/05/30/forum-graphotech-web-20/#comments</comments>
		<pubDate>Wed, 30 May 2007 13:39:02 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Événement]]></category>

		<guid isPermaLink="false">http://www.tild.com/?p=25</guid>
		<description><![CDATA[Pour les développeurs rennais, un forum Graphotech est organisé à la CCI de Rennes le lundi 4 juin 2007. Il aura pour thème le Web 2.0 et plus particulièrement AJAX.
Il sera animé par Jean Soulat qui présentera les bases d’Ajax et de Stéphane Morucci qui apportera son retour d’expérience.
Les forums Grafotech s’adressent aux professionnels des [...]]]></description>
			<content:encoded><![CDATA[<p>Pour les développeurs rennais, <a href="http://www.granit.org/fr/maj-e/c1a2i1096/les-forums-grafotech/forum-web-2.0/granit-rennes-forum-web-2.0.htm">un forum Graphotech</a> est organisé à la <a href="http://www.rennes.cci.fr/">CCI de Rennes</a> le lundi 4 juin 2007. Il aura pour thème le Web 2.0 et plus particulièrement <a href="http://fr.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML">AJAX</a>.</p>
<p>Il sera animé par Jean Soulat qui présentera les bases d’Ajax et de Stéphane Morucci qui apportera son retour d’expérience.<br />
Les forums Grafotech s’adressent aux professionnels des technologies de l’information et de la communication qui souhaitent échanger et partager leurs expériences sur des sujets techniques ou sur leurs métiers dans un contexte communautaire informel.</p>
<p>La participation à ces réunions est libre et gratuite.</p>
<p>18h30 :  Echanges libres<br />
18h45 :  Jean SOULAT - Présentation des bases d&#8217;AJAX - Exemple du site <a href="http://www.smarthanzi.net">www.smarthanzi.net</a><br />
19h15 :  Stéphane MORUCCI - Retour d&#8217;expérience sur une grosse application <a href="http://dojotoolkit.org/">DOJO</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/05/30/forum-graphotech-web-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TIC 2.0 à Rennes</title>
		<link>http://www.tild.com/2007/04/20/tic-20-a-rennes/</link>
		<comments>http://www.tild.com/2007/04/20/tic-20-a-rennes/#comments</comments>
		<pubDate>Fri, 20 Apr 2007 08:14:38 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Événement]]></category>

		<guid isPermaLink="false">http://www.tild.com/?p=24</guid>
		<description><![CDATA[Trois jours de rencontres et d&#8217;échanges sont prévus à Rennes. Le sujet de cette année est : usages d&#8217;Internet et du Web 2.0.
Ca devrait se dérouler du  4 juillet 2007 au 6 juillet 2007, donc en pleine canicule parisienne. La fraîcheur bretonne ne devrait pas être un luxe. Le lieu reste encore à définir.
Les [...]]]></description>
			<content:encoded><![CDATA[<p>Trois jours de rencontres et d&#8217;échanges sont prévus à Rennes. Le sujet de cette année est : usages d&#8217;Internet et du Web 2.0.</p>
<p>Ca devrait se dérouler du  4 juillet 2007 au 6 juillet 2007, donc en pleine canicule parisienne. La fraîcheur bretonne ne devrait pas être un luxe. Le lieu reste encore à définir.</p>
<p>Les objectifs, tels qu&#8217;ils sont décrits sur le site sont claire :<br />
- Découvrir, échanger et progresser sur les usages des technologies de l’information<br />
- Partager l’état de l’art, les réflexions et les bonnes pratiques autour du web 2.0</p>
<p>Un beau programme en perspective avec deux soirées d&#8217;organisées. Le mercredi 4 juillet, la Région Bretagne présente les lauréats de l’appel à projets sur le développement des usages des TIC et le jeudi 5 juillet, la Fing organise le 3ème Carrefour des Possibles en Bretagne. La fondation y présentera 10 projets bretons innovants en matière d’usage en réseau des TIC.</p>
<p>Plus d&#8217;info sur <a href="http://www.bretagne20.fr/?q=lesetestic">http://www.bretagne20.fr/?q=lesetestic</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/04/20/tic-20-a-rennes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gaim change de nom</title>
		<link>http://www.tild.com/2007/04/09/gaim-change-de-nom/</link>
		<comments>http://www.tild.com/2007/04/09/gaim-change-de-nom/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 20:30:17 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.tild.com/?p=22</guid>
		<description><![CDATA[Le projet Gaim, un client de messagerie instantanée multiprotocole, vient de communiquer son nouveau nom : Pidgin. C&#8217;est l&#8217;identité qui sera utilisée pour la version 2.0 du logiciel.
La librairie libgaim se nommera libpurple et gaim-text s&#8217;appellera désormais Finch.
C&#8217;est la conclusion de la longue bataille juridique entre AOL/AIM et le célèbre logiciel Opensource.
]]></description>
			<content:encoded><![CDATA[<p>Le projet Gaim, un client de messagerie instantanée multiprotocole, vient de communiquer son nouveau nom : <a href="http://www.pidgin.im/">Pidgin</a>. C&#8217;est l&#8217;identité qui sera utilisée pour la version 2.0 du logiciel.</p>
<p>La librairie libgaim se nommera <em>libpurple</em> et gaim-text s&#8217;appellera désormais <em>Finch</em>.</p>
<p>C&#8217;est la conclusion de la longue bataille juridique entre AOL/AIM et le célèbre logiciel Opensource.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/04/09/gaim-change-de-nom/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gtalk dans la barre latérale Firefox</title>
		<link>http://www.tild.com/2007/04/06/gtalk-dans-la-barre-laterale-firefox/</link>
		<comments>http://www.tild.com/2007/04/06/gtalk-dans-la-barre-laterale-firefox/#comments</comments>
		<pubDate>Fri, 06 Apr 2007 10:04:41 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Divers]]></category>

		<guid isPermaLink="false">http://www.tild.com/?p=17</guid>
		<description><![CDATA[Vous pouvez facilement charger le Widget de Gtalk dans le panneau lateral de Firefox. Vous pouvez ainsi lancer automatiquement votre IM au lancement de votre navigateur et contacter directement vos amis et collegues sans avoir à quitter votre navigateur.
Il y a 4 étapes à respecter.
Dans un premier temps, après avoir lancé votre navigateur, dans le [...]]]></description>
			<content:encoded><![CDATA[<p>Vous pouvez facilement charger le Widget de Gtalk dans le panneau lateral de Firefox. Vous pouvez ainsi lancer automatiquement votre IM au lancement de votre navigateur et contacter directement vos amis et collegues sans avoir à quitter votre navigateur.</p>
<p>Il y a 4 étapes à respecter.</p>
<p>Dans un premier temps, après avoir lancé votre navigateur, dans le menu marque-pages, choisissez &#8220;Organiser les marques-pages&#8221;.<br />
<a href='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8618.jpg' title='Lancer la gestion de vos bookmarks' target="image"><img src='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8618.thumbnail.jpg' alt='Lancer la gestion de vos bookmarks' /></a></p>
<p>Ensuite, cliquez sur &#8220;Nouveau marque-page&#8221;<br />
<a href='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8619.jpg' title='Nouveau marque-page' target="image"><img src='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8619.thumbnail.jpg' alt='Nouveau marque-page' /></a></p>
<p>Remplissez l&#8217;information &#8220;Nom&#8221; (le titre du marque-page qui apparaîtra dans le menu), ainsi que l&#8217;url :<br />
<code>http://talkgadget.google.com/talkgadget/popout</code></p>
<p>Et enfin, n&#8217;oubliez pas de cocher l&#8217;option : &#8220;Charger le marque-page comme panneau latéral&#8221;.<br />
<a href='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8620.jpg' title='Remplire les informations de votre marque-page' target="image"><img src='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8620.thumbnail.jpg' alt='Remplire les informations de votre marque-page' /></a></p>
<p>Voilà, vous pouvez dès à présent, ajouter des contacts et leur envoyer des messages directement depuis votre navigateur préféré.<br />
<a href='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8621.jpg' title='Vos contacts dans la barre latérale de votre navigateur' target="image"><img src='http://www.tild.com/wp-content/uploads/2007/04/screenshot_8621.thumbnail.jpg' alt='Vos contacts dans la barre latérale de votre navigateur'/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/04/06/gtalk-dans-la-barre-laterale-firefox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Une mosaïc avec Bash et ImageMagick</title>
		<link>http://www.tild.com/2007/04/03/une-mosaic-avec-bash-et-imagemagick/</link>
		<comments>http://www.tild.com/2007/04/03/une-mosaic-avec-bash-et-imagemagick/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 11:23:56 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://powerbook-de-laurent.local./~laurent/tild.com/?p=10</guid>
		<description><![CDATA[Pour rassembler des centaines de petites images dans une (ou plusieurs) mosaïc les représentant toutes, on peut utiliser l&#8217;utilitaire génial ImageMagick.
Bash permet dans un premier temps de faire un crop sur les images de façon à ne récupérer qu&#8217;une partie de celle-ci et les stocke dans un repertoire temporaire.
Ensuite ImageMagick récupère toutes les images et [...]]]></description>
			<content:encoded><![CDATA[<p>Pour rassembler des centaines de petites images dans une (ou plusieurs) mosaïc les représentant toutes, on peut utiliser l&#8217;utilitaire génial <a href="http://www.imagemagick.org/">ImageMagick</a>.</p>
<p>Bash permet dans un premier temps de faire un crop sur les images de façon à ne récupérer qu&#8217;une partie de celle-ci et les stocke dans un repertoire temporaire.</p>
<p>Ensuite ImageMagick récupère toutes les images et créée une mosaïc.</p>
<p><code><br />
#!/bin/bash<br />
#<br />
#</p>
<p>FINALDIR="./cheminversmosaics/"</p>
<p>function usage<br />
{<br />
  echo "Usage :"<br />
  echo " `basename $0` Path of the jpg files"<br />
  echo<br />
}</p>
<p>function crop()<br />
{<br />
    convert $1 -crop 150x150+$2+$3 $4/tmp/`basename $1`<br />
    return 0<br />
}</p>
<p>if [ $# != 1 -o "$1" = "--help" ]<br />
then<br />
  usage<br />
  exit<br />
fi</p>
<p>mkdir ./$1/tmp<br />
echo "Create Mosaic for $1"</p>
<p>for i in `ls $1/*.jpg`<br />
do<br />
    size=`identify -format "%wx%h" $i`<br />
    if [ "$size" = "190x229" ]; then<br />
            crop $i 1 53 $1;<br />
    fi<br />
done</p>
<p>#mosaic de 9 images x 11 images<br />
mosaic=0<br />
row=0<br />
col=0<br />
for i in `ls $1/tmp/*.jpg`<br />
do<br />
    if [ $col -eq 0 ]; then<br />
        if [ $row -eq 0 ]; then<br />
            let "mosaic += 1"<br />
            mosaicFile="$FINALDIR/`basename $1`.$mosaic.jpg"<br />
            composite=""<br />
        fi<br />
    fi</p>
<p>    let "posx=$col*150"<br />
    let "posy=$row*150"</p>
<p>    composite="$composite -page 150x150+$posx+$posy $i"</p>
<p>    if [ $col -ge 8 ]; then<br />
        if [ $row -ge 10 ]; then<br />
            row=0<br />
            col=0<br />
            convert $composite -background wheat -mosaic $mosaicFile<br />
            echo ".... write $mosaicFile"<br />
        else<br />
            let "row += 1"<br />
                        col=0<br />
            fi<br />
    else<br />
        let "col += 1"<br />
    fi<br />
done</p>
<p>convert $composite -background wheat -mosaic $mosaicFile<br />
echo ".... write $mosaicFile and ending"</p>
<p>rm -rf ./$1/tmp<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/04/03/une-mosaic-avec-bash-et-imagemagick/feed/</wfw:commentRss>
		</item>
		<item>
		<title>XUL : Ouvrir une url dans votre navigateur par défaut</title>
		<link>http://www.tild.com/2007/04/03/xul-ouvrir-une-url-dans-votre-navigateur-par-defaut/</link>
		<comments>http://www.tild.com/2007/04/03/xul-ouvrir-une-url-dans-votre-navigateur-par-defaut/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 11:15:34 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://powerbook-de-laurent.local./~laurent/tild.com/?p=9</guid>
		<description><![CDATA[XUL est un langage de développement pratique et la conception d&#8217;interface cross-plateforme est facilité par le portage du framework sur les différents OS.
XULRunner sert comme environnement d&#8217;exécution d&#8217;applications XUL très utile pour développer des applications hors Firefox et Mozilla.
Par contre, la &#8220;technique&#8221; du window.open ne permet pas d&#8217;ouvrir les url externes hors de XULRunner.
Pour lancer [...]]]></description>
			<content:encoded><![CDATA[<p>XUL est un langage de développement pratique et la conception d&#8217;interface cross-plateforme est facilité par le portage du framework sur les différents OS.</p>
<p>XULRunner sert comme environnement d&#8217;exécution d&#8217;applications XUL très utile pour développer des applications hors Firefox et Mozilla.<br />
Par contre, la &#8220;technique&#8221; du window.open ne permet pas d&#8217;ouvrir les url externes hors de XULRunner.</p>
<p>Pour lancer votre navigateur par défaut en utilisant l&#8217;adresse spécifiée vous devez utiliser quelques composants particuliers que nous avons regroupés dans cette fonction javascript :<br />
<code><br />
function openExternal(url) {<br />
    var uri = Components<br />
        .classes["@mozilla.org/network/simple-uri;1"]<br />
        .getService(Components.interfaces.nsIURI )</p>
<p>        uri.spec = url</p>
<p>    Components<br />
        .classes["@mozilla.org/uriloader/external-protocol-service;1"]<br />
        .getService( Components.interfaces.nsIExternalProtocolService)<br />
        .loadUrl(uri)<br />
}<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/04/03/xul-ouvrir-une-url-dans-votre-navigateur-par-defaut/feed/</wfw:commentRss>
		</item>
		<item>
		<title>La Bible du PHP</title>
		<link>http://www.tild.com/2007/04/03/la-bible-du-php/</link>
		<comments>http://www.tild.com/2007/04/03/la-bible-du-php/#comments</comments>
		<pubDate>Tue, 03 Apr 2007 10:20:34 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Tild Online Software]]></category>

		<guid isPermaLink="false">http://powerbook-de-laurent.local./~laurent/tild.com/?p=7</guid>
		<description><![CDATA[Utilisé par des millions de programmeurs dans le monde entier, PHP s&#8217;est rapidement imposé comme le langage de référence pour la création de sites web dynamiques.
Destinée aussi bien aux novices qu&#8217;aux utilisateurs avancés, cette bible passe en revue l&#8217;univers du langage, en délivrant, tout d&#8217;abord, les bases élémentaires pour intégrer le code PHP au HTML, [...]]]></description>
			<content:encoded><![CDATA[<p><img src='/wp-content/uploads/2007/04/biblephp.gif' alt='La Bible du PHP' style="float:left;"/>Utilisé par des millions de programmeurs dans le monde entier, PHP s&#8217;est rapidement imposé comme le langage de référence pour la création de sites web dynamiques.<br />
Destinée aussi bien aux novices qu&#8217;aux utilisateurs avancés, cette bible passe en revue l&#8217;univers du langage, en délivrant, tout d&#8217;abord, les bases élémentaires pour intégrer le code PHP au HTML, utiliser la syntaxe du langage, produire des formulaires, créer des images, insérer un tableau&#8230;<br />
Elle aborde ensuite les fonctionnalités professionnelles de PHP : la réalisation de bases de données (MySQL, PostgreSQL, Oracle, SQL Server, etc.), la manipulation de documents XML, les animations Flash™, la génération de PDF,&#8230;<br />
Cette mine d&#8217;information a été co-écrit par Laurent GUÉDON de Tild Online Sofware.</p>
<h3>Références</h3>
<h4>Programmez (mars 2005)</h4>
<blockquote><p>Voici une bible dédiée à PHP 5. Avant d&#8217;être une bible, c&#8217;est d&#8217;abord une prise en main du langage et de quelques outils de développement. L&#8217;essentiel du livre se concentre sur le langage et ses fonctions : en-tête HTML, fonctions mathématiques, chaînes de caractères, gestion des dates, manipulation de données, messagerie, images, documents PDF, COM, etc. Les derniers chapitres ne manquent pas d&#8217;intérêt. Les auteurs décrivent les méthodes et les possibilités d&#8217;optimisation du code. Côté sécurité, un chapitre se consacre entièrement à l&#8217;obfuscation (très utile dans un site web). Enfin, comme rien ne vaut le concret : une dizaine d&#8217;exemples d&#8217;applications illustrent l&#8217;ensemble des possibilités de PHP.</p></blockquote>
<h4>Le Monde Informatique (13 mai 2005)</h4>
<blockquote><p>PHP 5, de Laurent Guédon, Damien Heute, Thomas Heute et Pierre-Emmanuel Muller, aux Edition Micro Application, est sans doute un des livres les plus complets publiés sur ce langage de script. L&#8217;ouvrage est livré avec un CD-ROM comportant, entre autres, les versions Windows et Linux sans licence GPL de PHP 5.0.2, PHP 4.3.9, MySQL 4.0.52, Apache 2.0.52 et 1.3.31.</p></blockquote>
<h4>Le Journal Du Net</h4>
<blockquote><p>(&#8230;)Ce livre est à recommander aux développeurs web professionnels qui devront utiliser d&#8217;autres solutions que le classique MySQL pour conduire leurs projets.(&#8230;)</p></blockquote>
<h4>PC Magazine (juin 2003)</h4>
<blockquote><p>Une référence pour les développeurs</p>
<p>Pour exploiter au mieux les puissantes fonctions du langage Open source PHP, un créateur de sites web dynamiques a besoins d&#8217;un livre de références. C&#8217;est le rôle de cet imposant ouvrage de 1380p qui détaille les fondements du PHP tels que les opérateurs, les structures de controle, les fonctions, les tableaux, les classes et objets. Ensuite, le lecteur peut apprivoiser les techniques de programmation, les fonctions mathématiques et la manipulation des chaines de caractères. L&#8217;utilisation des bases de données et du langage SQL fait l&#8217;objet d&#8217;un long chapitre. Le traitement de XML, la création de documents PDF et la gestion des protocoles internet (http, soap, ftp, etc.) ne sont pas oubliés.<br />
Chaque fonction, chaque commande est illustrée par des exemples complets qui figurent dans le CD fourni avec le livre.<br />
Les outils nécessaires à la programmation sont également présent sur le CDROM avec les versions windows et Linux de PHP mysql, apache et la plupart des bibliothèques PHP.<br />
Une bible a avoir sous la main pour dynamiser son site web.</p></blockquote>
<h4>Le Monde Informatique (5 décembre 2003)</h4>
<blockquote><p>PHP, de Laurent Guédon, Damien Heute, Thomas Heute et Pierre Emmanuel Muller, publié aux éditions Micro Application dans la collection &#8220;La Bible&#8221;, regroupe tout ce qu&#8217;il faut savoir sur ce langage utilisé par plus d&#8217;un quart des sites Web dans le monde. Remarquablement didactique, l&#8217;ouvrage fait un tour d&#8217;horizon complet des versions 1 à 5 de PHP. Ce pavé de 1,5 kg consacre une cinquantaine de ses 1380 pages à l&#8217;utilisation de PHP en liaison avec la base de données Open Source MySQL, présente sur le CD-Rom offert, aux côtés du serveur Web Apache. Les trois premiers auteurs sont informaticiens, le dernier est journaliste.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/04/03/la-bible-du-php/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Récupérer une base de données MySQL</title>
		<link>http://www.tild.com/2007/03/23/base-de-donnee-mysql-recuperation/</link>
		<comments>http://www.tild.com/2007/03/23/base-de-donnee-mysql-recuperation/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 09:21:40 +0000</pubDate>
		<dc:creator>Tild</dc:creator>
		
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Vous venez de supprimer votre base de données ou vous avez été victime d&#8217;un piratage et vous avez perdu l&#8217;ensemble de vos données. Pas de panique ! Il est possible de reconstituer complètement votre base de données MySQL depuis les logs binaires de cette dernière.
Le log binaire a remplacé l&#8217;ancien système de log de MySQL. [...]]]></description>
			<content:encoded><![CDATA[<p>Vous venez de supprimer votre base de données ou vous avez été victime d&#8217;un piratage et vous avez perdu l&#8217;ensemble de vos données. Pas de panique ! Il est possible de reconstituer complètement votre base de données MySQL depuis les logs binaires de cette dernière.</p>
<p>Le log binaire a remplacé l&#8217;ancien système de log de MySQL. Depuis la version 5 de ce serveur de bases de données OpenSource, les logs textes ne sont plus disponibles.</p>
<p>Les logs contiennent l&#8217;ensemble des modifications (suppressions, modifications et ajouts d&#8217;informations, création de base de données, de tables, etc.) qui sont appliquées à votre serveur.</p>
<p>Ainsi, les logs (comme l&#8217;ancien système de log) contient toutes les requêtes qui modifient les données dans vos bases. Il est donc concevable en executant l&#8217;ensemble des requêtes contenues dans les fichiers binaires, de pouvoir reconstituer complétement vos bases, tables et données comprises.</p>
<p>L&#8217;utilitaire <em>mysqlbinlog</em> permet de lire le fichier binaire et d&#8217;en extraire, dans un format lisible, les informations permettant de reconstituer votre base de données.<br />
Ainsi, en executant la commande suivante vous pouvez directement executer les requêtes contenues dans le fichier de log.<br />
<code>mysqlbinlog /var/log/mysql/mysql-bin.000001 |mysql -u root -p</code></p>
<p>Par contre, si vous aviez malencontresement supprimé une table (<em>DROP TABLE toto;</em>), vos logs vont contenir la ligne en question et la commande précédente va également supprimer votre table. Il faut donc dans un premier temps extraire les requêtes dans un fichier temporaire afin de l&#8217;éditer et de supprimer la requête maudite.<br />
<code>mysqlbinlog /var/log/mysql/mysql-bin.000001 &gt; temp.sql</code></p>
<p>Vous pouvez, ensuite, réinjecter le fichier dans votre base<br />
<code>cat temp.sql |mysql -u root -p</code></p>
<p>Vous pouvez également, si vous avez plusieurs fichiers de log binaire dans un repertoire, écrire un petit script en shell qui va automatiser la construction de votre fichier temporaire.<br />
<code>#!/bin/bash<br />for i in $( ls /var/log/mysql ); do</p>
<p>mysqlbinlog /var/log/mysql/$i &gt;&gt; temp.sql<br />done</code></p>
<p>Attention, cette méthode de récupération de fonctionnera que dans le cas où l&#8217;ensemble des informations de construction de la bases, des tables et des insertions de données sont loguées dans les fichiers. Si vous avez nettoyé, à un moment ou un autre (pour faire de la place par exemple), vos logs, vous ne pourrez sans doute pas reconstituer vos informations à moins d&#8217;en avoir une sauvegarde qui vous permette de réinjecter les requêtes comprisent entre la date de la sauvegarde et celle de l&#8217;incident.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tild.com/2007/03/23/base-de-donnee-mysql-recuperation/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
