<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://methylbro.titaxium.org/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Méthylbro</title>
  <link>http://methylbro.titaxium.org/</link>
  <atom:link href="http://methylbro.titaxium.org/feed/rss2" rel="self" type="application/rss+xml"/>
  <description>Divide ut imperes</description>
  <language>fr</language>
  <pubDate>Fri, 03 Oct 2008 17:41:47 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>AdopteUnMec - Informatique, rencontre et libertés ?</title>
    <link>http://methylbro.titaxium.org/post/2008/10/03/AdopteUnMec-Informatique-rencontre-et-libertes</link>
    <guid isPermaLink="false">urn:md5:3ab92e70de803fbe4c1858e88bbf517c</guid>
    <pubDate>Fri, 03 Oct 2008 14:10:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>adopeunemec</category><category>faille</category><category>image</category><category>internet</category><category>photo</category><category>photographie</category><category>rencontre</category><category>sécurité</category>    
    <description>&lt;p&gt;Souvent ; sur les sites web on trouves des erreurs bêtes, et tellement communes.&lt;br /&gt;
&lt;br /&gt;
Aujourd'hui, je vais vous parler de &lt;a href=&quot;http://methylbro.titaxium.org/post/2008/10/03/www.adopteunmec.com&quot;&gt;adopteunmec.com&lt;/a&gt;. &lt;br /&gt;
Vous savez, ce site de rencontre au concept relativement novateur qui
range les hommes au rang de produits de consommation pour ces dames.&lt;br /&gt;
Bon, je vous l'avoue. Sur les conseils de plusieurs personne je m'y suis inscrit. Mais bref là n'est pas la question.&lt;br /&gt;
&lt;br /&gt;
Au travers de mes visites ; je me suis rendu compte d'un bug qui peut s'avérer gênant. &lt;br /&gt;
Gênant à la fois pour les utilisateurs du site, mais aussi pour la société qui administre ce dernier.&lt;br /&gt;
&lt;br /&gt;
Ce bug permet à n'importe qui de consulter des images qui ont été normalement &quot;supprimés&quot; par un utilisateur.&lt;br /&gt;
Voire même encore plus drôle, ces même photographies illustrant un
compte sont toujours consultables, même une fois le compte en question
supprimé !&lt;/p&gt;
J'ai essayé de contacter par email la société à l'origine du site web, mais aucune réponses.&lt;br /&gt;Je prend donc le risque de publié, même sans autorisation de leur part, une petite explication pour exploiter ce bug.
&lt;p&gt;Tant pis pour eux, moi j'ai ma conscience pour moi. &lt;/p&gt;    &lt;p&gt;En fait, n'importe qui ayant un minimum de jugeote et de connaissance en html pourrais trouver comment faire tout seul.&lt;/p&gt;
&lt;p&gt;Quand je parles de connaissances, c'est vraiment le strict minimum requis. Il suffit juste d'y penser, vous aller voir.&lt;br /&gt;Pour mieux expliquer, je vais prendre comme exemple mon profil sur ce site : http://www.adopteunmec.com/Methylbro&lt;/p&gt;
&lt;p&gt;Affichez la source sur cette page, et regardez du côté de la ligne 314. Cela concerne les paramètres pour l'affichage des photographies du membre en javascript (le petit effet AJAX là).&lt;/p&gt;
&lt;p&gt;Nous avons donc la déclaration suivante :&lt;/p&gt;
&lt;code&gt;var path = 'http://p4.adopteunmec.com/4/9/2/1/0/4/';&lt;br /&gt;var images = [];&lt;br /&gt;images[images.length] = {file:'2.jpg', id:1075519, score:4.5};&lt;br /&gt;images[images.length] = {file:'3.jpg', id:1075523, score:2.5};&lt;br /&gt;images[images.length] = {file:'4.jpg', id:1180577, score:2.5};&lt;br /&gt;images[images.length] = {file:'5.jpg', id:1180579, score:2.5};&lt;br /&gt;images[images.length] = {file:'6.jpg', id:1180581, score:2.5};&lt;br /&gt;images[images.length] = {file:'7.jpg', id:1233771, score:2.5};&lt;br /&gt;images[images.length] = {file:'8.jpg', id:1233825, score:2.5};&lt;/code&gt;
&lt;p&gt;Donc, par supposition avec ces lignes, nous savons que les photos pour se situent dans le répertoire p4.adopteunmec.com/4/9/2/1/0/4/.&lt;/p&gt;
&lt;p&gt;En dessous, nous voyons que les photos dans se répertoires se nomment 2.jpg, 3.jpg et etc.&lt;br /&gt;Mais ou sont passés 1.jpg et les autres ? !&lt;/p&gt;
&lt;p&gt;Après quelques recherches on s'apercevra donc que les photos qui devrais normalement être supprimés et indisponibles le sont encore en réalité !&lt;/p&gt;
&lt;p&gt;Par exemple : &lt;a href=&quot;http://p4.adopteunmec.com/4/9/2/1/0/4/image9.jpg&quot; target=&quot;_blank&quot;&gt;http://p4.adopteunmec.com/4/9/2/1/0/4/image9.jpg&lt;/a&gt; devrais être supprimé sur mon profil ... pourtant, comme vous le voyez, vous pouvez encore la consulter.&lt;/p&gt;
&lt;p&gt;Voilà. Vous pouvez donc voir toutes les photos qui devrais normalement être supprimés, ou même modérés ou pire ! Les photos des comptes supprimés du moment que vous avez l'url de l'une d'entre elles.&lt;/p&gt;
&lt;p&gt;Là ou ce serais bien marrant, et c'est une chose que je n'ai pas encore pris le temps de vérifier. C'est que des moteurs de recherche de type crawler comme google soit autorisés à indexer ces répertoires... Donc vous pensiez avoir supprimé une photo ? Et bien non, celle-ci serais encore disponible via des moteurs de recherche !&lt;/p&gt;
&lt;p&gt;Le web vous surveille je vous dit ^^&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/10/03/AdopteUnMec-Informatique-rencontre-et-libertes#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/10/03/AdopteUnMec-Informatique-rencontre-et-libertes#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/197</wfw:commentRss>
      </item>
    
  <item>
    <title>Phaser 7760 - Comptes d'impression</title>
    <link>http://methylbro.titaxium.org/post/2008/07/22/Phaser-7760-Comptes-dimpression</link>
    <guid isPermaLink="false">urn:md5:fdc7908b81e8d669e84b109f290e04f6</guid>
    <pubDate>Tue, 22 Jul 2008 14:24:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Développement</category>
        <category>7760</category><category>comptes</category><category>compteur</category><category>impression</category><category>Phaser</category><category>php</category><category>Xerox</category>    
    <description>    &lt;p&gt;Vous diposez d'une imprimante &lt;strong&gt;Phaser 7760&lt;/strong&gt; de chez &lt;strong&gt;Xerox&lt;/strong&gt;, et vous souhaitez comptabiliser des impressions dans divers comptes différents ; j'ai la solution.&lt;/p&gt;
&lt;p&gt;Après avoir passé 10minutes à chercher comment faire ; j'ai décidé de me débrouiller par moi même et de faire cela comme un grand avec un petit script &lt;strong&gt;php&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;La seule contrainte dans ma solution, c'est de devoir indiquer &lt;ins&gt;dans chacun des noms de fichiers&lt;/ins&gt; imprimés un identifiant qui sera utilisé comme nom de dossier d'impression.&lt;/p&gt;
&lt;p&gt;Voici donc mon petit tool, si vous avez des idées d'améliorations etc. N'hésitez pas.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/sources/cptimprim.rar&quot;&gt;Compteur D'impressions pour Phaser 7760&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/07/22/Phaser-7760-Comptes-dimpression#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/07/22/Phaser-7760-Comptes-dimpression#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/172</wfw:commentRss>
      </item>
    
  <item>
    <title>Gestion des utilisateurs avec PHP</title>
    <link>http://methylbro.titaxium.org/post/2008/05/12/Gestion-des-utilisateurs-avec-PHP</link>
    <guid isPermaLink="false">urn:md5:bd215bbc1ebb94f6b9449298c3e45c67</guid>
    <pubDate>Mon, 12 May 2008 10:44:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Développement</category>
        <category>php</category><category>POO</category><category>session</category><category>utilisateurs</category>    
    <description>    &lt;div&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/sources/IUM_UserManager.rar&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0 1em 1em 0&quot; height=&quot;48&quot; alt=&quot;IUM User Manager&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/package.png&quot; width=&quot;48&quot; /&gt;&lt;/a&gt;Cela fait quelques jours que je n'ai pas posté de billet. Il faut dire qu'en ce moment je suis un peu pris par mes examens qui commencent cette semaine.&lt;/p&gt;
&lt;p&gt;Là ; je fait un rapide billet pour demander un avis général sur un script que j'écris depuis ces derniers jours. Il s'agit d'une librairie en php permettant de gérer facilement des groupes d'utilisateurs et de leurs attribuer des droits.&lt;/p&gt;
&lt;p style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/sources/IUM_UserManager.rar&quot;&gt;IUM User Manager&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pour le moment je ne donnerais pas d'explications ou de documentation. Ca viendras dans les jours à venir. Néanmoins je serais ravis que les plus aguéris me fasse remonter leur point de vue et leurs critiques.&lt;/p&gt;
&lt;p&gt;PS: Après les exams c'est promis, je me remet dans la rédaction de tutoriels.&lt;/p&gt;
&lt;/div&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/05/12/Gestion-des-utilisateurs-avec-PHP#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/05/12/Gestion-des-utilisateurs-avec-PHP#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/137</wfw:commentRss>
      </item>
    
  <item>
    <title>Colour Scheme Chooser</title>
    <link>http://methylbro.titaxium.org/post/2008/04/23/Colour-Scheme-Chooser</link>
    <guid isPermaLink="false">urn:md5:884813f03f4568f5ce284121649afee5</guid>
    <pubDate>Wed, 23 Apr 2008 01:33:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Graphisme</category>
        <category>color cop</category><category>couleurs</category><category>javascript</category>    
    <description>    &lt;p&gt;Si vous êtes comme moi ; aligner 3 couleurs avec ammonie ne relève pas seulement du casse tête. Mais purement du miracle. Pour le moment ; je me débrouille avec l’excellent (est carrément indispensable)&amp;nbsp;&lt;a href=&quot;http://colorcop.net/&quot; hreflang=&quot;fr&quot;&gt;Color Cop&lt;/a&gt; que nous avait fait découvrir&amp;nbsp;&lt;a href=&quot;http://www.titaxium.com/forum/index.php?showuser=1435&quot; hreflang=&quot;fr&quot;&gt;Eltasia&lt;/a&gt; sur&amp;nbsp;&lt;a href=&quot;http://titaxium.org/&quot; hreflang=&quot;fr&quot;&gt;TitaXium&lt;/a&gt; il y a désormais quelques années.&lt;/p&gt;
&lt;p&gt;Aujourd’hui j’ai découvert un nouvel outil tout aussi intéressant. Il s’agit d’un petit outil disponible en JavaScript qui vous donneras en quelques cliques d’harmonieux assortiments de coleurs.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.siteprocentral.com/html_color_code.html&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0 auto&quot; height=&quot;122&quot; alt=&quot;Colour Scheme Chooser&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/.palette_s.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/23/Colour-Scheme-Chooser#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/23/Colour-Scheme-Chooser#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/109</wfw:commentRss>
      </item>
    
  <item>
    <title>PHP et la Gestion Des Erreurs</title>
    <link>http://methylbro.titaxium.org/post/2008/04/22/PHP-et-la-Gestion-Des-Erreurs</link>
    <guid isPermaLink="false">urn:md5:8edae542888f5f4e80416f9876d31129</guid>
    <pubDate>Tue, 22 Apr 2008 19:11:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>php</category>    
    <description>&lt;p&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0 1em 0em 0&quot; height=&quot;113&quot; alt=&quot;Elephant PHP&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/php.png&quot; width=&quot;152&quot; /&gt;Du Warning généré par défaut par l’interpréteur PHP aux Exceptions que jettent vos classes ; gérer les erreurs et les comportements imprévus dans votre application est quelque chose de primordial. &lt;/p&gt;
&lt;p&gt;C’est un des points que vous ne devez pas négligez ; car connaitre les erreurs qui se produisent dans votre programme c’est la première étape avant de pouvoir les corriger.&lt;/p&gt;    &lt;p&gt;Mes années d’expérience au sein de Titaxium m’ont fait voir beaucoup d’horreurs. L’une des mauvaises pratiques les plus courantes étant de négliger les messages d’erreurs. Voire des les ignorer totalement. Pourtant, désactiver un message d’erreur ne veux pas dire que vous avez résolu le problème !&lt;/p&gt;
&lt;p&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 0 1em 0em 0&quot; alt=&quot;PHP 5 Avancé&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/.php5-avance_t.jpg&quot; /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Une bonne gestion des erreurs est l’un des points qui démarquent un bon développeur d’un simple amateur. Une telle implémentation est un signe de sérieux et un gage de réussite. &lt;/p&gt;
&lt;p&gt;Effectivement, les erreurs sont le signal d’alarme d’un mauvais fonctionnement ou d’une incohérence dans votre logique. Etre averti d’une erreur vous permettra de la traquer, de déceler une faille de sécurité, de repérer un défaut de configuration, voire d’être averti de l’arrêt d’un service.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;TEXT-ALIGN: right&quot;&gt;&lt;a href=&quot;http://www.eyrolles.com/Informatique/Livre/9782212121674/livre-php-5-avance.php&quot; hreflang=&quot;fr&quot;&gt;PHP5 Avancé - 4éme édition&lt;/a&gt;&amp;nbsp;(&lt;a href=&quot;http://eric.daspet.name/&quot; hreflang=&quot;fr&quot;&gt;Eric Daspet&lt;/a&gt; et &lt;a href=&quot;http://www.cyruss.com/blog/&quot; hreflang=&quot;fr&quot;&gt;Cyril Pierre de Geyer&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;Cette semaine nous verrons comment vivre avec ces messages d’erreurs. Si vous n’êtes pas convaincu de leur utilité ; vous allez vite changer d’avis. Et découvrir tout ce qu’ils peuvent vous permettre de réaliser. &lt;/p&gt;
&lt;p&gt;Traiter ces messages ; les enregistrer au sein d’un journal… Ce n’est pas une perte de temps. Que ce soit :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;En cours de développement (ou ils vous apportent des informations sur l’état de votre code), &lt;/li&gt;
&lt;li&gt;Pendant les phases de tests (ou ils vous signalent des comportements imprévus),&lt;/li&gt;
&lt;li&gt;Où directement en phase de production (ou les journaux d’erreurs sont parfois les seules trace d’une attaque)&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0 auto&quot; alt=&quot;La gestion des erreurs&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/fig-gestion_err.png&quot; /&gt;&lt;/div&gt;
&lt;p&gt;Les messages d’erreurs sont des outils indispensable dans le développement d’un programme (car c’est une nécessitée plus générale).&lt;/p&gt;
&lt;p&gt;Vous verrez ; les messages d’erreurs sont vos amis. Vos alliés.&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/22/PHP-et-la-Gestion-Des-Erreurs#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/22/PHP-et-la-Gestion-Des-Erreurs#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/108</wfw:commentRss>
      </item>
    
  <item>
    <title>Dotclear, Multiblogs et Sécurité</title>
    <link>http://methylbro.titaxium.org/post/2008/04/20/Dotclear-Multiblogs-et-Securite</link>
    <guid isPermaLink="false">urn:md5:fa16f641e9c6239a6f30840564c7e6fb</guid>
    <pubDate>Sun, 20 Apr 2008 10:00:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Développement</category>
        <category>apache</category><category>dotclear</category><category>php</category><category>sécurité</category>    
    <description>    &lt;div&gt;Comme vous le savez ; notre plateforme de blogs utilise l’excellent moteur libre &lt;a href=&quot;http://www.dotclear.net/&quot; hreflang=&quot;fr&quot;&gt;Dotclear&lt;/a&gt;. Multiutilisateurs ; multi blogs ; offrant la possibilité d’ouvrir au public les inscriptions avec un simple plugin. C’était pour nous le choix idéal.&lt;/div&gt;
&lt;p&gt;En plus c’est Français. Et je soutiens toujours les produits issus le de l’hexagone. C’est comme ca ; je suis chauvin.&lt;/p&gt;
&lt;p&gt;Bon ; voilà le problème qui m’est apparu (comme une révélation) cette semaine. En utilisant une telle architecture ; il était possible à n’importe qui de charger ; puis d’exécuter des fichiers PHP sur le serveur. C’est ennuyeux comme vous pouvez l’imaginer. &lt;/p&gt;
&lt;p&gt;Je suis sur qu’a première vu ; vous vous dites « mais pourquoi l’équipe de &lt;a href=&quot;http://www.dotclear.net/&quot; hreflang=&quot;fr&quot;&gt;Dotclear &lt;/a&gt;n’a pas interdit de charger des fichiers .php et etc ». Oui mais moi je veux pouvoir charger ce type de fichiers sur mon blog ! Je veux pouvoir proposer des fichiers .php à mes visiteurs. En lecture, sans qu’ils ne soient interprétés par le moteur PHP.&lt;/p&gt;
&lt;p&gt;La solution c’est donc vite imposé. Il suffisait de dire à apache de compétemment désactiver le moteur php sur les répertoires publics des divers blogs utilisateurs. &lt;/p&gt;
&lt;p&gt;Pour aller plus vite ; et pour être plus radical ; nous avons donc décidé de modifier notre httpd.conf (mais on pourrais utiliser des fichiers .htaccess pour désactiver php blog après blog) :&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;&amp;lt;Directory %blogspath%/*/public&amp;gt;&lt;br /&gt;&amp;nbsp; php_value engine off&lt;br /&gt;&amp;nbsp; AddType text/plain .php .phtml .php3 .php5 .phps .txt&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;/p&gt;
&lt;/code&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/20/Dotclear-Multiblogs-et-Securite#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/20/Dotclear-Multiblogs-et-Securite#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/91</wfw:commentRss>
      </item>
    
  <item>
    <title>Ergonomie Web</title>
    <link>http://methylbro.titaxium.org/post/2008/04/19/Ergonomie-Web</link>
    <guid isPermaLink="false">urn:md5:7fc0f6a7d56d18b660367d4cb972131d</guid>
    <pubDate>Sat, 19 Apr 2008 15:13:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Lectures</category>
        <category>Ergonomie</category><category>Livre</category>    
    <description>&lt;p&gt;Souvent ; des livres ; des tutoriels ou des articles marquent un tournant dans notre point de vue sur notre passion (ou notre métier pour certains). &lt;/p&gt;
&lt;p&gt;Ici ; il s’agit d’un livre que je conseille à tous les graphistes ; à tous les développeurs et à tous les consultants de Titaxium. Et même plus généralement à tous les gens qui pourront me lire.&lt;/p&gt;    &lt;p&gt;&lt;a href=&quot;http://www.eyrolles.com/Informatique/Livre/9782212121582/livre-ergonomie-web.php&quot; hreflang=&quot;fr&quot;&gt;&lt;img style=&quot;FLOAT: left; MARGIN: 1em 1em 2em 0&quot; alt=&quot;&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/.ergonomie_web_t.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.ergonomie-sites-web.com/&quot; hreflang=&quot;fr&quot;&gt;Ergonomie Web&lt;/a&gt;&amp;nbsp;d’&lt;a href=&quot;http://www.ergolab.net/&quot; hreflang=&quot;fr&quot;&gt;Amélie Boucher&lt;/a&gt; (aux &lt;a href=&quot;http://www.editions-eyrolles.com/&quot; hreflang=&quot;fr&quot;&gt;Editions Eyrolles&lt;/a&gt;) va changer votre vision de la conception de sites web. &lt;/p&gt;
&lt;p&gt;Car il remet en question toutes les évidences et les règles de conceptions que l’on trouve un peu partout sur la toile. &lt;/p&gt;
&lt;p&gt;Il vous sensibilisera à ce qui est en soit primordial dans la conception d’un site web : l’&lt;strong&gt;ergonomie&lt;/strong&gt;.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Un livre de qualité ; qui vous apprendras foule de concepts théoriques et d’applications pratique que vous soyez Développeurs comme moi ; ou Graphiste.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Quelles règles pour séduire et fidéliser vos visiteurs ? &lt;br /&gt;Tout site Internet doit réussir le pari difficile de satisfaire ses visiteurs. Mais comment connaître ces derniers ? Comment se mettre à leur place ? Comment concevoir un site si agréable et efficace qu’il donne envie d’y rester et d’y revenir ?&lt;br /&gt;Grâce aux conseils pratiques et méthodologiques de cet ouvrage, comprenez et appliquez l’ergonomie web sur le terrain !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Vos préjugés vont en prendre un coup !&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/19/Ergonomie-Web#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/19/Ergonomie-Web#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/90</wfw:commentRss>
      </item>
    
  <item>
    <title>Introduction à la POO avec PHP - Partie 6</title>
    <link>http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-6</link>
    <guid isPermaLink="false">urn:md5:14618da84b64db5f31752a7526cd1ead</guid>
    <pubDate>Sat, 19 Apr 2008 06:30:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>php</category><category>POO</category>    
    <description>&lt;p&gt;Si vous avez suivis tous mes billets sur la POO avec PHP de cette semaine (voir le billet &lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP&quot; hreflang=&quot;fr&quot;&gt;Introduction à la POO avec PHP&lt;/a&gt;)&amp;nbsp;; vous devez maintenant être en mesure d’écrire vos premières classes. De définir vos premiers objets. Bref ; d’entrer dans le monde de la &lt;strong&gt;Programmation Orienté Objet&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Aujourd’hui suite et fin de cette série de billet. Aujourd’hui ; cours pratique. Créons notre classe &lt;em&gt;Stylo&lt;/em&gt; !&lt;/p&gt;    &lt;h1&gt;Exemple&lt;/h1&gt;
&lt;p&gt;Maintenant ; vous avez en main tous les clés pour comprendre le détail de ma classe d’exemple.&lt;/p&gt;
&lt;div&gt;&lt;code&gt;
&lt;div&gt;class Stylo {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; static private $niveau_encre_max = 100;&lt;br /&gt;&amp;nbsp; static private $niveau_encre_min = 25;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; private $niveau_encre;&lt;br /&gt;&amp;nbsp; protected $couleur_normale = '#000000';&lt;br /&gt;&amp;nbsp; protected $couleur_fin = '#C0C0C0';&lt;br /&gt;&amp;nbsp; public $statut;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&amp;nbsp; private function peutEcrire() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!$this-&amp;gt;statut) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } elseif ($this-&amp;gt;niveau_encre&amp;lt;=0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $result;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; public function __construct() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;statut = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;niveau_encre = self::$niveau_encre_max;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; public function click() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($this-&amp;gt;statut) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;statut = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;statut = true;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&amp;nbsp; public function ecrire($texte) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($this-&amp;gt;peutEcrire()) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo '&amp;lt;p style=&quot;color:'.$this-&amp;gt;couleur_normale.'&quot;&amp;gt;';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $nb_caracteres = strlen($texte);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $texte = htmlentities($texte);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $texte = str_split($texte);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $i = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while($this-&amp;gt;peutEcrire() &amp;amp;&amp;amp; $i&amp;lt;=$nb_caracteres) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($this-&amp;gt;niveau_encre==self::$niveau_encre_min) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $format = '&amp;lt;span style=&quot;color:'.$this-&amp;gt;couleur_fin.'&quot;&amp;gt;%s';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $format = &quot;%s&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf($format, $texte[$i]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $i++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;niveau_encre --;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($this-&amp;gt;niveau_encre&amp;lt;=self::$niveau_encre_min) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;&amp;lt;/span&amp;gt;&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &quot;&amp;lt;/p&amp;gt;\n&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;$monBic = new Stylo();&lt;br /&gt;$monBic-&amp;gt;ecrire(‘Essayez d\’écrire sans enlever le capuchon…’) ;&lt;/div&gt;
&lt;div&gt;$monBic-&amp;gt;click() ;&lt;/div&gt;
&lt;div&gt;$monBic-&amp;gt;ecrire(‘Un premier paragraphe.’) ;&lt;br /&gt;$monBic-&amp;gt;ecrire(‘Un second paragraphe qui n\’iras pas jusque au bout car mon stylo va certainement manquer d’encre.’);&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;$monBic-&amp;gt;click() ;&lt;/div&gt;&lt;/code&gt;&lt;/div&gt;
&lt;h1&gt;Conclusion&lt;/h1&gt;
&lt;p&gt;La plupart des développeurs qui ne développent pas encore en POO expliquent souvent que ; pour qu'il leur est plus &quot;naturel&quot; de concevoir et de lire un code &lt;strong&gt;procédural&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;C’est une fausse excuse. Sur un projet de taille un peu conséquente ; il sera plus facile de manipuler des objets et des entités logique. Ainsi que plus facile à écrire ; et&amp;nbsp;à naviguer au sein de ces entités. Que de se retrouver au milieu d’une foule de procédures ; complexifiant le code ; et très souvent même consommant trop de ressources.&lt;/p&gt;
&lt;p&gt;De plus ; l’exemple utilisé dans cet article démontre bien que ; grâce au concept objet ; vous pouvez intégrer &lt;strong&gt;absolument tous les cas&lt;/strong&gt; que vous aurez à traiter. Et ce ; en &lt;strong&gt;quelques minutes&lt;/strong&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-6#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-6#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/60</wfw:commentRss>
      </item>
    
  <item>
    <title>Introduction à la POO avec PHP - Partie 5</title>
    <link>http://methylbro.titaxium.org/post/2008/04/18/Introduction-a-la-POO-avec-PHP-Partie-5</link>
    <guid isPermaLink="false">urn:md5:51f4cc5da412eacdd8efc850fd5d74b2</guid>
    <pubDate>Fri, 18 Apr 2008 00:29:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>construct</category><category>php</category><category>POO</category>    
    <description>&lt;p&gt;A l’heure ou le premier billet de cette série commence à être référencé (&lt;a href=&quot;http://www.google.com/search?q=poo+avec+php&quot; hreflang=&quot;fr&quot;&gt;google&lt;/a&gt;) ; nous allons voir le dernier concept que vous devez connaitre avant de pouvoir commencer à écrire vos propres classes. &lt;/p&gt;
&lt;p&gt;Et comme promis&amp;nbsp;&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP&quot; hreflang=&quot;fr&quot;&gt;lundi&lt;/a&gt; ; demain vous devrez être en mesure d’écrire votre première classe ! Et nous verrons ca ensemble.&lt;/p&gt;    &lt;h1&gt;Les concepts généraux de la POO (suite)&lt;/h1&gt;
&lt;h2&gt;Le Constructeur&lt;/h2&gt;
&lt;p&gt;Le moteur objet de PHP implémente toute une série de méthodes dites « magiques » (__construct(), __destruct(), __sleep(), __serialize(), __call() …). Ici nous allons parler de __construct() : le constructeur.&lt;/p&gt;
&lt;p&gt;Lorsque vous créer une nouvelle &lt;strong&gt;instance de classe&lt;/strong&gt; (voir le paragraphe « classe et instance de classe) ; vous pouvez dores et déjà exécuter des opérations. Par exemple ; instancier des &lt;strong&gt;propriétés&lt;/strong&gt; avec les valeurs de votre choix. Bien entendu ; il n’est pas interdit de passer des paramètres à cette méthode.&lt;/p&gt;
&lt;p&gt;Pour illustrer ; nous allons définir la couleur de notre stylo lors de sa création :&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;class Stylo {&lt;br /&gt;&amp;nbsp; private $niveau_encre ;&lt;br /&gt;&amp;nbsp; private $couleur ;&lt;br /&gt;&amp;nbsp; private $statut ;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; function __construct($couleur) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // la propriété $couleur de l’instance de classe concerné&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // prendra la valeur passé en paramètre au constructeur.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;couleur = $couleur;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;// Nous allons créer un nouvel objet de type Stylo ;&lt;br /&gt;// avec en paramètre sa couleur.&lt;br /&gt;$monStyloNoir = new Stylo(‘#000000’) ;&lt;/p&gt;
&lt;/code&gt;
&lt;p&gt;En php4 ; le constructeur ne sera pas appelé de la même manière. Il ne devra pas s’appeler __construct(), il devra porter le même nom que celui que vous avez donné à votre classe.&lt;/p&gt;
&lt;p&gt;&lt;a lang=&quot;fr&quot; href=&quot;http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-6&quot;&gt;Lire la suite&lt;/a&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/18/Introduction-a-la-POO-avec-PHP-Partie-5#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/18/Introduction-a-la-POO-avec-PHP-Partie-5#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/59</wfw:commentRss>
      </item>
    
  <item>
    <title>Introduction à la POO avec PHP - Partie 4</title>
    <link>http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-4</link>
    <guid isPermaLink="false">urn:md5:cfe0000ac3ccf93908fe45c4a80a0dea</guid>
    <pubDate>Thu, 17 Apr 2008 06:30:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>php</category><category>POO</category><category>static</category>    
    <description>&lt;p&gt;Un article par jour pendant une semaine. Je m’y tiens autant que faire ce peut à ce rythme. Aujourd’hui donc ; 4éme jour. Et voici la suite de notre série de billets consacré à la Programmation Orienté Object avec PHP. &lt;/p&gt;    &lt;h1&gt;Les concepts généraux de la POO (suite)&lt;/h1&gt;
&lt;h2&gt;Les éléments Statiques&lt;/h2&gt;
&lt;p&gt;Un élément statique ; sera le même pour toutes les instances d’une même classe. Il peut aussi bien être une propriété ou une méthode. Et sera défini comme statique par le mot clé &lt;strong&gt;static&lt;/strong&gt;. C’est en fait exactement le même principe que les variables statique au sein des fonctions ; sauf qu’ici cela s’applique aussi à vos classes.&lt;/p&gt;
&lt;h3&gt;Les propriétés statique&lt;/h3&gt;
&lt;p&gt;Si vous définissez une propriété comme statique ; elle aura toujours la même valeur ; quelle que soit les instances de votre classe. Et vous pourrez même la modifier ou la lire sans passer par l’une de ses instances. &lt;/p&gt;
&lt;p&gt;Pour accéder ces propriétés statiques ; il est conseillé d’utiliser l’opérateur de résolution de portée.&lt;br /&gt;Pour plus d’informations : &lt;a href=&quot;http://fr.php.net/manual/fr/language.oop5.paamayim-nekudotayim.php&quot;&gt;http://fr.php.net/manual/fr/language.oop5.paamayim-nekudotayim.php&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Dans notre exemple ; si je définis la propriété Stylo ::couleur comme statique ; l’effet sera le suivant :&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;Class Stylo {&lt;br /&gt;&amp;nbsp; static public $couleur ;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;// Je crée un stylo ; puis je met la couleur à FF00FF&lt;br /&gt;$stylo1 = new Stylo() ;&lt;br /&gt;$stylo1-&amp;gt;couleur = ‘#FF00FF’ ;&lt;/p&gt;
&lt;p&gt;// Je crée un autre stylo ; puis je change la couleur pour 00FFFF&lt;br /&gt;$stylo2 = new Stylo() ;&lt;br /&gt;$stylo2-&amp;gt;couleur = ‘#00FFFF’ ;&lt;/p&gt;
&lt;p&gt;// J’affiche la couleur des deux stylos.&lt;br /&gt;echo $stylo1-&amp;gt;couleur ; // Affiche #00FFFF&lt;br /&gt;echo $stylo2-&amp;gt;couleur ; // Affiche #00FFFF&lt;/p&gt;
&lt;p&gt;// Je change encore une fois la couleur&lt;br /&gt;Stylo::couleur = ‘#000000’;&lt;br /&gt;echo $stylo1-&amp;gt;couleur ; // Affiche #000000&lt;br /&gt;echo $stylo2-&amp;gt;couleur ; // Affiche #000000&lt;/p&gt;
&lt;/code&gt;
&lt;h4&gt;Les méthodes statique&lt;/h4&gt;
&lt;p&gt;Les méthodes statiques sont utilisées généralement pour définir plus d’un constructeur. Nous ne attarderons pas plus dessus dans cet article. Sachez simplement qu’elles existent.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/18/Introduction-a-la-POO-avec-PHP-Partie-5&quot; lang=&quot;fr&quot;&gt;Lire la suite&lt;/a&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-4#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-4#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>Mademoiselle K</title>
    <link>http://methylbro.titaxium.org/post/2008/04/16/Mademoiselle-K</link>
    <guid isPermaLink="false">urn:md5:3c9d105f88c0f261590c5ee51a5d38c1</guid>
    <pubDate>Wed, 16 Apr 2008 19:23:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Mademoiselle K</category><category>mp3</category><category>musique</category><category>rock</category>    
    <description>&lt;p&gt;Les jeunes artistes rock (de qualité) son rares. Suffisamment rares pour que ; lorsque une nouvelle tête sort du lot ; cela mérite un petit billet. Un petit coup de pouce. &lt;/p&gt;
&lt;p&gt;On sait qu’il y a environ 3 ans maintenant ; internet (et la « blogosphère ») ont était un facteur déterminant dans le succès de la jeune chanteuse Anaïs et de son Spectacle bon marché (traduisez « Cheap Show »).&lt;/p&gt;    &lt;p&gt;J’ai découvert il y a quelques semaines (un peu par hasard) une jeune artiste talentueuse :&amp;nbsp;&lt;a href=&quot;http://www.myspace.com/01mademoisellek&quot; hreflang=&quot;fr&quot;&gt;Mademoiselle K&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Qui dans son album&amp;nbsp;&lt;a href=&quot;http://www.myspace.com/01mademoisellek&quot; hreflang=&quot;fr&quot;&gt;Ca Me Vexe&lt;/a&gt; nous propose enfin de vrai sons de guitares soignés (c’est rare pour du rock depuis ces dernières années). Ca me rappelle ce que l’on savait faire dans les années 70 avant que l’électro-musique ne s’en mêle. &lt;/p&gt;
&lt;p&gt;Bref ; vous l’aurez compris. Je suis conquis ; et je n’ai que de bonnes critiques. &lt;/p&gt;
&lt;p&gt;Maintenant ; comme ont dit &quot;&lt;em&gt;l’égout et les couleurs&lt;/em&gt;&quot; (à moins que ce ne soit &quot;&lt;em&gt;les goûts et les couleurs&lt;/em&gt;&quot;…&amp;nbsp; je ne sais jamais) ca ne se discute pas. Je vous propose donc un petit extrait. &lt;/p&gt;
&lt;p style=&quot;DISPLAY: block; MARGIN: 0 auto; TEXT-ALIGN: center&quot;&gt;&lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/son/MademoiselleK_CaMeVexe_extrait.mp3&quot;&gt;&lt;img height=&quot;100&quot; alt=&quot;Mademoiselle K - Ca Me Vexe&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/.mademoiselleK-camevexe_t.jpg&quot; width=&quot;100&quot; /&gt;&lt;/a&gt;&lt;br /&gt;écouter l'extrait&amp;nbsp;&lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/son/MademoiselleK_CaMeVexe_extrait.mp3&quot;&gt;.mp3&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A &lt;del&gt;télécharger&lt;/del&gt; acheter d’urgence, légalement sur un site de vente de musique en ligne bien évidement.&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/16/Mademoiselle-K#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/16/Mademoiselle-K#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/82</wfw:commentRss>
      </item>
    
  <item>
    <title>Introduction à la POO avec PHP - Partie 3</title>
    <link>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-3</link>
    <guid isPermaLink="false">urn:md5:630b7af7f7d46dfd076c776f4044e722</guid>
    <pubDate>Wed, 16 Apr 2008 06:00:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>class</category><category>classe</category><category>php</category><category>POO</category><category>private</category><category>protected</category><category>public</category>    
    <description>&lt;p&gt;Vous le savez ; depuis lundi je m’efforce de faire découvrir à ceux qui ne le connaissent pas le monde le la Programmation Orienté Objet (&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP&quot; hreflang=&quot;fr&quot;&gt;voir ce billet&lt;/a&gt;). Une série de billet à l’occasion de la sortie cette semaine de la nouvelle version de Titaxium.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lundi : &lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP&quot; hreflang=&quot;fr&quot;&gt;Introduction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mardi : &lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-2&quot; hreflang=&quot;fr&quot;&gt;Les Concepts Généraux de la POO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;Aujourd’hui ; troisième Opus. &lt;/div&gt;    &lt;h1&gt;Les concepts généraux de la POO (suite)&lt;/h1&gt;
&lt;h2&gt;Porté des éléments&lt;/h2&gt;
&lt;p&gt;Il est possible de contrôler la visibilité des éléments de votre classe au sein de votre code. Pour ce faire nous allons découvrir de nouveaux mots clés.&lt;/p&gt;
&lt;p&gt;Si vous avez déjà pu lire du code source PHP écris avec de la POO ; vous avez sans doutes vu apparaitre des mots comme « &lt;strong&gt;public&lt;/strong&gt; », « &lt;strong&gt;private&lt;/strong&gt; » ou encore « &lt;strong&gt;protected&lt;/strong&gt; ».&lt;/p&gt;
&lt;p&gt;Ces mots clé sont utilisés pour définir la &lt;strong&gt;&lt;ins&gt;visibilité&lt;/ins&gt;&lt;/strong&gt; de vos éléments. J’entends par éléments ; les &lt;strong&gt;propriétés&lt;/strong&gt; et les &lt;strong&gt;méthodes&lt;/strong&gt; de votre classe. L’intérêt est de pouvoir limiter l’accès à ces éléments en fonction de l’endroit dans le code ou vous en faites appel.&lt;/p&gt;
&lt;p&gt;Vous pouvez restreindre la &lt;strong&gt;visibilité&lt;/strong&gt; de vos éléments selon les trois niveaux suivant :&lt;/p&gt;
&lt;h3&gt;Public&lt;/h3&gt;
&lt;p&gt;De n’importe où cet élément sera visible. A n’importe quel moment dans votre programme vous pourrez venir utiliser un élément défini comme public.&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;class Stylo {&lt;br /&gt;&amp;nbsp; public $niveau_encre = 1;&lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;$unStylo = new Stylo();&lt;br /&gt;echo $unStylo-&amp;gt;niveau_encre; // Affiche 1&lt;br /&gt;&lt;br /&gt;$unStylo-&amp;gt;niveau_encre = 0;&lt;br /&gt;echo $unStylo-&amp;gt;niveau_encre; // Affiche 0&lt;/p&gt;
&lt;/code&gt;
&lt;h3&gt;Private&lt;/h3&gt;
&lt;p&gt;Si vous choisissez cette option ; votre élément ne sera visible &lt;strong&gt;uniquement par votre classe&lt;/strong&gt;. De la même manière que ; dans un développement procédural ; vous déclarez (par défaut) et utilisez une variable au sein d’une fonction. Cette variable ne sera visible et utilisable uniquement au sein de votre fonction ; et pour une utilisation de celle-ci.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;class Stylo {&lt;br /&gt;&amp;nbsp; private $niveau_encre = 1;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; function test() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $this-&amp;gt;niveau_encre ;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$unStylo = new Stylo();&lt;br /&gt;&lt;br /&gt;echo $unStylo-&amp;gt;niveau_encre; &lt;br /&gt;// Affiche l’erreur :&lt;br /&gt;// Cannot Access private property&lt;br /&gt;&lt;br /&gt;$unStylo-&amp;gt;test() ; // Affiche 1&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Protected&lt;/h3&gt;
&lt;p&gt;Ce type de visibilité est associé aux concepts d’héritages et de polymorphisme que nous ne traiterons pas dans cet article.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Par défaut en PHP ; tous vos éléments prendront la visibilité public.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/14/Introduction-a-la-POO-avec-PHP-Partie-4&quot; hreflang=&quot;fr&quot;&gt;Lire la suite&lt;/a&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-3#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-3#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>FireFox et window.close()</title>
    <link>http://methylbro.titaxium.org/post/2008/04/15/FireFox-et-windowclose</link>
    <guid isPermaLink="false">urn:md5:0ed39bd2d24db213dead48dd88b77bee</guid>
    <pubDate>Tue, 15 Apr 2008 10:48:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Développement</category>
        <category>FireFox</category><category>IE</category><category>javascript</category><category>window.close()</category>    
    <description>&lt;p&gt;Firefox est un navigateur idiot. Je ne l'ai jamais aimé ; je ne l'aimerais sans doute jamais.&amp;nbsp;Et je m'assume.&lt;/p&gt;
&lt;p&gt;Sans faire de la polémique de bas étage ... je vais critiquer royalement FireFox. C'est un comportement idiot de ma part ; mais ca aura le mérite de me défouler un peu.&lt;/p&gt;
&lt;p&gt;Si l'on s'en réfère à la théorie ; fermer une fenêtre avec javascript c'est facile. Quenéni brave gens ! C'est sans compter sur la guerre sempiternelle que ce livre nos deux grand browsers concurrents ! Les bien nommés Gecko et IE.&lt;/p&gt;    &lt;p&gt;Théoriquement donc ; si l'on regarde la documentation de javascript ; pour fermer une fenêtre ; il suffit de dire&amp;nbsp;&lt;a href=&quot;http://www.toutjavascript.com/reference/reference.php?ref=close&amp;amp;parent=6&quot; hreflang=&quot;fr&quot;&gt;window.close()&lt;/a&gt; ; fastoche. Seulement ; FireFox ; rusé comme un renard vous répond &quot;et non l'ami ! trop simple !&quot;. Je lui ajouterais bien un peu d'essence pour le faire cramer plus vite moi.&lt;/p&gt;
&lt;p&gt;Donc ; théoriquement ; pour fermer une fenêtre on ferais quelque chose du genre :&lt;/p&gt;
&lt;div&gt;&lt;code&gt;function fermerFenetre() {&lt;br /&gt;&amp;nbsp; if (confirm(&quot;Etes-vous sur de vouloir quitter ?&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.close();&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;script langage=&quot;javascript&quot;&gt;
function fermerFenetre1() {
if (confirm(&quot;Etes-vous sur de vouloir quitter ?&quot;)) {
window.close();
}
}
&lt;/script&gt;
&lt;p&gt;&lt;a onclick=&quot;javascript:fermerFenetre1()&quot; href=&quot;http://methylbro.titaxium.org/#&quot;&gt;exemple&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Oui mais voilà ; sous IE (ou&amp;nbsp;&lt;a href=&quot;http://rd.avantbrowser.cn/&quot; hreflang=&quot;fr&quot;&gt;Avant Browser&lt;/a&gt; dans mon cas. Ce qui revient au même ; car même moteur) tout fonctionne comme prévu. Mais sous FireFox&amp;nbsp;: rien. Il ne considère même pas ca comme une erreur. Il ignore juste votre commande. La seule solution que j'ai trouvé ; pour avoir un effet similaire avec Firefox ; ce n'est pas de fermer la fenêtre ... Mais d'en ouvrir une ! Bah oui ; pas le choix. Il ignore complètement notre commande&amp;nbsp;&lt;a href=&quot;http://www.toutjavascript.com/reference/reference.php?ref=close&amp;amp;parent=6&quot; hreflang=&quot;fr&quot;&gt;window.close()&lt;/a&gt; ; donc on va lui dire d'ouvrir un &lt;a href=&quot;about:blank&quot; hreflang=&quot;fr&quot;&gt;about:blank&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;function fermerFenetre() {&lt;br /&gt;&amp;nbsp; if (confirm(&quot;Etes-vous sur de vouloir quitter ?&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.open('about:blank','_parent','');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.close();&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;script langage=&quot;javascript&quot;&gt;
function fermerFenetre2() {
if (confirm(&quot;Etes-vous sur de vouloir quitter ?&quot;)) {
window.open('about:blank','_parent','');
window.close();
}
}
&lt;/script&gt;
&lt;a onclick=&quot;javascript:fermerFenetre2()&quot; href=&quot;http://methylbro.titaxium.org/#&quot;&gt;
&lt;p&gt;exemple&lt;/p&gt;
&lt;/a&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/15/FireFox-et-windowclose#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/15/FireFox-et-windowclose#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/73</wfw:commentRss>
      </item>
    
  <item>
    <title>Introduction à la POO avec PHP - Partie 2</title>
    <link>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-2</link>
    <guid isPermaLink="false">urn:md5:ffcadccb82724c37cdf2e3150dac6b61</guid>
    <pubDate>Tue, 15 Apr 2008 06:30:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>$this</category><category>class</category><category>classe</category><category>fonction</category><category>méthode</category><category>objet</category><category>php</category><category>POO</category><category>propriété</category>    
    <description>&lt;blockquote&gt;
&lt;p&gt;La programmation orientée objet (POO) ou programmation par objet, est un paradigme de programmation informatique qui consiste en la définition et l'assemblage de briques logicielles appelées objet ; un objet représente un concept, une idée ou toute entité du monde physique, comme une voiture, une personne ou encore une page d'un livre.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://fr.wikipedia.org/wiki/Programmation_orient%C3%A9e_objet&quot; target=&quot;_blank&quot;&gt;http://fr.wikipedia.org/wiki/Programmation_orientée_objet&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ou bien d'un simple stylo !&lt;br /&gt;Comme promis&amp;nbsp;(&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP/&quot; hreflang=&quot;fr&quot;&gt;Introduction à la POO avec PHP - Partie 1&lt;/a&gt;) ; voici la deuxième partie de cette série de billets dédiés à la Programmation Orienté Objet avec PHP. &lt;/p&gt;    &lt;h1&gt;Les concepts généraux de la POO&lt;/h1&gt;
&lt;h2&gt;Classe et instance de classe&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Comme vous pouvez l’imaginer ; avant de pouvoir utiliser un objet ; nous allons devoir définir le type de cet objet.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;C’est à ce niveau que la compréhension risque d’être la moins évidente et la plus difficile. Il va falloir distinguer le &lt;strong&gt;type&lt;/strong&gt; d’un objet (entier, réel, booléen etc) de l’objet lui-même (33, 3.14, true etc).&lt;/p&gt;
&lt;p&gt;Lorsque nous définirons le type d’un objet ; nous parlerons de &lt;strong&gt;&lt;ins&gt;classes&lt;/ins&gt;&lt;/strong&gt;. Lorsque nous utiliserons ses classes pour créer et manipuler des objets nous parlerons d’&lt;strong&gt;&lt;ins&gt;instances de classes&lt;/ins&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour illustrer ; je vais reprendre mon exemple des stylos. La classe sera le schéma pour un stylo. Comme un de plan de fabrication, ou d’utilisation. Tandis que l’instance de cette classe sera techniquement le stylo. Donc ; pour le même schéma ; pour la même classe ; vous pouvez avoir plusieurs stylos ; plusieurs &lt;strong&gt;objets&lt;/strong&gt; ou &lt;strong&gt;instances de classe&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;En php définir une classe est aussi simple que de définir une fonction :&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;class Stylo {&lt;br /&gt;&amp;nbsp; // définition des propriétés&lt;br /&gt;&amp;nbsp; // définition des méthodes&lt;br /&gt;}&lt;/p&gt;
&lt;/code&gt;
&lt;p&gt;Une fois la classe définie ; vous pouvez très bien créer un nouvel objet ; une nouvelle instance de votre classe. Pour ce faire ; en php on utilise l’opérateur new.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// $myClassInstance est un nouvel objet de type Stylo&lt;br /&gt;$myClassInstance = new Stylo() ;&lt;/code&gt;&lt;/p&gt;
&lt;h2&gt;Les propriétés&lt;/h2&gt;
&lt;p&gt;Les &lt;strong&gt;propriétés&lt;/strong&gt; sont des variables associés aux &lt;strong&gt;instances&lt;/strong&gt; de vos classes (ceci est une généralité. Nous verrons plus loin que des cas spécifiques sont possibles ; notamment avec le mot clé &lt;em&gt;static&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;Par exemple ; si nous considérons une entité de type Personne. Chaque personnes possède un nom ; un prénom et une date de naissance. Et bien ces informations seront des propriétés de la classe Personne. Chaque instance de Personne possédera donc un nom ; un prénom et une date de naissance.&lt;/p&gt;
&lt;p&gt;Si je reprends mon exemple du stylo ; chaque stylo aura comme propriété un niveau d’encre ; une couleur ; et un statut pour savoir si ma mine est sortie ou capuchée. La définition de ma classe Stylo prendra donc la forme suivante :&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;class Stylo {&lt;br /&gt;&amp;nbsp; var $niveau_encre ;&lt;br /&gt;&amp;nbsp; var $couleur ;&lt;br /&gt;&amp;nbsp; var $statut ;&lt;br /&gt;&amp;nbsp; // définition des méthodes&lt;br /&gt;}&lt;/p&gt;
&lt;/code&gt;
&lt;p&gt;Le mot clés var n’est plus utilisé depuis php5. Cependant il a été conservé pour une compatibilité avec php4. Il est utilisé ici ; juste pour que vous sachiez qu’il existe et pour que vous ne soyez pas surpris si un jour vous le rencontrez.&lt;/p&gt;
&lt;h2&gt;Les méthodes&lt;/h2&gt;
&lt;p&gt;Les &lt;strong&gt;méthodes&lt;/strong&gt; sont des procédures et/ou des fonctions associées aux &lt;strong&gt;instances&lt;/strong&gt; de vos classes. De la même façon que les &lt;strong&gt;propriétés&lt;/strong&gt; ; nous verrons plus loin que cette affirmation est une généralité assujettie à des exceptions.&lt;/p&gt;
&lt;p&gt;Au sein de vos méthodes ; vous pouvez faire appel aux autres éléments (méthodes et ou propriétés) de votre instance de classe à l’aide de l’objet &lt;strong&gt;&lt;ins&gt;$this&lt;/ins&gt;&lt;/strong&gt;. Qui est en fait une référence vers l’instance de classe concernée. &lt;/p&gt;
&lt;p&gt;Par exemple ; nous allons créer une &lt;strong&gt;méthode&lt;/strong&gt; qui renvoie vrai si le niveau d’encre est suffisant pour écrire ; et faux le cas contraire. Vous allez voir que ; a part la possibilité d’accéder aux propriétés de l’objet en cours ; rien ne change comparativement aux fonctions que vous connaissez.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;class Stylo {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; $niveau_encre ;&lt;br /&gt;&amp;nbsp; $couleur ;&lt;br /&gt;&amp;nbsp; $statut ;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; function peutEcrire() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($this-&amp;gt;niveau_encre&amp;lt;=0) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $result =&amp;nbsp;true ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return $result ;&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&lt;br /&gt;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-3&quot; hreflang=&quot;fr&quot;&gt;Lire la suite&lt;/a&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-2#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-2#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Thème WinMobile</title>
    <link>http://methylbro.titaxium.org/post/2008/04/15/Theme-WinMobile</link>
    <guid isPermaLink="false">urn:md5:004b62f99f2bdc9c8d5f043c743785b9</guid>
    <pubDate>Tue, 15 Apr 2008 01:17:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Communauté</category>
        <category>iphone</category><category>qtek</category><category>s100</category><category>thème</category><category>TitaXium</category><category>wil24</category><category>windows mobile</category>    
    <description>    &lt;p&gt;Les amateurs d'Iphone de TitaXium possèdent&amp;nbsp;&lt;a href=&quot;http://www.titaxium.com/post/2008/04/15/Theme-Iphone-TitaXium&quot; hreflang=&quot;fr&quot;&gt;leur thème&lt;/a&gt; à l'occasion de la sortie de la v5. Mais qu'en est-il de cette minorité silencieuse qui ; comme moi possède des PDA sous Windows Mobile ?&lt;/p&gt;
&lt;p&gt;Et bien malgré mes piètres talents de graphistes ; je veux moi aussi un thème pour mon bon vieux Qtek S100. Donc ; Un petit tour dans l’outil de création de thème que nous propose la firme de Redmond et voilà &lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/TitaXiumV5.tsk&quot; hreflang=&quot;fr&quot;&gt;le résultat&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/TitaXiumV5.tsk&quot;&gt;&lt;img style=&quot;DISPLAY: block; MARGIN: 0 auto&quot; height=&quot;320&quot; alt=&quot;&quot; src=&quot;http://methylbro.titaxium.org/portfolio/methylbro/public/images/ppc.jpg&quot; width=&quot;240&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je sais ; je ne suis pas à la hauteur de&amp;nbsp;&lt;a href=&quot;http://wil24.titaxium.org/&quot; hreflang=&quot;fr&quot;&gt;wil24&lt;/a&gt; ; mais bon. Il n’avait qu’a ne pas penser qu’a lui.&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/15/Theme-WinMobile#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/15/Theme-WinMobile#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/72</wfw:commentRss>
      </item>
    
  <item>
    <title>Sleep en Javascript</title>
    <link>http://methylbro.titaxium.org/post/2008/04/14/Sleep-en-Javascript</link>
    <guid isPermaLink="false">urn:md5:c3f726e0a04099f62534fb0636f7a9ed</guid>
    <pubDate>Mon, 14 Apr 2008 11:09:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Développement</category>
        <category>javascript</category><category>sleep</category><category>time</category>    
    <description>&lt;p&gt;En php ; vous connaissez certainement la fonction&amp;nbsp;&lt;a href=&quot;http://fr.php.net/manual/fr/function.sleep.php&quot; hreflang=&quot;fr&quot;&gt;&lt;em&gt;sleep()&lt;/em&gt;&lt;/a&gt;&amp;nbsp;qui permet d'endormir&amp;nbsp;votre script pendant un laps de temps donné. Mais en javascript ; même s'il est possible de travailler avec des événements temporels ; il n'existe pas de fonction similaire.&lt;/p&gt;    &lt;p&gt;Or ; aujourd'hui ; j'aurais bien besoin que cette fonction existe coté client. Qu'a cela ne tienne. Un petit tour sur la toile ; et j'ai trouvé rapidement la fonction suivante :&lt;/p&gt;
&lt;div&gt;&lt;code&gt;/**&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&amp;nbsp;* @copyright &lt;a href=&quot;http://www.phpied.com/sleep-in-javascript/&quot;&gt;http://www.phpied.com/sleep-in-javascript/&lt;/a&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;&lt;code&gt;&amp;nbsp;**/&lt;br /&gt;function sleep(milliseconds) {&lt;br /&gt;&amp;nbsp; var start = new Date().getTime();&lt;br /&gt;&amp;nbsp; for (var i = 0; i &amp;lt; 1e7; i++) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((new Date().getTime() - start) &amp;gt; milliseconds){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;p&gt;Mais quelque chose me choque un peut dans cette proposition. Que ce passerait-il si notre boucle jusqu'a 1e7 soit trop rapide pour aller jusqu'a &lt;em&gt;milliseconds. &lt;/em&gt;Une petite correction donc (a prendre avec des pincettes !) :&lt;/p&gt;
&lt;code&gt;
&lt;p&gt;function sleep(milliseconds) {&lt;br /&gt;&amp;nbsp; var start = new Date().getTime();&lt;br /&gt;&amp;nbsp; while(true) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((new Date().getTime() - start) &amp;gt; milliseconds){&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/p&gt;
&lt;/code&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/14/Sleep-en-Javascript#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/14/Sleep-en-Javascript#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/66</wfw:commentRss>
      </item>
    
  <item>
    <title>Introduction à la POO avec PHP</title>
    <link>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP</link>
    <guid isPermaLink="false">urn:md5:c5eea17b8ef7cdef0c633ac759287cde</guid>
    <pubDate>Mon, 14 Apr 2008 06:00:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Tutoriels</category>
        <category>class</category><category>classe</category><category>fonction</category><category>objet</category><category>php</category><category>POO</category><category>procédure</category><category>stylo</category>    
    <description>&lt;p&gt;Depuis sa version 4 ; PHP intègre les concepts de &lt;strong&gt;Programmation Orienté Objet&lt;/strong&gt;. Très à la mode ; cette façon de programmer vous sera très utile. Néanmoins ; elle introduit foule de nouveaux concepts à nos méthodes de développement plus classique.&lt;/p&gt;
&lt;p&gt;Il existe beaucoup d’articles et de tutoriel concernant la POO. Mais dans la plupart des cas ; ces articles sont écrits avec des exemples en C++ ou en Java. &lt;br /&gt;Et encore trop peu avec des illustrations en PHP.&lt;/p&gt;
&lt;p&gt;Cette semaine ; à l’occasion de la&amp;nbsp;&lt;a href=&quot;http://www.titaxium.com/post/2008/04/13/Resurrection&quot; hreflang=&quot;fr&quot;&gt;sortie de la version 5&lt;/a&gt; de &lt;a href=&quot;http://www.titaxium.com/&quot; hreflang=&quot;fr&quot;&gt;TitaXium&amp;nbsp;&lt;/a&gt;; je vous propose une série de 6 articles introduisant la &lt;strong&gt;Programmation Orienté Objet&lt;/strong&gt; avec des exemples en PHP.&lt;/p&gt;
&lt;p&gt;Ainsi&amp;nbsp;; en 6 jours&amp;nbsp;; j’espère faire découvrir à ce qui ne le connaissent pas encore&amp;nbsp;; le monde des &lt;strong&gt;classes&lt;/strong&gt;&amp;nbsp;; des &lt;strong&gt;méthodes&lt;/strong&gt; et des &lt;strong&gt;objets&lt;/strong&gt;. Et d’ici à ce week-end&amp;nbsp;; vous serez sans doutes à même d’écrire vous-même vos propres classes&amp;nbsp;!&lt;/p&gt;    &lt;h1&gt;Introduction&lt;/h1&gt;
&lt;h2&gt;Prés requis&lt;/h2&gt;
&lt;p&gt;Avant d’entrer dans le vif du sujet ; je déconseille cet article à toutes les personnes ayant un niveau de débutant en développement.&lt;/p&gt;
&lt;p&gt;Cet article s’adresse à des développeurs PHP confirmés ; qui ont de l’expérience. Pour comprendre cet article ; il vous faudra être à l’aise avec tous les outils utilisés dans les langages procéduraux ; et plus particulièrement en PHP.&lt;/p&gt;
&lt;p&gt;De plus ; cet article n’est qu’une introduction. Une première étape dans la compréhension de la POO.&lt;/p&gt;
&lt;p&gt;Nous ne traiterons donc pas de concepts avancés comme par exemple l’héritage ou les design pattern.&lt;/p&gt;
&lt;h2&gt;Comparaison avec un développement procédural&lt;/h2&gt;
&lt;p&gt;En développement classique ; vous connaissez déjà les &lt;strong&gt;types de variable&lt;/strong&gt; les plus courant. Entiers, réels, Tableaux, Chaines de caractères, booléen … Tout ca n’a plus de secrets pour vous.&lt;/p&gt;
&lt;p&gt;Vous avez aussi l’habitude de réunir vos traitements récurrents au sein de &lt;strong&gt;procédures&lt;/strong&gt; ou de &lt;strong&gt;fonctions&lt;/strong&gt;. C’est ce que nous faisons tous avec nos db_connect() ou encore les afficher_machin($truc).&lt;/p&gt;
&lt;p&gt;Pourtant ; la &lt;strong&gt;POO&lt;/strong&gt; (&lt;em&gt;Programmation Orienté Objet&lt;/em&gt;) est un terme qui vous parait obscur et barbare. Vous en entendez parler depuis des années sans trop savoir ce qui se cache derrière. &lt;/p&gt;
&lt;p&gt;Imaginez un instant ; qu’en plus des types courant que nous avons cité ci-dessus ; vous puissiez vous même définir vos propres &lt;strong&gt;types&lt;/strong&gt; de valeurs. Avec des comportements et des &lt;strong&gt;structures&lt;/strong&gt; qui leur sont propre. Imaginez vos variables comme des &lt;strong&gt;entités&lt;/strong&gt; ; des individus contenant des informations et pouvant effectuer des traitements divers sur celles-ci.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Vous ne voyez toujours pas ou je veux en venir ?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si on prend une variable &lt;strong&gt;simple&lt;/strong&gt; ; un entier par exemple ; cette variable peut contenir une &lt;strong&gt;valeur&lt;/strong&gt;. Et sur cette valeur je peux effectuer des &lt;strong&gt;traitements&lt;/strong&gt; (l’additionner ; la comparer ; la diviser etc). En théorie objet ; toutes ces &lt;strong&gt;entités&lt;/strong&gt; que nous utilisons ; nous appelons cela des &lt;strong&gt;&lt;ins&gt;objets&lt;/ins&gt;&lt;/strong&gt; (ou des &lt;strong&gt;&lt;ins&gt;instances de classe&lt;/ins&gt;&lt;/strong&gt;). Et ces traitements ce sont des &lt;strong&gt;&lt;ins&gt;méthodes&lt;/ins&gt;&lt;/strong&gt;. Mon entier sera donc un objet ; sur lequel je pourrais appliquer les méthodes d’addition ; de comparaison ; de division etc.&lt;/p&gt;
&lt;p&gt;En plus des objets simple que nous connaissons en développement procédural classique ; nous pouvons donc définir de nouveaux objets. Avec de nouvelles &lt;strong&gt;méthodes&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Vous verrez que ce concept d’objets et plus &lt;strong&gt;naturel&lt;/strong&gt; qu’il n’y parait de prime abord. Car tout ce qui nous entoure n’est qu’objets ! Le clavier et la souris que vous avez sous votre nez sont des objets. &lt;br /&gt;Qui contiennent des valeurs et sur lequel vous appliquez des méthodes.&lt;/p&gt;
&lt;p&gt;Par exemple ; votre souris est un objet. Qui contient les valeurs x et y (pour connaitre sa position) et sur lequel vous pouvez appliquer les méthodes deplacer(), click_droit(), click_gauche() …&lt;/p&gt;
&lt;h2&gt;Exemple employé&lt;/h2&gt;
&lt;p&gt;Pour illustrer mon propos ; je vais utiliser un exemple très simple. Et très commun.&lt;/p&gt;
&lt;p&gt;Prenez un stylo. Un de ces stylos à bille commerciaux que l’on trouve n’importe où. Il s’agit bien d’un objet. Un objet que vous pouvez facilement synthétiser le fonctionnement en POO.&lt;/p&gt;
&lt;p&gt;Que peut-on faire avec un stylo ou, quelles seront les &lt;strong&gt;méthodes&lt;/strong&gt; de notre objet ? Exactement ce que vous faites avec un stylo traditionnel. Ecrire, cliquer sur ses fesses pour faire apparaitre ou disparaitre la mine ; ou encore observer le niveau de sa réserve d’encre. Et bien ce sera très exactement les méthodes que nous allons retrouver dans notre objet.&lt;/p&gt;
&lt;p&gt;Quelles sont les &lt;strong&gt;propriétés&lt;/strong&gt; que possèdes un stylo ? Quels sont les &lt;strong&gt;attributs&lt;/strong&gt; qui font de lui qu’il est différent d’un autre stylo ? Quelles valeurs vont être contenues notre stylo ? Ici nous nous posons la question des valeurs qui seront attachés à chacun de nos stylos.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP-Partie-2&quot; hreflang=&quot;fr&quot;&gt;Lire la suite&lt;/a&gt;...&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/13/Introduction-a-la-POO-avec-PHP#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/49</wfw:commentRss>
      </item>
    
  <item>
    <title>Rootsarts parle de nous</title>
    <link>http://methylbro.titaxium.org/post/2008/04/14/Rootsarts-parle-de-nous</link>
    <guid isPermaLink="false">urn:md5:7dae9d885a09d4510af03482f7eb5d28</guid>
    <pubDate>Mon, 14 Apr 2008 01:09:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Communauté</category>
        <category>rootsarts</category><category>TitaXium</category><category>V5</category>    
    <description>    &lt;p&gt;Nous y sommes enfin. L'effet V5 va enfin commencé à se faire sentir. Outre le fait que les moteur et méta-moteurs (Google, Yahoo!) n'arrêtent pas de faire des allées et venues sur &lt;strong&gt;Titaxium&lt;/strong&gt;. Les webzines spécialisés commencent enfin à parler de nous !&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.rootsarts.net/V7/2008/04/13/titaxium-v5-dans-les-bacs/&quot;&gt;http://www.rootsarts.net/V7/2008/04/13/titaxium-v5-dans-les-bacs/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Je suis ravi de voir ce genre d’articles. Car en plus ; sur Rootsarts ; le dernier article sur &lt;strong&gt;Titaxium&lt;/strong&gt; était vieux de plus d’un an ; et pas très élogieux (en ce temps là ; nous étions au plus bas).&lt;br /&gt;Mais voilà ; nous y sommes enfin ; et le contenu va commencer lui aussi à arriver. Petit à petit et jours après jours. &lt;/p&gt;
&lt;p&gt;Mais sachez une chose ; les développeurs seront à l’honneur sur cette nouvelle version de &lt;strong&gt;Titaxium&lt;/strong&gt;. Fini le temps ou les graphistes prenaient toute la lumière des projecteurs sur la communauté. &lt;/p&gt;
&lt;p&gt;Je vais passer les semaines à venir à tout mettre en œuvre pour montrer au monde francophone des communautés dans notre genre que ; &lt;strong&gt;les développeurs aussi sont des artistes&lt;/strong&gt; !&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/14/Rootsarts-parle-de-nous#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/14/Rootsarts-parle-de-nous#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/63</wfw:commentRss>
      </item>
    
  <item>
    <title>Inauguration</title>
    <link>http://methylbro.titaxium.org/post/2008/04/13/Inauguration</link>
    <guid isPermaLink="false">urn:md5:10fa7e885f00e71884eb22a7cd5c2656</guid>
    <pubDate>Sun, 13 Apr 2008 20:00:00 +0200</pubDate>
    <dc:creator>Méthylbro</dc:creator>
        <category>Communauté</category>
        <category>TitaXium</category><category>V5</category>    
    <description>    &lt;p&gt;Bonjour à toutes, et à tous.&lt;/p&gt;
&lt;p&gt;13 Avril 2008. Voilà un jour qui resteras dans la petite histoire de notre communauté. Après plusieurs longues nuits ces dernières semaines ; nous avons le plaisir de vous présenter cette V5.&lt;/p&gt;
&lt;p&gt;Maintenant ; un seul mot d'ordre : Contribuez !&lt;/p&gt;</description>
    
    
    
          <comments>http://methylbro.titaxium.org/post/2008/04/13/Inauguration#comment-form</comments>
      <wfw:comment>http://methylbro.titaxium.org/post/2008/04/13/Inauguration#comment-form</wfw:comment>
      <wfw:commentRss>http://methylbro.titaxium.org/feed/rss2/comments/38</wfw:commentRss>
      </item>
    
</channel>
</rss>