<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5694212004221352900</id><updated>2012-02-09T10:58:13.500+01:00</updated><category term='mail'/><category term='Visual Studio'/><category term='processus'/><category term='astuce'/><category term='SQL'/><category term='Exchange'/><category term='Multilangue'/><category term='C'/><category term='Zend Framework'/><category term='Stage'/><category term='GLib'/><category term='design pattern'/><category term='CPP'/><category term='Flash'/><category term='ldap'/><category term='icone'/><category term='Erreur'/><category term='tips'/><category term='authentification'/><category term='SQL server'/><category term='IRC'/><category term='MsBuild'/><category term='debian'/><category term='Batch'/><category term='jaunty'/><category term='imprimante'/><category term='encodage'/><category term='ligne de commande'/><category term='nfs'/><category term='cron'/><category term='anti-bot'/><category term='xen'/><category term='expression regulière'/><category term='boot'/><category term='MySQL'/><category term='temps'/><category term='Freenode'/><category term='Add-in'/><category term='TFS'/><category term='OrcaScript'/><category term='PowerBuilder'/><category term='Divertissement'/><category term='Perl'/><category term='bash'/><category term='Java'/><category term='openldap'/><category term='Zend Studio'/><category term='reseau'/><category term='Variable'/><category term='Action Script 3'/><category term='apache2'/><category term='C#'/><category term='tableau'/><category term='PHP'/><category term='partage'/><category term='Constante'/><category term='PHPMyAdmin'/><category term='Active Directory'/><category term='Linux'/><category term='Channell'/><category term='Eclipse'/><category term='OVH'/><category term='HTML'/><category term='Hardware'/><category term='htaccess'/><category term='ubuntu'/><category term='virtualisation'/><category term='Fichier'/><category term='Installation'/><category term='svn'/><title type='text'>Blog sur des technologies Informatiques</title><subtitle type='html'>Ce blog n'est qu'un aide mémoire pour moi. Je le mets en ligne en espérant que ca puisse servir à quelqu'un d'autre aussi ;) !</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>53</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-7363708323477319113</id><published>2010-05-07T20:53:00.002+02:00</published><updated>2010-05-07T20:58:50.986+02:00</updated><title type='text'>Changement d'adresse !</title><content type='html'>Ce blog change d'adresse ! &lt;br /&gt;Vous pourrez le retrouvez dès aujourd'hui sur &lt;a href="http://romain.therrat.fr/"&gt;http://romain.therrat.fr&lt;/a&gt; (et oui je m'appelle Romain THERRAT !).&lt;br /&gt;&lt;br /&gt;Tout les messages de ce blog on été importé et je le fermerai dans quelque jours.&lt;br /&gt;Alors avant de recevoir un "N'habite plus à l'adresse indiquée" (Erreur 404 en jargon informatique !) bookmarqué mon nouveau blog.&lt;br /&gt;&lt;br /&gt;A bientôt !&lt;br /&gt;&lt;br /&gt;Romain&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-7363708323477319113?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/7363708323477319113/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2010/05/changement-dadresse.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7363708323477319113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7363708323477319113'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2010/05/changement-dadresse.html' title='Changement d&apos;adresse !'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-3260520632357338132</id><published>2010-04-28T22:07:00.001+02:00</published><updated>2010-04-28T22:28:53.601+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='CPP'/><title type='text'>[C++] Créer des tests unitaires en cpp avec Boost.Test</title><content type='html'>&lt;p&gt;Si vous vous demandez encore pourquoi utiliser des tests unitaires ou encore ce que sont les tests unitaires je vous conseil vivement de vous renseigner et de revenir dans quelques minutes sur cette page !! Le web est une mine d'information infinie !!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nous alons donc voir comment implémenter des tests unitaires en C++ avec la bibliothèque Boost qui contient entre autre la bibliothèque Boost.Test dont nous allons nous servir.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Tout d'abord il faut installer Boost. Si vous êtes sous visual studio il existe un fichier exécutable sur le site de Boost pour les distributions Linux  vous devriez trouver les sources dans vos dépots.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Créez un nouveau projet "de test" qui ne sera rien d'autre qu'un projet C++ vide. Nommez le HelloWorldTest (Nom du projet à tester suivit de Test). Ceci n'est pas une obligation mais permet de se retrouver plus facilement quand on a beaucoup de projet dans un même dossier.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Ajoutez maintenant la librairie &lt;span style="font-weight: bold;"&gt;boost_unit_test_framework&lt;/span&gt; au liker (sous eclipse : bouton de droite sur votre projet, property, C/C++ Build, Settings, GCC C++ Linker, Librairies et ajouter boost_unit_test_framework).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nous allons écrire notre premier fichier de tests. Pour cela créez un fichier Test.cpp (par exemple) et inscrivez dans celui ci ceci :&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#define BOOST_TEST_DYN_LINK&lt;br /&gt;#define BOOST_TEST_MAIN&lt;br /&gt;#include &amp;lt;boost/test/unit_test.hpp&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-weight:bold;"&gt;BOOST_TEST_DYN_LINK&lt;/span&gt; : Utiliser la bibliotheque dynamique de test de boost. (Celle que nous avons ajouter juste avant)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;BOOST_TEST_MAIN&lt;/span&gt; : Genèrer une suite de tests principale (Master Test Suite)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Si vous compilez votre programme maintenant et que vous l'exécuter vous devriez avoir comme résultat &lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;Test setup error: test tree is empty&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Maintenant que nous avons un environnement de test fonctionnel nous allons passez à la rédaction de nos premiers tests.&lt;br /&gt;Pour ceci renommer votre fichier Test.cpp en Test.h car à partir de maintenant nous l'inclurons dans tous nos fichiers de tests.&lt;br /&gt;Dans votre programme à tester créez une classe Calculator avec des fonctions simples (add, sub, mul, div). Nous nous servirons de cette classe pour nos tests.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Dans votre programme de test créez un fichier CalculatorTest.cpp et incluez dans celui ci Test.h&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;#include "Test.h"&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Nous avons besoins de faire référence à notre premier projet pour cela vous pouvez soit utiliser les fonctions de votre compilateur soit créer un lien symbolique de vos classes vers votre dossier source de test. Pour ma part, étant bien trop fainéant j'ai opté pour la deuxième solution. Mes classes étant dans le dossier &lt;span style="font-style:italic;"&gt;Classes&lt;/span&gt; ceci me donne donc &lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;ln -s ../HelloWorld/Classes/ ./&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Nous rajoutons dans notre fichier CalculatorTest.cpp l'include de la classe que nous voulons tester.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#include "Classes/Calculator.h"&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Et nous allons écrire un premier test !!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Pour cela nous allons utiliser plusieurs macro de Boost :&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;BOOST_AUTO_TEST_CASE&lt;/span&gt; : Qui va nous permettre de créer une "fonction virtuelle" de test&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;BOOST_REQUIRE_EQUAL&lt;/span&gt; : Qui va nous permettre de tester l'égalité d'un résultat et de retourner une valeur.&lt;br /&gt;Ceci va ce présenter comme ça :&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;BOOST_AUTO_TEST_CASE(CalculatorAddTest1)&lt;br /&gt;{&lt;br /&gt; Calculator *myCalculator = new Calculator();&lt;br /&gt; BOOST_REQUIRE_EQUAL(myCalculator-&gt;Add(1,2),3);//myCalculator-&gt;Add(1,2), 3);&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nous utilisons BOOST_AUTO_TEST_CASE pour créer une fonction de test que nous nommons CalculatorAddTest1. Nous créons un objet de type Calculator et le testons avec BOOST_REQUIRE_EQUAL.&lt;br /&gt;Si vous compilez maintenant votre programme vous devriez obtenir un joli&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Running 1 test case...&lt;br /&gt;&lt;br /&gt;*** No errors detected&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Il n'existe pas que BOOST_REQUIRE_EQUAL vous trouverez aussi BOOST_REQUIRE(expr), BOOST_REQUIRE_GE(left, right), BOOST_REQUIRE_GT(left, right), etc ... Vous pouvez trouvez la liste de ces macros dans la documentation de Boost.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Nous avons vu comment mettre en place un projet de tests unitaires avec Boost.Test ce qui est déjà pas mal pour aujourd'hui ! Nous continurons donc plus tard ;) !&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-3260520632357338132?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/3260520632357338132/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2010/04/c-creer-des-tests-unitaires-en-cpp-avec.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3260520632357338132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3260520632357338132'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2010/04/c-creer-des-tests-unitaires-en-cpp-avec.html' title='[C++] Créer des tests unitaires en cpp avec Boost.Test'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-3962212539273507241</id><published>2010-04-25T23:46:00.004+02:00</published><updated>2010-04-25T23:52:45.747+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='CPP'/><category scheme='http://www.blogger.com/atom/ns#' term='GLib'/><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>[Eclipse] Compiler un programme (C ou CPP) utilisant la GLib</title><content type='html'>Pour pouvoir compiler un programme utilisant la GLib avec eclipse il vous faut configurer des options pour le compilateur et le linker&lt;br /&gt;&lt;br /&gt;Dans Eclipse&lt;br /&gt;Bouton de droite sur votre projet, propriété, C/C++ Build, Setting&lt;br /&gt;Dans l'onglet &lt;span style="font-weight: bold;"&gt;Tool Settings&lt;/span&gt; sélectionner &lt;span style="font-weight: bold;"&gt;GCC C++ Compilateur&lt;/span&gt; ou &lt;span style="font-weight: bold;"&gt;GCC C Compiler&lt;/span&gt; suivant si vous utiliser gcc ou g++.&lt;br /&gt;&lt;br /&gt;Dans la textbox Command line pattern ajouter&lt;br /&gt;&lt;blockquote&gt;`pkg-config --cflags glib-2.0`&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;De même dans GCC C/C++ Linker ajouter&lt;br /&gt;&lt;blockquote&gt;`pkg-config --libs glib-2.0`&lt;/blockquote&gt;Et voilà vous pouvez enfin compiler votre application !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-3962212539273507241?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/3962212539273507241/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2010/04/eclipse-compiler-un-programme-c-ou-cpp.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3962212539273507241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3962212539273507241'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2010/04/eclipse-compiler-un-programme-c-ou-cpp.html' title='[Eclipse] Compiler un programme (C ou CPP) utilisant la GLib'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-6794263475436439366</id><published>2010-03-02T19:17:00.003+01:00</published><updated>2010-03-02T19:24:36.538+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Erreur'/><category scheme='http://www.blogger.com/atom/ns#' term='Installation'/><category scheme='http://www.blogger.com/atom/ns#' term='Zend Studio'/><title type='text'>[Zend Studio] java.lang.IllegalArgumentException: Malformed \uxxxx encoding.</title><content type='html'>Aujourd'hui en tentant d'installer Zend Studio 7.1.1 sur ma debian squeeze, j'ai eu une petite erreur.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;(19:14)romain@laptop-de-lermit:~&gt;sudo Logiciel/ZendStudio7_1_1.bin &lt;br /&gt;Preparing to install...&lt;br /&gt;Extracting the JRE from the installer archive...&lt;br /&gt;Unpacking the JRE...&lt;br /&gt;Extracting the installation resources from the installer archive...&lt;br /&gt;Configuring the installer for this system's environment...&lt;br /&gt;&lt;br /&gt;Launching installer...&lt;br /&gt;&lt;br /&gt;An internal LaunchAnywhere application error has occured and this application cannot proceed. (LAX)&lt;br /&gt;&lt;br /&gt;Stack Trace:&lt;br /&gt;java.lang.IllegalArgumentException: Malformed \uxxxx encoding.&lt;br /&gt; at java.util.Properties.loadConvert(Unknown Source)&lt;br /&gt; at java.util.Properties.load(Unknown Source)&lt;br /&gt; at com.zerog.common.java.util.PropertiesUtil.loadProperties(DashoA8113)&lt;br /&gt; at com.zerog.lax.LAX.&lt;init&gt;(DashoA8113)&lt;br /&gt; at com.zerog.lax.LAX.main(DashoA8113)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ceci est dut à votre variable PS1 qui contient sûrement "\u" (représentant votre username). &lt;br /&gt;&lt;br /&gt;Pour résoudre l'erreur il suffit de faire ceci&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;PS1="&gt;"&lt;br /&gt;sudo ./ZendStudio7_1_1.bin&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Au prochain redémarrage de votre terminal votre prompt redeviendra normal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-6794263475436439366?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://kb.zend.com/index.php?View=entry&amp;EntryID=262' title='[Zend Studio] java.lang.IllegalArgumentException: Malformed \uxxxx encoding.'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/6794263475436439366/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2010/03/zend-studio-javalangillegalargumentexce.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6794263475436439366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6794263475436439366'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2010/03/zend-studio-javalangillegalargumentexce.html' title='[Zend Studio] java.lang.IllegalArgumentException: Malformed \uxxxx encoding.'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4812080964125936164</id><published>2010-01-29T14:31:00.002+01:00</published><updated>2010-01-29T14:34:35.335+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Erreur'/><title type='text'>[MySQL] Erreur "Cannot assign requested address"</title><content type='html'>Ajourd'hui j'ai été confronté à un petit problème :&lt;br /&gt;&lt;br /&gt;Aucun serveur mysql lancé, rien qui n'écoute sur le port 3306, pas de fichier socket, ... et cette erreur :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;100129 13:23:53 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address&lt;br /&gt;100129 13:23:53 [ERROR] Do you already have another mysqld server running on port: 3306 ?&lt;br /&gt;100129 13:23:53 [ERROR] Aborting&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;La solution trouvé à été d'exécuter ceci&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;ifconfig lo up&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ceci réinitialise l'interface de loopback et permet de à MySQl de se "binder".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4812080964125936164?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4812080964125936164/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2010/01/mysql-erreur-cannot-assign-requested.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4812080964125936164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4812080964125936164'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2010/01/mysql-erreur-cannot-assign-requested.html' title='[MySQL] Erreur &quot;Cannot assign requested address&quot;'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-6199883495018381439</id><published>2010-01-13T09:45:00.002+01:00</published><updated>2010-01-13T09:48:12.140+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Erreur'/><title type='text'>[MySQL] Mysql::Error: Table 'redmine.schema_info' doesn't exist: SELECT version FROM schema_info</title><content type='html'>Si vous installez une base de données via Rake comme redmine vous pourriez tomber sur une erreur de ce type :&lt;br /&gt;&lt;blockquote&gt;Mysql::Error: Table 'redmine.schema_info' doesn't exist: SELECT version FROM schema_info&lt;/blockquote&gt;&lt;br /&gt;Le plus simple pour résoudre cette erreur est de supprimer et recréer la base.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-6199883495018381439?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/6199883495018381439/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2010/01/mysql-mysqlerror-table.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6199883495018381439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6199883495018381439'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2010/01/mysql-mysqlerror-table.html' title='[MySQL] Mysql::Error: Table &apos;redmine.schema_info&apos; doesn&apos;t exist: SELECT version FROM schema_info'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1077426464809429160</id><published>2009-11-23T20:19:00.004+01:00</published><updated>2009-11-23T20:32:58.014+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='temps'/><title type='text'>[Debian] Changer de timezone</title><content type='html'>Sur une Debian lenny pour changer le Time Zone le plus simple est d'utiliser la commande&lt;br /&gt;&lt;blockquote&gt;# dpkg-reconfigure tzdata&lt;/blockquote&gt;Celui-ci va vous demander de vous localiser (choix du continent et du pays) et vous réglera votre timezone.&lt;br /&gt;Cette commande remplace l'utilisation de tzconfig qui est maintenant déprécié.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1077426464809429160?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1077426464809429160/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/11/debian-changer-de-timezone.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1077426464809429160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1077426464809429160'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/11/debian-changer-de-timezone.html' title='[Debian] Changer de timezone'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1747276773017987498</id><published>2009-11-11T21:18:00.004+01:00</published><updated>2009-11-11T21:23:04.664+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='boot'/><title type='text'>[Linux] Comment décompresser son fichier initrd compressé en GZIP</title><content type='html'>Si la commande &lt;span style="font-style: italic;"&gt;file /boot/initrd*&lt;/span&gt; vous retourne quelque chose comme ceci :&lt;br /&gt;&lt;blockquote&gt;/boot/initrd.img-2.6.31-14-generic: gzip compressed data, from Unix, last modified: Wed Nov 11 16:04:33 2009&lt;/blockquote&gt;C'est que votre initrd est compressé en gzip (oui oui je sais c'est écrit juste dessus mais j'aime bien me répéter !). Donc pour le décompresser une solution (surement pas la seule) :&lt;br /&gt;&lt;blockquote&gt;gunzip -dc /boot/initr* | cpio -id --no-absolute-filenames&lt;/blockquote&gt;Have fun !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1747276773017987498?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1747276773017987498/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/11/linux-comment-decompresser-son-fichier.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1747276773017987498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1747276773017987498'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/11/linux-comment-decompresser-son-fichier.html' title='[Linux] Comment décompresser son fichier initrd compressé en GZIP'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-8145241852504224831</id><published>2009-10-04T19:33:00.003+02:00</published><updated>2009-10-04T19:36:17.426+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='astuce'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><title type='text'>[xen] Sortir du mode Console avec Putty et un clavier francais</title><content type='html'>Pour sortir du mode console de xen via une connexion SSH avec putty (par exemple) le [Ctrl] + []] ne fonctionne pas si votre clavier est en français. Faite donc ceci :&lt;br /&gt;&lt;blockquote&gt;[Ctrl] + [$]&lt;/blockquote&gt;Et voilà ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-8145241852504224831?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/8145241852504224831/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/10/xen-sortir-du-mode-console-avec-putty.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8145241852504224831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8145241852504224831'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/10/xen-sortir-du-mode-console-avec-putty.html' title='[xen] Sortir du mode Console avec Putty et un clavier francais'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1426369892844740857</id><published>2009-08-12T16:01:00.003+02:00</published><updated>2009-08-12T16:07:02.115+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='temps'/><category scheme='http://www.blogger.com/atom/ns#' term='Erreur'/><title type='text'>[Java] The message has expired (WSSecurityEngine: Invalid timestamp The security semantics of message have expired)</title><content type='html'>Aujourd'hui j'ai buté sur une erreur ... bête !&lt;br /&gt;Si vous rencontrez ce message d'erreur&lt;br /&gt;&lt;blockquote&gt;The message has expired (WSSecurityEngine: Invalid timestamp The security semantics of message have expired)&lt;/blockquote&gt;&lt;br /&gt;Vérifier le réglage de l'heure de vos serveurs ! En effet, c'est certainement dû à un décalage beaucoup trop grand entre l'heure de votre serveur et votre client !&lt;br /&gt;&lt;br /&gt;Bonne Prog ;)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PS : Utiliser NTP !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1426369892844740857?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1426369892844740857/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/08/java-message-has-expired.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1426369892844740857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1426369892844740857'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/08/java-message-has-expired.html' title='[Java] The message has expired (WSSecurityEngine: Invalid timestamp The security semantics of message have expired)'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1447743655694803572</id><published>2009-08-11T09:17:00.003+02:00</published><updated>2009-08-11T09:23:54.019+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Erreur'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>[MySQL] ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)</title><content type='html'>Aujourd'hui, j'ai eu une erreur du type : ERROR 1045 (28000): Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)&lt;br /&gt;Voici comment j'ai fait pour m'en sortir :&lt;br /&gt;&lt;br /&gt;Se connecter sur mysql&lt;br /&gt;mysql -u root -p&lt;br /&gt;Nous allons vérifier les privilèges de l'utilisateur debian-sys-maint avec la commande SQL suivante&lt;br /&gt;&lt;blockquote&gt;SHOW GRANTS FOR 'debian-sys-maint'@'localhost';&lt;/blockquote&gt;&lt;br /&gt;Dans mon cas l'utilisateur n'avait pas de GRANT OPTION mais la commande suivante devrait résoudre d'autre problèmes du même ordre.&lt;br /&gt;&lt;blockquote&gt;GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY '&lt;span style="font-style: italic;"&gt;password&lt;/span&gt;' WITH GRANT OPTION;&lt;/blockquote&gt;&lt;br /&gt;où &lt;span style="font-style: italic;"&gt;password &lt;/span&gt;est le mot de passe que vous retrouverez dans &lt;span style="font-weight: bold;"&gt;/etc/mysql/debian.cnf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Il suffit de redémarrer le serveur et tout doit fonctionner ;) !&lt;br /&gt;&lt;blockquote&gt;/etc/init.d/mysql restart&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1447743655694803572?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1447743655694803572/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/08/mysql-error-1045-28000-access-denied.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1447743655694803572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1447743655694803572'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/08/mysql-error-1045-28000-access-denied.html' title='[MySQL] ERROR 1045 (28000): Access denied for user &apos;debian-sys-maint&apos;@&apos;localhost&apos; (using password: YES)'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1103646073447394803</id><published>2009-08-09T22:44:00.004+02:00</published><updated>2009-08-09T23:40:23.076+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='OVH'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='reseau'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>[OVH] Le DynHost de OVH et updatedd</title><content type='html'>Je me suis heurté aujourd'hui à un bien grave problème. La synchronisation de mon IP dynamique (de chez SFR - anciennement neuf-cegetel) et d'un domaine OVH. Alors voilà la solution !&lt;br /&gt;&lt;br /&gt;Tout d'abord il convient de se créer un compte DynHost. Pour cela je vous renvoi à la documentation d'OVH : http://guides.ovh.com/DynDns. Une foie notre compte créé et un domaine paramétré nous utiliserons comme le propose OVH l'utilitaire updatedd dont les sources sont téléchargeables à cette adresse : http://nongnu.askapache.com/updatedd/&lt;br /&gt;&lt;br /&gt;Décompressons l'archive&lt;br /&gt;&lt;blockquote&gt;~$ tar xvf updatedd_2.6.tar.gz&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Avant d'installer l'utilitaire il convient de le modifier car il y a une petite erreur sur l'adresse de OVH. Pour cela modifier le fichier src/plugins/libovh.h.&lt;br /&gt;&lt;blockquote&gt;~$ nano updatedd-2.6/src/plugins/libovh.h&lt;/blockquote&gt;&lt;br /&gt;A la ligne 24, il faudra modifier le ovh.com par www.ovh.com. Ainsi la ligne ressemblera à celle ci.&lt;blockquote&gt;&lt;br /&gt;#define DYNDNSHOST      "www.ovh.com"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Il ne nous reste qu'à installer updatedd maintenant.&lt;br /&gt;&lt;blockquote&gt;~$ ./configure&lt;br /&gt;~$ make&lt;br /&gt;~$ su&lt;br /&gt;Mot de passe :&lt;br /&gt;# make install&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;L'utilisation pour OVH de updatedd ce passe comme suit :&lt;br /&gt;&lt;blockquote&gt;updatedd ovh -- --ipv4 ip username:password host&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;J'ai donc rédigé un script bash pour vérifier l'IP actuelle, la comparer à l'ancienne et faire les mises à jour si c'est nécessaire. Le voici :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/bin/bash&lt;br /&gt;&lt;br /&gt;## CONFIGURATION ##&lt;br /&gt;&lt;br /&gt;# Connection to OVH DynHost&lt;br /&gt;username=user&lt;br /&gt;password=pass&lt;br /&gt;host=my-host.tld&lt;br /&gt;&lt;br /&gt;# How to log&lt;br /&gt;# 1 = true, 0 = false&lt;br /&gt;log_change=1&lt;br /&gt;log_no_change=0&lt;br /&gt;log_file=/var/log/dynhost.log&lt;br /&gt;&lt;br /&gt;# File with old IP&lt;br /&gt;old_ip_file=/var/cache/ip_old&lt;br /&gt;&lt;br /&gt;# To avoid error "file not found"&lt;br /&gt;touch ${old_ip_file}&lt;br /&gt;touch ${log_file}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Get Public IP&lt;br /&gt;ip=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`&lt;br /&gt;&lt;br /&gt;# Get Old Public IP&lt;br /&gt;ip_old=`cat ${old_ip_file}`&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# Test if IPs are equal&lt;br /&gt;if [ "${ip}" = "${ip_old}" ]&lt;br /&gt;then&lt;br /&gt;   if [ "${log_no_change}" = "1" ]&lt;br /&gt;   then&lt;br /&gt;       echo `date`: No IP change was found &gt;&gt;  ${log_file}&lt;br /&gt;   fi  &lt;br /&gt;else&lt;br /&gt;   echo ${ip} &gt; ${old_ip_file}&lt;br /&gt;   if [ "${log_change}" = "1" ]&lt;br /&gt;   then&lt;br /&gt;       echo "`date`:IP has change. (Old : ${ip_old}, New : ${ip})" &gt;&gt; ${log_file}&lt;br /&gt;       updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host} &gt;&gt; ${log_file}&lt;br /&gt;   else&lt;br /&gt;       updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host}&lt;br /&gt;   fi&lt;br /&gt;fi&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Ensuite il suffit de placer ce script quelque part ;) (pour ma part dans /usr/local/bin) et de configurer un cron pour l'exécution périodique du script ;) !&lt;br /&gt;&lt;br /&gt;Voilà bon courage !&lt;br /&gt;&lt;br /&gt;PS : Je ne sais pas si j'ai fait une bonne utilisation des dossiers linux. Donc si quelqu'un d'avertis sur le sujet venait à passer par là je serai preneur d'informations !&lt;br /&gt;PS2 : Le script n'est pas parfait, si j'ai du temps un jour j'en ferai un meilleur !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1103646073447394803?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1103646073447394803/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/08/ovh-le-dynhost-de-ovh-et-updatedd.html#comment-form' title='3 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1103646073447394803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1103646073447394803'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/08/ovh-le-dynhost-de-ovh-et-updatedd.html' title='[OVH] Le DynHost de OVH et updatedd'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-7289636968897760624</id><published>2009-07-27T23:26:00.004+02:00</published><updated>2009-07-27T23:45:05.075+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='imprimante'/><title type='text'>[Hardware] Cart. Incorrecte sur une MPC600F de Canon</title><content type='html'>Voila la petite histoire ... on m'offre une imprimante et évidement elle ne fonctionne pas ! Bref un petit message CART.INCORRECTE me fait malice ! &lt;br /&gt;&lt;br /&gt;J'ai donc fouillé sur le web et voila la méthode que j'ai utilisé pour venir à bout de mon problème. &lt;br /&gt;&lt;br /&gt;Tout d'abord il faut rentrer dans le SERVICE MODE. Pour cela il faut appuyer sur le bouton MENU (c'est à dire le +), puis COPY et enfin #. &lt;br /&gt;&lt;blockquote&gt;MENU, COPY, #&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Aller dans le menu &lt;br /&gt;&lt;blockquote&gt;TEST MODE&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Puis &lt;br /&gt;&lt;blockquote&gt;8 PRINTER TEST&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ensuite &lt;br /&gt;&lt;blockquote&gt;3. [EEPROM CLEAR]&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Sélectionner &lt;br /&gt;&lt;blockquote&gt;0. [INK COUNT]&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Enfin appuyer sur OK &lt;br /&gt;&lt;blockquote&gt;[OK]&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A ce moment l'imprimante va faire du bruit. C'est bientôt fini ! Il reste à appuyer sur &lt;br /&gt;&lt;blockquote&gt;[Stop/Reset] (Petit bouton rond avec un triangle)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Et enfin &lt;br /&gt;&lt;blockquote&gt;[ON/OFF]&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Au redémarrage de l'imprimante tout fonctionnait !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-7289636968897760624?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/7289636968897760624/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/07/hardware-cart-incorrectesur-une-mpc600f.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7289636968897760624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7289636968897760624'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/07/hardware-cart-incorrectesur-une-mpc600f.html' title='[Hardware] Cart. Incorrecte sur une MPC600F de Canon'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-5784567250095208046</id><published>2009-05-12T21:35:00.002+02:00</published><updated>2009-05-12T21:37:36.602+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><title type='text'>[xen] sortir du mode console</title><content type='html'>Pour sortir du mode console de xen (après un xm console 2 par exemple) il suffit de faire un&lt;br /&gt;&lt;blockquote&gt;Ctrl + Alt Gr + )&lt;/blockquote&gt; &lt;br /&gt;et le tour est joué !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-5784567250095208046?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/5784567250095208046/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/05/xen-sortir-du-mode-console.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5784567250095208046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5784567250095208046'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/05/xen-sortir-du-mode-console.html' title='[xen] sortir du mode console'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-6789284980628315776</id><published>2009-05-12T14:29:00.007+02:00</published><updated>2010-01-12T16:54:35.655+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='virtualisation'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><title type='text'>[Xen] Installation d'une debian (domU) sur une debian (dom0)</title><content type='html'>Je vais ici énoncer la procédure que j'ai employée pour installer un domU sous debian 5.0 Lenny, sur un dom0 du même type. Le réseau étant configuré en bridge et les disques gérés par LVM.&lt;br /&gt;&lt;br /&gt;Tout d'abord créer les disques LVM. Dans l'exemple mon groupe de volumes est 'vg-00'.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#lvcreate -L 3G -n debian-domU /dev/vg-00&lt;/blockquote&gt;&lt;br /&gt;Ici l'option -L spécifie la taille (3 giga), -n le nom de la partition et vg-00 spécifie mon groupe de volumes.&lt;br /&gt;&lt;br /&gt;On partitionne le disque&lt;br /&gt;&lt;blockquote&gt;#mkfs.ext3 /dev/vg-00/debian-dom0&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Nous allons maintenant installer notre système. Ceci va consister à montrer le système et "placer" les fichiers du système d'exploitation sur notre partition.&lt;br /&gt;Montons la partition&lt;br /&gt;&lt;blockquote&gt;#mount -t ext3 /dev/vg-00/debian-domU /mnt/debian-domU&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Bien heureusement nous n'allons pas faire l'installation à la main c'est l'utilitaire debootstrap qui s'en chargera.&lt;br /&gt;Si vous utilisez un serveur de cache de paquet .deb comme apt-cacher utilisez cette commande. (Bien evidement vous pouvez choisir un autre repo et/ou un autre port !)&lt;br /&gt;&lt;blockquote&gt;#debootstrap lenny /mnt/debian-domU http://apt-cacher-host:3142/ftp.fr.debian.org/debian/&lt;/blockquote&gt;&lt;br /&gt;Si vous n'utilisez pas de cache la commande est sensiblement la même&lt;br /&gt;&lt;blockquote&gt;#debootstrap lenny /mnt/debian-domU http://ftp.fr.debian.org/debian/&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Après cette installation sans soucis, configurons notre VM ! Pour cela nous allons "chroot-er" notre disque. C'est à dire que nous allons limiter l'exécution de nos commandes à notre nouvelle debian.&lt;br /&gt;&lt;blockquote&gt;#chroot /mnt/debian-domU /bin/bash&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Configurons apt pour utiliser notre proxy (si vous n'avez toujours pas de proxy sautez cette étape !).&lt;br /&gt;&lt;blockquote&gt;#vi /etc/apt/apt.conf.d/30proxy&lt;/blockquote&gt;&lt;br /&gt;Et entrez ceci (à adapter à votre configuration)&lt;br /&gt;&lt;blockquote&gt;Acquire::http { Proxy "http://apt-cacher-repo:3142"; };&lt;/blockquote&gt;&lt;br /&gt;Ensuite éditer votre fichier sources.list à votre guise voici le mien (classique !)&lt;br /&gt;&lt;blockquote&gt;deb http://ftp.fr.debian.org/debian/ lenny main&lt;br /&gt;deb-src http://ftp.fr.debian.org/debian/ lenny main&lt;br /&gt;&lt;br /&gt;deb http://security.debian.org/ lenny/updates main&lt;br /&gt;deb-src http://security.debian.org/ lenny/updates main&lt;br /&gt;&lt;br /&gt;deb http://volatile.debian.org/debian-volatile lenny/volatile main&lt;br /&gt;deb-src http://volatile.debian.org/debian-volatile lenny/volatile main&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Installons le paquet libc6-xen&lt;br /&gt;&lt;blockquote&gt;#aptitude install libc6-xen&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ensuite il faut configurer notre fstab&lt;br /&gt;&lt;blockquote&gt;#vi /etc/fstab&lt;br /&gt;/dev/hda1       /       ext3    defaults,errors=remount-ro      0       1&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Notre installation est terminées sortons du chroot et démontons l'image.&lt;br /&gt;&lt;blockquote&gt;#exit&lt;br /&gt;#umount /mnt/debian-domU&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ensuite il faut créer notre fichier de configuration. (Il est aussi possible d'utiliser l'utilitaire xen-create-image mais cette méthode n'est pas détaillée ici.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#vi /etc/xen/debian-domU.cfg&lt;/blockquote&gt;&lt;br /&gt;Voici le contenu de mon fichier&lt;br /&gt;&lt;blockquote&gt;name="ma-debian-en-domU"&lt;br /&gt;&lt;br /&gt;kernel="/boot/vmlinuz-2.6.26-2-xen-686"&lt;br /&gt;ramdisk="/boot/initrd.img-2.6.26-2-xen-686"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;root="/dev/hda1"&lt;br /&gt;memory="128"&lt;br /&gt;&lt;br /&gt;disk=['phy:/dev/vg-00/debian-domU,hda1,w']&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;vif=[ '' ]&lt;br /&gt;&lt;br /&gt;dhcp="on"&lt;br /&gt;&lt;br /&gt;extra='xencons=tty' &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Voici l'explication des options :&lt;br /&gt;&lt;em&gt;name &lt;/em&gt;: nom de la machine&lt;br /&gt;&lt;em&gt;kernel &lt;/em&gt;: noyaux a utiliser pour booter (ici le noyaux est le même que celui de notre dom0 !)&lt;br /&gt;&lt;em&gt;ramdisk &lt;/em&gt;: image mémoire de démarrage (idem)&lt;br /&gt;&lt;em&gt;root &lt;/em&gt;: partition à booter (interne à la VM)&lt;br /&gt;memory : mémoire ram en Mo&lt;br /&gt;&lt;em&gt;disk &lt;/em&gt;: disque interne de la VM. Ici nous utilisons notre partition LVM mais vous pouvez aussi utiliser des fichiers faisant office de disque dur, des lecteurs CD-Rom, des images iso, ...&lt;br /&gt;&lt;em&gt;vif &lt;/em&gt;: configuration du réseau. Ici vide correspond à la configuration par défaut.&lt;br /&gt;&lt;em&gt;dhcp &lt;/em&gt;: spécifie si on utilise ou non le DHCP pour récupérer notre adresse IP. Si vous ne voulez pas utiliser DHCP il vous faudra utiliser les options ip, netmask, gateway et hostname qui parlent d'elles même.&lt;br /&gt;&lt;em&gt;extra &lt;/em&gt;: spécifie une option de démarrage, (ici extra='xencons=tty'  est indispensable si vous voulez pouvoir vous logger après la création de la machine).&lt;br /&gt;&lt;br /&gt;Maintenant que tout est près finissons-en ! Pour cela xen fournit la commande xm que nous utiliserons comme suit :&lt;br /&gt;&lt;blockquote&gt;#xm create -c /etc/xen/debian-domU.cfg&lt;/blockquote&gt;&lt;br /&gt;N'oubliez pas l'option -c qui vous attachera la machine au terminal actuel.&lt;br /&gt;Vous pourrez éteindre votre machine avec xm shutdown. Pour plus d'info utilisez le man.&lt;br /&gt;&lt;br /&gt;Bonne virtualisation !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-6789284980628315776?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/6789284980628315776/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/05/xen-installation-dune-debian-domu-sur.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6789284980628315776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6789284980628315776'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/05/xen-installation-dune-debian-domu-sur.html' title='[Xen] Installation d&apos;une debian (domU) sur une debian (dom0)'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4414885737166231484</id><published>2009-04-28T09:27:00.002+02:00</published><updated>2009-04-28T09:30:22.189+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='jaunty'/><category scheme='http://www.blogger.com/atom/ns#' term='tips'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[Ubuntu 9.04] Réactiver le ctrl + alt + backspace</title><content type='html'>Cette combinaison de touches est bien utile mais désactivée par défaut dans Ubuntu jaunty. Pour la réactiver il faut installer :&lt;br /&gt;&lt;blockquote&gt;sudo aptitude install dontzap&lt;/blockquote&gt;&lt;br /&gt;Ensuite activer la commande comme ceci&lt;br /&gt;&lt;blockquote&gt;sudo dontzap --disable&lt;/blockquote&gt;&lt;br /&gt;Et voila vous pouvez de nouveau utiliser ce racourci !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4414885737166231484?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4414885737166231484/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/04/ubuntu-904-reactiver-le-ctrl-alt.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4414885737166231484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4414885737166231484'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/04/ubuntu-904-reactiver-le-ctrl-alt.html' title='[Ubuntu 9.04] Réactiver le ctrl + alt + backspace'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4734485932661058363</id><published>2009-04-08T23:46:00.003+02:00</published><updated>2009-04-08T23:50:30.954+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>[Zend Framework] Validateur Alnum et Alpha : Autoriser les espaces.</title><content type='html'>Dans la documentation officielle il est dit : &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;51.2.1. Alnum&lt;br /&gt;&lt;br /&gt;Retourne true si et seulement si $value contient seulement des caractères alphabétiques et numériques. Ce validateur inclue une option permettant la validation possible des caractères espace.&lt;br /&gt;51.2.2. Alpha&lt;br /&gt;&lt;br /&gt;Retourne true si et seulement si $value contient seulement des caractères alphabétiques. Ce validateur inclue une option permettant la validation possible des caractères espace.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Mais il n'est pas dit comment faire ! Alors voila comment faire :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;-&gt;addValidator('Alnum', false, array('allowWhiteSpace' =&gt; true));&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Bonne validation ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4734485932661058363?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://framework.zend.com/issues/browse/ZF-5158;jsessionid=13489F72BFAF15DA1EB15087F7A5D1FD?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel' title='[Zend Framework] Validateur Alnum et Alpha : Autoriser les espaces.'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4734485932661058363/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/04/zend-framework-validateur-alnum-et.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4734485932661058363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4734485932661058363'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/04/zend-framework-validateur-alnum-et.html' title='[Zend Framework] Validateur Alnum et Alpha : Autoriser les espaces.'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2584574012226875065</id><published>2009-03-27T13:43:00.003+01:00</published><updated>2009-03-27T13:55:08.061+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ligne de commande'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Installation'/><title type='text'>[Debian] Upgrade de etch à lenny</title><content type='html'>Lenny est sortie ! Et comme beaucoup j'ai voulu upgrader ma Debian etch vers cette nouvelle mouture qui m'a l'aire très intéressante ! Voici comment j'ai procédé :&lt;br /&gt;&lt;br /&gt;Premièrement éditer votre fichier sources.list&lt;br /&gt;&lt;blockquote&gt;nano /etc/apt/sources.list&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ce fichier configure la liste des dépôts que doit gérer apt-get/aptitude. Ainsi pour upgrader vers lenny il ne vous faut que changer tout les terme etch par lenny (il en est de même pour sid mais je n'ai pas testé).&lt;br /&gt;&lt;br /&gt;Une foi le fichier sauvegardé on fait un petit&lt;br /&gt;&lt;blockquote&gt;aptitude update&lt;/blockquote&gt;&lt;br /&gt;qui remet à jours la liste interne des paquets disponibles sur les serveurs.&lt;br /&gt;Nous mettons ensuite à jours les logiciels d'installation comme ceci&lt;br /&gt;&lt;blockquote&gt;aptitude install apt dpkg aptitude&lt;/blockquote&gt;&lt;br /&gt;Pour enfin mettre tout le système à  jours avec cette commande&lt;br /&gt;&lt;blockquote&gt;aptitude full-upgrade&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2584574012226875065?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2584574012226875065/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/03/debian-upgrade-de-etch-lenny.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2584574012226875065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2584574012226875065'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/03/debian-upgrade-de-etch-lenny.html' title='[Debian] Upgrade de etch à lenny'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-5925837773698864191</id><published>2009-03-26T11:29:00.000+01:00</published><updated>2009-03-26T11:31:20.760+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IRC'/><category scheme='http://www.blogger.com/atom/ns#' term='Freenode'/><category scheme='http://www.blogger.com/atom/ns#' term='Channell'/><title type='text'>[IRC] Créer un channel sur freenode</title><content type='html'>Pour enregistrer un channel sur freenode il faut tout d'abord avoir un nom d'utilisateur enregistré.&lt;br /&gt;&lt;br /&gt;Pour enregistrer son nom d'utilisateur on procède comme ceci&lt;br /&gt;&lt;br /&gt;--&gt; Enregistrer le login&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/msg nickserv register mon_mot_de_passe mon_email@qqch.com&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;--&gt; Vous pouvez cacher votre adresse mail avec cette commande&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/msg nickserv set hidemail on&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;--&gt; Pour s'identifier&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/msg nickserv indentify mon_mot_de_passe&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Le nom de votre channel doit respecter une convention :&lt;br /&gt;&lt;br /&gt;- Si votre channel est officiel il doit commencer par #&lt;br /&gt;&lt;br /&gt;- Si votre channel n'est pas officiel il doit commencer pas ##&lt;br /&gt;&lt;br /&gt;Tout d'abord connectons nous à notre channel&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/JOIN #mon_channel&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Si vous êtes le seul sur ce channel vous serrez op sinon il vous faudra demander les droit op à un autre op !&lt;br /&gt;&lt;br /&gt;Nous allons enfin pouvoir enregistrer notre channel. Pour ceci nous utilisons cette commande :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/msg ChanServ register #mon_channel&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;A ce moment là votre channel vous est lié et il est donc créé !!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-5925837773698864191?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/5925837773698864191/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/03/irc-creer-un-channel-sur-freenode.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5925837773698864191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5925837773698864191'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/03/irc-creer-un-channel-sur-freenode.html' title='[IRC] Créer un channel sur freenode'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2044750856910857980</id><published>2009-01-21T14:29:00.003+01:00</published><updated>2009-01-21T14:53:35.384+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='temps'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>[Linux] Tenir son serveur à l'heure !</title><content type='html'>Suite au commentaire de Ghislain sur mon post sur le même thème j'ai décidé de rectifier le tir avec celui ci.  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Comme proposé par Ghislain il faut donc installer le paquet ntp&lt;/p&gt;  &lt;p class="MsoNormal"&gt;aptitude install ntp&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Celui ci lance un démon (ntpd) qui tien le serveur à l'heure mais à la différence de mettre un ntpdate dans une crontab celui ci ne "saute" pas directement à la nouvelle heure dans un retard est détecté. Il accélère l'horloge de la machine !&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Pourquoi ? C'est très simple. Admettons que nous utilisons un programme qui se base sur le timestamp Unix pour rafraichir ses informations et que dans la procédure de rafraichissement il se base sur les informations du dernier rafraichissement (vous me suivez oO ?).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Si on utilise ntpdate il sautera directement à l'heure actuelle. On n’effectuera donc pas certain rafraîchissement. Alors qu'avec le démon ntpd tous les rafraîchissements seront effectués.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Pour finir voici mon fichier /etc/ntp.conf qui n'a rien de compliqué.&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Ou est stocker les informations de décalage&lt;br /&gt;driftfile /var/lib/ntp/ntp.drift&lt;br /&gt;&lt;br /&gt;statsdir /var/log/ntpstats/&lt;br /&gt;statistics loopstats peerstats clockstats&lt;br /&gt;filegen loopstats file loopstats type day enable&lt;br /&gt;filegen peerstats file peerstats type day enable&lt;br /&gt;filegen clockstats file clockstats type day enable&lt;br /&gt;&lt;br /&gt;# Serveur ntp&lt;br /&gt;# Par defaut&lt;br /&gt;server ntp.univ-lyon1.fr default&lt;br /&gt;# Autre&lt;br /&gt;server 0.debian.pool.ntp.org&lt;br /&gt;server 1.debian.pool.ntp.org&lt;br /&gt;server 2.debian.pool.ntp.org&lt;br /&gt;server 3.debian.pool.ntp.org&lt;br /&gt;&lt;br /&gt;# Autorise les utilisateurs de réseau à ce servir de cette machine comme serveur de temps&lt;br /&gt;restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2044750856910857980?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2044750856910857980/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/01/linux-tenir-son-serveur-lheure.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2044750856910857980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2044750856910857980'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/01/linux-tenir-son-serveur-lheure.html' title='[Linux] Tenir son serveur à l&apos;heure !'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-5397898283723177118</id><published>2009-01-12T20:10:00.004+01:00</published><updated>2009-01-12T23:06:58.505+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='expression regulière'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><title type='text'>[Apache2] Décoposition du resultat d'une regex</title><content type='html'>Enfaite ce post ne vas pas vraiment parler de comment décomposer le résultat d'un regex dans apache2 pour la simple et bonne raison que je n'ai pas trouvé comment faire et encore moins si c'était possible. Je vais donc plutôt vous parler de la méthode que j'ai employée pour contourner mon problème.&lt;br /&gt;&lt;br /&gt;J'ai des utilisateurs que nous nommerons romain, tintin et milou.&lt;br /&gt;Ils ont chacun un dossier personnel du type : /home/"première lettre"/"première et deuxième lettre"/"nom".&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Exemple :&lt;br /&gt;pour tintin : /home/t/ti/tintin&lt;br /&gt;Pour milou : /home/m/mi/milou&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Dans leur dossier personnel ils ont un dossier public_html où ils peuvent mettre leur site web.&lt;br /&gt;&lt;br /&gt;Mon but est de ne pas à avoir à créer un alias pour chacun d'eux. (Vous aurez reconnu mes aptitudes [d'Informaticien|de faignant] !)&lt;br /&gt;&lt;br /&gt;La première solution que j'ai trouvée est de faire un lien symbolique depuis le DocumentRoot d’apache vers le dossier de l'utilisateur. Mais ceci n'est pas ce que je cherchais car il me faut toujours configurer ce lien à la main !&lt;br /&gt;&lt;br /&gt;J'ai donc décidé d'utiliser la directive AliasMatch d’apache2 comme ceci.&lt;br /&gt;&lt;blockquote&gt;AliasMatch "^/(.)(.)(.*)/(.*)"  "/home/$1/$1$2/$1$2$3/public_html/$4"&lt;br /&gt;AliasMatch "^/(.))(.*)"         "/home/$1/$2/$1$2$3/public_html"&lt;br /&gt;&lt;/blockquote&gt;La deuxième ligne permet de rediriger l'utilisateur même s'il ne met pas le / après le nom.&lt;br /&gt;De cette façon je n'ai pas à traiter la chaine récupérée pour en extraire la première, puis la deuxième lettre mais simplement à concaténer les chaines récupérées.&lt;br /&gt;&lt;br /&gt;Il vous faudra peux être aussi revoir les droits de visibilité. Je vous laisse ce que j'ai fait mais ne m'y attarderai pas dessus.&lt;br /&gt;&lt;blockquote&gt;        &amp;lt;DirectoryMatch "^/home/(.)/(.){2}/(.*)/public_html/"&amp;gt;&lt;br /&gt;                Options Indexes MultiViews&lt;br /&gt;                AllowOverride None&lt;br /&gt;                Order allow,deny&lt;br /&gt;           allow from all&lt;br /&gt;&amp;lt;/DirectoryMatch&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Toujours est-il que si quelqu'un sait s’il est possible, ou mieux, comment faire pour décomposer une chaine récupéré depuis AliasMatch je suis preneur !&lt;br /&gt;&lt;br /&gt;Sur ce ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-5397898283723177118?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/5397898283723177118/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2009/01/apache2-dcoposition-du-resultat-dune.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5397898283723177118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5397898283723177118'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2009/01/apache2-dcoposition-du-resultat-dune.html' title='[Apache2] Décoposition du resultat d&apos;une regex'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4763672666318615975</id><published>2008-12-18T15:15:00.005+01:00</published><updated>2008-12-18T15:18:10.661+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='openldap'/><category scheme='http://www.blogger.com/atom/ns#' term='ldap'/><title type='text'>[PHP] Hacher un mot de pass pour stockage LDAP.</title><content type='html'>Si vous souhaitez comme moi modifier un mot de passe utilisateur LDAP via un script PHP il vous faudra calculer le hach de son mot de passe. Un simple md5() ne suffisant voici la syntaxe à employer :&lt;br /&gt;&lt;br /&gt;$newPassword = '{md5}' . base64_encode(pack('H*', md5($password)));&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4763672666318615975?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4763672666318615975/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/php-hacher-un-mot-de-pass-pour-stockage.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4763672666318615975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4763672666318615975'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/php-hacher-un-mot-de-pass-pour-stockage.html' title='[PHP] Hacher un mot de pass pour stockage LDAP.'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4136152199939816564</id><published>2008-12-03T17:54:00.003+01:00</published><updated>2008-12-03T18:16:04.656+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='ligne de commande'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>[MySQL] Exporter et Importer une base de données MySQL</title><content type='html'>Il existe un outil intégré dans MySQL (sous Linux et sous Windows) nommé mysqldump. Il nous permet de faire une sauvegarde totale de notre base de données. Pour ce faire :&lt;br /&gt;mysqldump -u admin -p --all-databases &gt; dump.sql&lt;br /&gt;admin étant le nom de votre compte administrateur ayant accès à toute votre base.&lt;br /&gt;&lt;br /&gt;L'importation est toute aussi simple. Il suffit d'utiliser l'outil mysql en lui redirigeant le flux d'entré comme suit :&lt;br /&gt;mysql -u admin -p &lt; dump.sql&lt;br /&gt;&lt;br /&gt;dump.sql étant le fichier précédemment généré avec mysqldump.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4136152199939816564?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4136152199939816564/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/mysql-exporter-et-importer-une-base-de.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4136152199939816564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4136152199939816564'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/mysql-exporter-et-importer-une-base-de.html' title='[MySQL] Exporter et Importer une base de données MySQL'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2967534863185411319</id><published>2008-12-01T19:04:00.002+01:00</published><updated>2008-12-01T19:12:57.768+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Add-in'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>[Visual Studio] Utiliser SVN avec Visual Studio</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://ankhsvn.open.collab.net/images/ankhsvn.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 533px; height: 95px;" src="http://ankhsvn.open.collab.net/images/ankhsvn.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Il existe un petit add-in pour Visual Studio permettant de se connecter à un dépot SVN. Son nom ? AnkhSvn !&lt;br /&gt;Vous pouvez le télécharger ici : http://ankhsvn.open.collab.net/&lt;br /&gt;Une fois installé vous aurez de nouvelles options quand vous ferrez un clique droit dans l'explorateur de solution vous permettant d'utiliser les fonctionnalités de SVN que je ne détaillerai pas ici.&lt;br /&gt;&lt;br /&gt;Il vous est aussi possible de faire un ajout à un dépôt directement à la création du projet en sélectionnant l'option "Add To Subversion" ou encore d'ouvrir un projet directement sur SVN (File-&gt;Open-&gt;Subversion Project).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2967534863185411319?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2967534863185411319/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/visual-studio-utiliser-svn-avec-visual.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2967534863185411319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2967534863185411319'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/visual-studio-utiliser-svn-avec-visual.html' title='[Visual Studio] Utiliser SVN avec Visual Studio'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1400795859773159439</id><published>2008-12-01T12:39:00.005+01:00</published><updated>2008-12-01T18:46:45.158+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Erreur'/><title type='text'>[Visual Studio] Message : &lt;"Microsoft.Build.Tasks.Windows.GetWinFXPath" task could not be loaded&gt;</title><content type='html'>Si comme moi vous avez l'erreur ci-dessous, voici la méthode que j'ai utilisé pour corriger ce problème&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Error 1 The "Microsoft.Build.Tasks.Windows.GetWinFXPath" task could not be loaded from the assembly PresentationBuildTasks, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35. Could not load file or assembly 'PresentationBuildTasks, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. Le fichier spécifié est introuvable. Confirm that the &lt;usingtask&gt; declaration is correct, and that the assembly and all its dependencies are available.&lt;br /&gt;&lt;/usingtask&gt;&lt;/blockquote&gt;Aller dans le panneau de configuration -&gt; Programmes et fonctionnalités -&gt; Activer ou désactiver des fonctionnalités Windows&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TikRflCXhQs/STQhbNKCj8I/AAAAAAAAABk/1h5Nq2pwGZ0/s1600-h/fonct_windows.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_TikRflCXhQs/STQhbNKCj8I/AAAAAAAAABk/1h5Nq2pwGZ0/s400/fonct_windows.jpg" alt="" id="BLOGGER_PHOTO_ID_5274877814829649858" border="0" /&gt;&lt;/a&gt;Activer ensuite le dot net framework et le tour est joué !&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_TikRflCXhQs/STQilKOuwdI/AAAAAAAAABs/BJiUB3pS3iQ/s1600-h/fonct.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 352px;" src="http://1.bp.blogspot.com/_TikRflCXhQs/STQilKOuwdI/AAAAAAAAABs/BJiUB3pS3iQ/s400/fonct.jpg" alt="" id="BLOGGER_PHOTO_ID_5274879085354336722" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1400795859773159439?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1400795859773159439/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/visual-studio-message.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1400795859773159439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1400795859773159439'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/12/visual-studio-message.html' title='[Visual Studio] Message : &lt;&quot;Microsoft.Build.Tasks.Windows.GetWinFXPath&quot; task could not be loaded&gt;'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_TikRflCXhQs/STQhbNKCj8I/AAAAAAAAABk/1h5Nq2pwGZ0/s72-c/fonct_windows.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1785060529476765903</id><published>2008-10-24T00:10:00.007+02:00</published><updated>2009-01-02T12:15:21.737+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='temps'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>[DEPRECIER][Debian] Tenir son serveur à l'heure.</title><content type='html'>&lt;span style="font-weight:bold;color:red;"&gt;Attention il n'est pas conseillé de suivre les instructions de cet article. Veuillez vous référer aux commentaires pour plus d'informations.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Il est important pour un serveur d'être à l'heure. Pour cela il existe un moyen simple et automatique : ntpdate. ntpdate est un petit logiciel qui se connecte à un serveur ntp et se charge de garder votre serveur à l'heure.&lt;br /&gt;&lt;br /&gt;Son installation est fort simple &lt;br /&gt;&lt;blockquote&gt;aptitude install ntpdate&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;et sont utilisation l'est tout aussi&lt;br /&gt;&lt;blockquote&gt;ntpdate ntp.serveur.tld&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Enfin pour tenir à jour votre serveur, nous pouvons configurer un cron.&lt;br /&gt;&lt;blockquote&gt;crontab -e&lt;/blockquote&gt;&lt;br /&gt;Ajouter la ligne&lt;br /&gt;&lt;blockquote&gt;0 */1 * * * /usr/sbin/ntpdate ntp.serveur.tld&lt;/blockquote&gt;&lt;br /&gt;Ceci effectuera une mise à jour toute les heures de l'heure !!&lt;br /&gt;&lt;br /&gt;(Avec bien sure l'adresse exacte de votre serveur ntp !)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1785060529476765903?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1785060529476765903/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/debian-tenir-son-serveur-lheure.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1785060529476765903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1785060529476765903'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/debian-tenir-son-serveur-lheure.html' title='[DEPRECIER][Debian] Tenir son serveur à l&apos;heure.'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-7134830627204363441</id><published>2008-10-20T00:31:00.002+02:00</published><updated>2008-10-20T00:53:38.861+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='reseau'/><category scheme='http://www.blogger.com/atom/ns#' term='partage'/><category scheme='http://www.blogger.com/atom/ns#' term='nfs'/><title type='text'>[NFS] Installer un serveur de partage sous debian</title><content type='html'>Il est souvent utile de partager des données dans un réseau. Il existe de nombreuses méthodes pour ceci, je vais ici présenter l'installation d'un serveur de partage basé sur NFS (Network File System) et son utilisation pour les clients.&lt;br /&gt;L'installation du serveur est assez simple car il suffit de faire un &lt;br /&gt;&lt;blockquote&gt;aptitude install nfs-kernel-server&lt;/blockquote&gt;&lt;br /&gt;et le tour est joué.&lt;br /&gt;&lt;br /&gt;La configuration des partages se fait dans /etc/exports. Pour plus d'informations sur la rédaction de ce fichier de configuration vous pouvez consulter le man&lt;br /&gt;&lt;blockquote&gt;man exports&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Pour faire simple voici la syntaxe de ce fichier :&lt;br /&gt;&lt;blockquote&gt;partage utilisateur(options)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Chaque ligne représente un partage et nous pouvons spécifier un groupe d'utilisateur (@groupe) ou des adresses IP (avec ou sans masque de sous-réseau) à la place d'un simple utilisateur.&lt;br /&gt;Il y a beaucoup d'options disponibles. Les plus féquentes sont :&lt;br /&gt;rw : pour partager les fichiers en lecture/ecriture (par défaut ils sont en lecture seul) &lt;br /&gt;sync et async qui permet de spécifier si le serveur doit répondre avant (async) ou après(sync) avoir écrit les données sur le disque. async est plus performant mais peut corrompre des fichiers en cas de plantage du serveur. &lt;br /&gt;Par exemple pour partager tout les dossiers home des utilisateurs sur notre réseau local, nous pourrions rajouter dans le fichier /etc/exports&lt;br /&gt;&lt;blockquote&gt;/home/ 192.168.1.0/255.255.255.0(rw, sync)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Le client pour monter son partage NFS doit tout d'abord installer nfs-common&lt;br /&gt;&lt;blockquote&gt;aptitude install nfs-common&lt;/blockquote&gt;&lt;br /&gt;Ensuite il peut effectuer la commande&lt;br /&gt;&lt;blockquote&gt;mount -t nfs serveur_nfs:partage destination&lt;/blockquote&gt;&lt;br /&gt;Exemple :&lt;br /&gt;&lt;blockquote&gt;mount -t nfs 192.168.1.25:/home/ /mnt/home/&lt;/blockquote&gt;&lt;br /&gt;ainsi le dossier partagé /home sera monté dans /mnt/home&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-7134830627204363441?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/7134830627204363441/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/nfs-installer-un-serveur-de-partage.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7134830627204363441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7134830627204363441'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/nfs-installer-un-serveur-de-partage.html' title='[NFS] Installer un serveur de partage sous debian'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1577451167418433381</id><published>2008-10-16T19:17:00.005+02:00</published><updated>2008-10-16T19:24:07.634+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='encodage'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>[Apache2] Encodage de caractère</title><content type='html'>Il est fréquent qu'après la réinstallation d'un serveur apache2, que nos caractères spéciaux (é, à, û, ÿ, ...) ne s'affiche pas correctement. Ceci peut être du à plusieurs choses.&lt;br /&gt;&lt;br /&gt;Soit vous n'avez pas bien spécifier votre encodage dans votre page web avec la balise :&lt;br /&gt;&lt;blockquote&gt;&amp;lt;?xml version="1.0" encoding="ISO-8859-1" ?&amp;gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Soit votre serveur ne prend pas par défaut l'encodage de vos pages. Par exemples pour l'encodage ISO-8859-1. Il faut rajouter (ou dé-commenter) dans votre httpd.conf la ligne :&lt;br /&gt;&lt;blockquote&gt;AddDefaultCharset ISO-8859-1&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1577451167418433381?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1577451167418433381/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/apache2-encodage-de-caractre.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1577451167418433381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1577451167418433381'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/apache2-encodage-de-caractre.html' title='[Apache2] Encodage de caractère'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2382974833078275019</id><published>2008-10-15T22:32:00.002+02:00</published><updated>2008-10-15T22:42:49.610+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='PHPMyAdmin'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>[PHPMyAdmin] Installer PHPMyAdmin sur un serveur distant du serveur MySQL</title><content type='html'>L'installation de PHPMyAdmin par défaut se connecte au serveur MySQL local (soit localhost). Si comme moi vous avez décentralisé votre base de données vous voudrez avoir accès à celle-ci via PHPMyAdmin tout de même. Et bien ... (comme toujours) ... c'est possible !&lt;br /&gt;&lt;br /&gt;La configuration à faire n'est pas très compliquée car PHPMyAdmin n'est en soit qu'une application PHP. Il vous faudra éditer le fichier &lt;br /&gt;&lt;blockquote&gt;/etc/phpmyadmin/config.inc.php&lt;/blockquote&gt;&lt;br /&gt;Dans celui-ci nous retrouvons, tout d'abord une syntaxe PHP, mais aussi beaucoup de lignes commentées. La variable à dé-commenter et éditer qui nous intéresse est :&lt;br /&gt;&lt;blockquote&gt;$cfg['Servers'][$i]['host'] = 'localhost';&lt;/blockquote&gt;&lt;br /&gt;Il suffit de renseigner l'adresse de votre serveur MySQL et le tour est joué.&lt;br /&gt;Remarquez que vous pouvez aussi éditer la variable $cfg['Servers'][$i]['port'] pour changer le port de connexion ou encore d'autres variables que je vous laisse le soin de découvrir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2382974833078275019?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2382974833078275019/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/phpmyadmin-installer-phpmyadmin-sur-un.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2382974833078275019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2382974833078275019'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/phpmyadmin-installer-phpmyadmin-sur-un.html' title='[PHPMyAdmin] Installer PHPMyAdmin sur un serveur distant du serveur MySQL'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-8943577063327211118</id><published>2008-10-15T21:14:00.002+02:00</published><updated>2008-10-15T21:18:28.808+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='ligne de commande'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>[MySQL] Connaitre la version de MySQL  sous Linux</title><content type='html'>Pour connaitre la version de MySQL rien de plus simple il suffit de taper&lt;br /&gt;mysql -V&lt;br /&gt;et vous obtiendrez une chaine où nous trouvons l'information. Cette chaine est du type :&lt;br /&gt;mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-8943577063327211118?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/8943577063327211118/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/mysql-connaitre-la-version-de-mysql.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8943577063327211118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8943577063327211118'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/mysql-connaitre-la-version-de-mysql.html' title='[MySQL] Connaitre la version de MySQL  sous Linux'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-8856167449723043443</id><published>2008-10-15T20:42:00.004+02:00</published><updated>2008-10-15T22:31:57.855+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='ligne de commande'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>[MySQL] Installer un serveur MySQL accessible par le réseau et de l'extérieur</title><content type='html'>Tout le monde connait MySQL, le SGBD gratuit qui est abondamment utilisé sur le web. Nous allons donc voir ici comment installer MySQL et le rendre accessible aux machines de notre réseau local.&lt;br /&gt;&lt;br /&gt;Tout d'abord il nous faut installer MySQL. Pour cela nous utiliserons la commande&lt;br /&gt;&lt;blockquote&gt;aptitude install mysql-server&lt;/blockquote&gt;&lt;br /&gt;Si vous n'utilisez pas le système de package apt le nom du package doit être sensiblement le même. Reportez le donc dans votre syntaxe habituelle.&lt;br /&gt;&lt;br /&gt;Il faut tout d'abord préciser le mot de passe root. Pour cela il faut se connecter à MySQL en ligne de commande via la commande :&lt;br /&gt;&lt;blockquote&gt;mysql&lt;/blockquote&gt;&lt;br /&gt;Et taper ceci (avec votre mot de passe !) :&lt;br /&gt;&lt;blockquote&gt;SET PASSWORD FOR root@localhost = PASSWORD('mot_de_pass');&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Vous pouvez aussi changer le nom de l'utilisateur root (pour plus de sécurité) via :&lt;br /&gt;&lt;blockquote&gt;UPDATE mysql.user SET user='nom_du_root' WHERE user='root';&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Pour que vous puissiez vous connecter depuis l'extérieur il vous faut donner des droits à un utilisateur. Pour cela on utilisera la commande suivant :&lt;br /&gt;&lt;blockquote&gt;GRANT ALL PRIVILEGES ON *.* TO 'nom'@'10.0.0.0/255.0.0.0';&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Vous pouvez ajouter l'option WITH GRANT OPTION à cette commande ce qui permettra à l'utilisateur d'exécuter les commande GRANT (modification de privilèges).&lt;br /&gt;Il vous faut bien entendu mettre l'adresse IP et le masque de sous réseau en rapport avec votre installation.&lt;br /&gt;Le paramètre *.* représente la base de donnée et la table.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A ce moment là l'utilisateur qui à tout les droits n'a pas de mot de passe il faut donc lui en attribuer un. (Même si l'utilisateur est root par exemple et que vous lui avez déjà attribué un mot de passe pour localhost il vous faut en attribuer un autre (ou le même)).&lt;br /&gt;&lt;blockquote&gt;SET PASSWORD FOR ‘nom’@’10.0.0.0/255.0.0.0’ = PASSWORD(‘mot_de_pass’);&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Il vous faudra par contre recharger les privilèges:&lt;br /&gt;&lt;blockquote&gt;FLUSH PRIVILEGES&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-8856167449723043443?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/8856167449723043443/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/mysql-installer-un-serveur-mysql.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8856167449723043443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8856167449723043443'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/10/mysql-installer-un-serveur-mysql.html' title='[MySQL] Installer un serveur MySQL accessible par le réseau et de l&apos;extérieur'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-154066484664095037</id><published>2008-09-26T18:13:00.004+02:00</published><updated>2009-06-04T11:33:43.934+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='reseau'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[Ubuntu] Connection au réseau au démarage</title><content type='html'>Si comme moi vous avez un serveur qui tourne sous ubuntu server (7.10) vous avez surement remarqué qu'il faut se connecter au réseau à chaque démarrage. Bien sur faire un dhclient c'est rapide mais ce n’est pas pratique quand on est à l'autre bout du globe et qu'on a accès à cette machine seulement via ssh ou tout simplement si on est faignant.&lt;br /&gt;Pour ma part c'est la deuxième proposition qui m'a motivé à trouver une solution à ce problème.&lt;br /&gt;&lt;br /&gt;Rien de bien compliqué, le but est d’effectuer une connexion au réseau au démarrage.&lt;br /&gt;&lt;br /&gt;Pendant le démarrage, il est exécuté plusieurs scripts et l'un d’eux est /etc/init.d/rc.local. C'est le dernier script exécuté par l'init.&lt;br /&gt;&lt;br /&gt;Nous allons donc éditer ce script avec la commande :&lt;br /&gt;&lt;blockquote&gt;sudo nano /etc/init.d/rc.local&lt;/blockquote&gt;&lt;br /&gt;Il faut maintenant rajouter la ligne de connexion. Un "dhclient" fera l'affaire.&lt;br /&gt;&lt;blockquote&gt;dhclient&lt;/blockquote&gt;Voila mais cette configuration n'est pas très propre à mon gout même si elle à le mérite de fonctionner. Nous allons donc aussi étudier l'édition du fichier /etc/network/interfaces et utiliser une configuration IP static (ce qui est préférable pour un serveur tout de même !!)&lt;br /&gt;&lt;br /&gt;Donc éditons le fichier /etc/network/interfaces&lt;br /&gt;&lt;blockquote&gt;sudo nano /etc/network/interfaces&lt;br /&gt;&lt;/blockquote&gt;Ici vous devez déjà avoir quelque ligne du style :&lt;br /&gt;&lt;blockquote&gt;auto lo&lt;br /&gt;iface lo inet loopback&lt;br /&gt;auto eth0&lt;br /&gt;iface eth0 inet dhcp&lt;br /&gt;&lt;/blockquote&gt;La première interface correspond à l'interface de loopback utilisé en local pour le System d'exploitation. La deuxième est notre interface à configurer.&lt;br /&gt;&lt;br /&gt;Nous allons donc changer notre iface eth0 inet dhcp par&lt;br /&gt;&lt;blockquote&gt;auto eth1&lt;br /&gt;iface eth1 inet static&lt;br /&gt;address 192.168.1.24&lt;br /&gt;netmask 255.255.255.0&lt;br /&gt;&lt;/blockquote&gt;Il faut bien entendu que vous renseigner votre interface, votre adresse IP et votre masque à vous car ma config n'est surement pas la votre !&lt;br /&gt;iface représente notre interface et sa méthode de connexion, address l’adresse IP et netmask le masque de sous réseau.&lt;br /&gt;&lt;br /&gt;Et voila nous sauvegardons le tout et redémarrons et là, miracle ... notre ifconfig nous informe que nous somme correctement connecté !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-154066484664095037?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/154066484664095037/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/ubuntu-connection-au-rseau-au-dmarage.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/154066484664095037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/154066484664095037'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/ubuntu-connection-au-rseau-au-dmarage.html' title='[Ubuntu] Connection au réseau au démarage'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-3725196796642716586</id><published>2008-09-17T12:09:00.007+02:00</published><updated>2008-09-18T09:12:11.261+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='Stage'/><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='PowerBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='TFS'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='OrcaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='MsBuild'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>[eXtrem Programming] PowerBuilder, Team Foundation Server, OrcaScript, MsBuild, Exchange and many more !</title><content type='html'>&lt;blockquote&gt;Ceci est la première version du rapport des activités produites durant mon&lt;br /&gt;stage de 3 mois en entreprise. Elle concerne la mise en place de techniques&lt;br /&gt;d'eXtrem Programming (XP). Ici les techniques mises en place sont :&lt;br /&gt;-&lt;br /&gt;L'intégration continue : La génération d'un exécutable à partir de sources&lt;br /&gt;récupérées depuis un source control.&lt;br /&gt;- Tests unitaires : La mise en place de&lt;br /&gt;test unitaire&lt;br /&gt;Le tout devra être communiqué aux développeurs. Cette partie&lt;br /&gt;sera appelée reporting.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;Le but principal de la mise en place d'une telle installation est la&lt;br /&gt;propriété collective du code. En effet toutes les sources étant stockées sur un&lt;br /&gt;même serveur et toujours accessibles, tout les développeurs ont accès aux&lt;br /&gt;mêmes sources en même temps. De même ils peuvent déposer leurs contributions aux&lt;br /&gt;projets.&lt;br /&gt;&lt;br /&gt;C'est ce dernier point qui pose problème. En effet, cette méthode ne garantit&lt;br /&gt;nullement que deux personnes ne modifient pas deux fichiers (distincts) qui&lt;br /&gt;compileront très bien indépendamment l'un de l'autre (sur les machines des&lt;br /&gt;utilisateurs respectifs) mais qui seraient en conflit lors du build de&lt;br /&gt;l'application.&lt;br /&gt;&lt;br /&gt;Il est donc nécessaire de mettre en place une solution à ce problème. Nous&lt;br /&gt;allons donc mettre en place un système d'intégration continue qui vérifiera à&lt;br /&gt;chaque changement si l'application ne subit pas de régression, ceci couplé à des&lt;br /&gt;tests unitaires, la non régression de l'application sera complètement&lt;br /&gt;vérifiée.&lt;br /&gt;&lt;br /&gt;Pour vérifier si l'application ne subit pas de régression nous compilerons à&lt;br /&gt;chaque changement l'intégralité du programme. Ainsi si des erreurs surviennent&lt;br /&gt;nous en informerons les fautifs pour qu'il corrige leurs erreurs. Aussi les&lt;br /&gt;erreurs étant détectés au plus vite elles seront corrigées aussi au plus vite&lt;br /&gt;évitant des heures de débuggage pour déterminer leurs sources si elles avaient&lt;br /&gt;été détectés plus tard !&lt;br /&gt;Nous&lt;br /&gt;pouvons aussi noter que l'intégration continu permet d'avoir en permanence une&lt;br /&gt;version compilé avec les dernières sources de&lt;br /&gt;disponible.&lt;br /&gt;&lt;br /&gt;Les tests unitaires, eux, serviront à savoir si les changements effectués sur&lt;br /&gt;une fonction n'influent pas négativement sur ses actions et valeurs de retours.&lt;br /&gt;Les tests unitaires ne sont pas présentés dans ce&lt;br /&gt;document.&lt;br /&gt;&lt;br /&gt;Le service à mettre en place ici se base sur une installation existante.&lt;br /&gt;Celle-ci comprend plusieurs produit développez à l'aide de PowerBuilder© de la&lt;br /&gt;société Sybase© ainsi qu'un source control basé sur Visual Studio Team&lt;br /&gt;Foundation Server© de la société&lt;br /&gt;Microsoft©.&lt;br /&gt;&lt;br /&gt;Notre solution devra bien entendu s'autogérer.&lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Suite de l'article en telechargement &lt;a href="http://pockost.com/~romain/romain/Document/Stage/"&gt;ici&lt;/a&gt;. J'attends vos retours, nombreux je l'espère même si il n'y doit pas y avoir des centaines de malades qui souhaitent faire de l'intégration continue avec PowerBuilder !!&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Attention j'ai mi la version doc (7.6Mo) et la version rtf pour ceux qui n'ont pas Microsoft Word qui est beaucoup plus grosse ... (77Mo)&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-3725196796642716586?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='application/msword' href='http://pockost.com/~romain/romain/Document/Stage/rapport_publi.doc' length='0'/><link rel='enclosure' type='' href='http://pockost.com/~romain/romain/Document/Stage/rapport_publi.rtf' length='0'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/3725196796642716586/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/extrem-programming-powerbuilder-team.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3725196796642716586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3725196796642716586'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/extrem-programming-powerbuilder-team.html' title='[eXtrem Programming] PowerBuilder, Team Foundation Server, OrcaScript, MsBuild, Exchange and many more !'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-8108570607537399826</id><published>2008-09-16T09:36:00.009+02:00</published><updated>2008-11-27T15:16:04.465+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='htaccess'/><category scheme='http://www.blogger.com/atom/ns#' term='cron'/><title type='text'>[Linux] Appeler une page web à distance et à intervalles reguliers avec Cron, wget et htaccess</title><content type='html'>Pour le besoin d'un site internet les taches automatisées et planifiées sont très importantes. Sous linux ces taches s'appellent Cron. De plus les développeurs, pour la sécurité de leurs applications, protègent (et ils ont tout intérêt à le faire) leurs scripts d'automatisations par des .htaccess limitant l'accès à ceux ci par un système de login/mot de passe.&lt;br /&gt;Si nous voulons automatiser l'exécution de ces pages l'une des méthodes est donc l'utilisation d'un cron. Nous utiliserons la commande wget pour récupérer la page et préciser les login/mot de passe.&lt;br /&gt;&lt;br /&gt;Tout d'abord nous devons éditer nos taches cron. Pour ce faire :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Crontab –e &lt;/blockquote&gt;Vous arrivez dans la liste de vos taches. Par exemple vous pourriez avoir la mise à jour automatique de l'heure toute les heures avec la ligne :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# m h dom mon dow command&lt;br /&gt;0 0 * * * ntpdate ntp.uhb.fr &lt;/blockquote&gt;(La première ligne est un commentaire elle n'est pas exécuté.)&lt;br /&gt;Expliquons la configuration d'une nouvelle tache :&lt;br /&gt;Le commentaire tout en haut nous donne la structure de rédaction d'une tache. Cette structure est la suivante :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Minute, Heure, Jour, Mois, Jour de la semaine, commande &lt;/p&gt;&lt;/blockquote&gt;Pour les minutes, heures, jours, mois et jours de la semaine vous pouvez spécifier une ou plusieurs valeurs ou une étoile correspondant à "tout". Ainsi pour effectuer une tache tout les mardis de janvier à minuit nous aurions :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;# m h dom mon dow command&lt;br /&gt;0 0 * 0 2 commande&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;Attention toute les valeurs commence à 0 et le jour de la semaine 0 est dimanche.&lt;br /&gt;Comme vous l'avez compris le dernier paramètre est la commande à exécuter.&lt;br /&gt;Vous pouvez aussi directement éditer les cron (qui sont stockés dans /etc/cron.d/) mais il vous faudra en plus renseigner le login de l'utilisateur qui exécutera la tache.&lt;br /&gt;Enfin si vous voulez exécuter une tache plusieurs fois par heures (par exemple) il vous suffit de renseigner les valeurs séparé par des virgules comme ceci : &lt;/p&gt;&lt;blockquote&gt;# m h dom mon dow command&lt;br /&gt;0,20,30 0 * 0 2 commande&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;Ainsi la commande s'exécutera tout les mardi de janvier à minuit, minuit 20 et minuit 30.&lt;br /&gt;Enfin si vous voulez exécuter une tache à intervalles réguliers par exemple toute les 2 minutes vous pouvez préciser */intervalle. &lt;/p&gt;&lt;blockquote&gt;# m h dom mon dow command&lt;br /&gt;*/2 * * * * commande &lt;/blockquote&gt;&lt;p&gt;La commande s'exécutera toutes les deux minutes&lt;br /&gt;&lt;br /&gt;Reste à renseigner la commande pour exécuter notre page. Nous utiliserons wget.&lt;br /&gt;L'option –O redirige le flux.&lt;br /&gt;L'option --http-user précise le login du htaccess&lt;br /&gt;L'option --http-passwd précise le mot de passe du htaccess.&lt;br /&gt;Enfin le dernier paramètre est la page à charger.&lt;br /&gt;Ainsi : &lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;0 18 * * * wget -0 /dev/null --http-user=admin --http-passwd=XXXXXX&lt;br /&gt;www.site.com/cron/cron.php &lt;/blockquote&gt;&lt;br /&gt;&lt;p&gt;Attention si vous référencer un site de la forme http://www.monsite.com/ qui est hebergé sur votre serveur noubliez pas de mettre, dans votre fichier hosts (/etc/hosts) une ligne du type :&lt;/p&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;127.0.0.1 www.monsite.com&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-8108570607537399826?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/8108570607537399826/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/linux-appeler-une-page-web-distance-et.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8108570607537399826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8108570607537399826'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/linux-appeler-une-page-web-distance-et.html' title='[Linux] Appeler une page web à distance et à intervalles reguliers avec Cron, wget et htaccess'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-155667437188442883</id><published>2008-09-15T15:53:00.005+02:00</published><updated>2008-09-15T16:18:06.038+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>[Zend Framework] Faire un join</title><content type='html'>Il se peut que vous rencontriez une erreur de type :&lt;br /&gt;Select query cannot join with another table in /var/www/ etc ...&lt;br /&gt;&lt;br /&gt;Ceci est du à Zend Framework qui n'autorise pas par défaut de faire une simple jointure sur une table sous jacente.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;L'objet Zend_Db_Table_Select est destiné à sélectionner des données sur une table précise. Des jointures peuvent être faites, mais il n'est pas possible de sélectionner des colonnes ne faisant pas partie de la table sous jacente. Cependant, ceci aurait pu être utile dans certains cas, et l'objet Zend_Db_Table_Select possède une clause spéciale déverrouillant cette limitation. Passez la valeur false à sa méthode setIntegrityCheck. Il est alors possible de sélectionner des colonnes hors table. Attention toutefois, l'objet row/rowset résultant sera verrouillé. Impossible d'y appeler save(), delete() ou même d'affecter une valeur à certains de ses champs. Une exception sera systématiquement levée.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Pour enlever cette protection vous devez spécifier setIntegrityCheck(false) dans votre requête.&lt;br /&gt;&lt;br /&gt;Par exemple pour une classe simple de récupération de news j'ai :&lt;br /&gt;&lt;blockquote&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* News&lt;br /&gt;*&lt;br /&gt;* @author Lermit&lt;br /&gt;* @version 1&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;require_once 'Zend/Db/Table/Abstract.php';&lt;br /&gt;&lt;br /&gt;class News extends Zend_Db_Table_Abstract {&lt;br /&gt;&lt;br /&gt;protected $_name = 'news';&lt;br /&gt;protected $_primary = 'news_id';&lt;br /&gt;protected $_dependentTables = array("Users");&lt;br /&gt;protected $_referenceMap = array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'Reporter' =&gt; array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'columns' =&gt; 'user_id',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'refTableClass' =&gt; 'Users',&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;'refColumns' =&gt; 'user_id'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt;* getLast&lt;br /&gt;* retourne les $numberOfNews dernières news à partir de $start&lt;br /&gt;* @author lermit&lt;br /&gt;* @version 1&lt;br /&gt;* @param $numberOfNews nombre de news&lt;br /&gt;* @param $start à partir de la n-ieme news&lt;br /&gt;* @return les news&lt;br /&gt;*/&lt;br /&gt;public function getLast($numberOfNews,$start)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$select = $this-&gt;select()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&gt;setIntegrityCheck(false)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&gt;from( array('n' =&gt; $this-&gt;_name), array('text','date','user_id'))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&gt;join(array('u' =&gt;'users'),'u.user_id=n.user_id','login')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&gt;order('date DESC')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&gt;limit($numberOfNews,$start);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return $this-&gt;fetchAll($select);&lt;br /&gt;}&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;Tout d'abord je spécifie le nom et la clef primaire de ma table puis les relations de jointure avec les autres tables.&lt;br /&gt;$_dependentTable = tableau de la/les classe(s) de la(des) table(s) dépendante(s).&lt;br /&gt;$_referenceMap = tableau de tableaux de dépendances. Chaque dépendance est listée sous la forme d'un tableau construisant comme suit :&lt;br /&gt;'columns' =&gt; 'colonne de la classe courante',&lt;br /&gt;'refTableClass' =&gt; 'classe de la table à joindre',&lt;br /&gt;'refColumns' =&gt; 'colonne de la table à joindre'&lt;br /&gt;Bref ma requête utilise bien -&gt;setIntegrityCheck(false) ce qui m'enlèvera cette fâcheuse erreur !!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-155667437188442883?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.z-f.fr/forum/viewtopic.php?id=991' title='[Zend Framework] Faire un join'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/155667437188442883/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/zend-framework-faire-un-join.html#comment-form' title='4 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/155667437188442883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/155667437188442883'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/zend-framework-faire-un-join.html' title='[Zend Framework] Faire un join'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-944025932582448801</id><published>2008-09-15T10:24:00.002+02:00</published><updated>2008-09-16T10:12:42.922+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Divertissement'/><title type='text'>[Divertissement] L'effet papillon</title><content type='html'>Voici le site d'un grand magasin hollandais : HEMA. Cette enseigne compte plus de 150 magasins au Pays Bas, en Belgique, au Luxembourg et en Allemagne …&lt;br /&gt;Bref une grosse boite mais … pas démuni d'humour.&lt;br /&gt;Je vous laisse jeter un œil sur leur site :&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://producten.hema.nl/"&gt;http://producten.hema.nl/&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;Le développeur a dut bien s'amuser.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-944025932582448801?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/944025932582448801/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/divertissement-leffet-papillon.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/944025932582448801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/944025932582448801'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/divertissement-leffet-papillon.html' title='[Divertissement] L&apos;effet papillon'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2324973953823239641</id><published>2008-09-12T15:53:00.001+02:00</published><updated>2008-09-12T16:00:09.521+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='icone'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>[HTML] Ajout d'une icone</title><content type='html'>Pour ajouter une icône dans une page HTML il faut tout d'abord avoir une icône !! (Taille 16*16 ou 32*32 extension : ico)&lt;br /&gt;&lt;br /&gt;Après il vous suffit d'ajouter ces lignes :&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;!-- Ci-dessous l'icone du site --&amp;gt;&lt;br /&gt;&amp;lt;link rel="icon" type="image/png" href="/images/favicon.ico" /&amp;gt;&lt;br /&gt;&amp;lt;!--[if IE]&amp;gt;&lt;br /&gt;           &lt;br /&gt;&amp;lt;link rel="shortcut icon" type="image/x-icon" href="/images/favicon.ico" /&amp;gt;&lt;br /&gt;&amp;lt;![endif]--&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;La première ligne est la ligne standard à tous les navigateurs sauf IE.&lt;br /&gt;Les lignes suivantes correspondent à l'ajout pour internet explorer en utilisant un "hack". Ainsi seul Internet Explorer lira cette ligne.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2324973953823239641?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://xhtml.net/xhtmlcss/favicon' title='[HTML] Ajout d&apos;une icone'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2324973953823239641/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/html-ajout-dune-icone.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2324973953823239641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2324973953823239641'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/html-ajout-dune-icone.html' title='[HTML] Ajout d&apos;une icone'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1599087380431608560</id><published>2008-09-12T11:54:00.002+02:00</published><updated>2008-09-12T11:58:12.909+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL server'/><category scheme='http://www.blogger.com/atom/ns#' term='authentification'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><title type='text'>[Base de Données] Recherche du provider et de la chaine de connection ?</title><content type='html'>Pour ne plus chercher comment se connecter à tel ou tel base avec quel provider ? etc ...&lt;br /&gt;&lt;br /&gt;Ce site web recense un nombre impressionnant de méthodes de connexions et pourrait en aider plus d'un ;)&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://www.connectionstrings.com/default.aspx"&gt;http://www.connectionstrings.com/default.aspx&lt;/a&gt;&lt;/blockquote&gt;Bonne connexion !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1599087380431608560?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.connectionstrings.com' title='[Base de Données] Recherche du provider et de la chaine de connection ?'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1599087380431608560/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/base-de-donnes-recherche-du-provider-et.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1599087380431608560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1599087380431608560'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/base-de-donnes-recherche-du-provider-et.html' title='[Base de Données] Recherche du provider et de la chaine de connection ?'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-3448634467413360104</id><published>2008-09-12T09:10:00.005+02:00</published><updated>2009-11-25T21:57:33.642+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL server'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Installation'/><title type='text'>[SQL Server] Mise en place du serveur, Mise en place d'un shema de base, activation du protocole TCP/IP</title><content type='html'>&lt;img style="margin: 0px auto 10px; display: block; width: 400px; text-align: center;" alt="" src="http://www.ssw.com.au/ssw/images/Microsoft/logo_sql_server_2nd.gif" border="0" /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Pour faire des tests sur Entity Framework j'ai du installer une base de donnée de test. J'ai choisi Microsoft SQL Server Express 2005 car il est complètement intégré avec l'Entity Framework.&lt;br /&gt;&lt;br /&gt;Tout d'abord il convient de télécharger SQL Server Express 2005. Il se trouve à cette adresse (40.9 Mo) :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/express/bb410791.aspx"&gt;http://msdn.microsoft.com/fr-fr/express/bb410791.aspx&lt;/a&gt;&lt;/blockquote&gt;Attention pour installer le serveur il faut avoir au préalable installer Windows Installer 3.1 (ou supérieur) qui est &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=889482fc-5f56-4a38-b838-de776fd4138c&amp;amp;displaylang=fr"&gt;disponible ici&lt;/a&gt;. Il faut aussi posséder le dot net Framework 2 ou supérieur.Une fois le téléchargement fini il faut exécuter l'exécutable, l'installateur décompresse tout d'abord les données, il faut ensuite accepter la licence et enfin cliquer sur installer ! Vous arrivez après dans l'installateur en lui même. Il faut tout d'abord une vérification du système et vous informe des non conformités avec l'installation. Il vous demande votre nom et société puis les composants que vous voulez installer. Il faut sélectionner ce que vous avez besoin. Ici nous avons tout sélectionné. Pour le mode d'authentification vous pouvez choisir entre l'authentification Windows (qui fonctionne avec votre compte Windows) ou l'authentification mixte qui rajoute une entrée "non-Windows". Ceci permet de récupérer la base en cas de problèmes avec le réseau d'authentification Windows.Ensuite deux choix s'offrent à vous : activer les instances d'utilisateur qui si il est coché permet aux utilisateurs d'exécuter des instances séparé de l'instance parent. Ainsi chaque utilisateur peut avoir sa propre instance. Nous l'avons coché. L'autre option : Ajouter l'utilisateur au rôle Administrateur SQL Server permet à l'utilisateur qui installe la base de données d'être administrateur de celle-ci. Ensuite vous pouvez spécifier si vous voulez ou non envoyer des rapports à Microsoft sur le fonctionnement de son produit. Enfin l'installation se lance et après quelques minutes tout est fini.&lt;br /&gt;&lt;br /&gt;Pour activer votre base de données sur le réseau il faut aller dans Gestionnaire de configuration SQL Server (nouvellement installé) et dans Configuration du réseau SQL Server 2005 -&gt; Protocoles pour SQLEXPRESS sélectionner TCP/IP, bouton de droite activer. Activer aussi canaux nommées. Il faut ensuite redémarrer le service. Pour ceci dans Services SQL Server 2005, sélectionner SQL Server (SQLEXPRESS), bouton de droite, redémarrer. Enfin pour que le serveur puisse être facilement listé par les clients nous allons démarrer SQL Server Browser. Faire bouton de droite sur celui ci propriétés, Service, changer le Mode de démarrage en Automatique, cliquer sur ok. Ensuite bouton de droite démarrer.&lt;br /&gt;&lt;br /&gt;Une fois l'installation terminée nous allons intégrer un schéma de base, proposé par Microsoft pour nos tests. Vous trouverez plusieurs schémas de base à cette adresse :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://www.microsoft.com/sql/editions/express/starterschemas.mspx"&gt;http://www.microsoft.com/sql/editions/express/starterschemas.mspx&lt;/a&gt;&lt;/blockquote&gt;Nous utiliserons ici le schéma Customers and Orders.&lt;br /&gt;Pour l'intégrer facilement à notre base de données nous utiliserons le logiciel (gratuit) de Microsoft : Microsoft SQL Server Management Studio Express. Il se trouve à cette adresse (en bas !) :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;amp;FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=fr&amp;amp;FamilyID=C243A5AE-4BD1-4E3D-94B8-5A0F62BF7796&lt;/a&gt;&lt;/blockquote&gt;L'installation est très simple.&lt;br /&gt;Lancer ensuite SQL Server Management Studio Express (non ce n'est pas un nom à rallonge ...), connecter vous à votre base de donnée (dans nom du serveur, cliquer sur parcourir et votre base de donnée devrait s'afficher)&lt;br /&gt;Sélectionner Bases de données, bouton de droite, Nouvelle base de données. Pour créer une nouvelle base de données qui nous servira pour nos tests. Sur votre nouvelle base de donnée, bouton de droite, nouvelle requête, copier ici votre code SQL. Nous avons nous copier l'intégralité du fichier cre_customers_and_orders.sql. Puis faite bouton de droite sur l'éditeur et exécuter.&lt;br /&gt;&lt;br /&gt;Voila votre serveur SQL Server 2005 Express est installer et votre base de données créé.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-3448634467413360104?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/3448634467413360104/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/sql-server-mise-en-place-du-serveur.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3448634467413360104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/3448634467413360104'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/sql-server-mise-en-place-du-serveur.html' title='[SQL Server] Mise en place du serveur, Mise en place d&apos;un shema de base, activation du protocole TCP/IP'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4092702594953538598</id><published>2008-09-10T17:51:00.005+02:00</published><updated>2008-09-15T16:19:43.264+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='design pattern'/><category scheme='http://www.blogger.com/atom/ns#' term='Variable'/><title type='text'>[PHP] Le design pattern : Singleton</title><content type='html'>Le design pattern du singleton permet d'avoir une seule et unique instance d'une classe dans un programme.&lt;br /&gt;&lt;br /&gt;Le principe est simple : Nous créons une classe maClasse et nous spécifions son constructeur comme élément privé. Ainsi les utilisateurs de la classe ne pourrons pas l'instancier librement. Nous créons aussi une fonction getInstance(), publique cette fois, qui, elle, se chargera de retourner l'instance de la classe.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;?php&lt;br /&gt;&lt;br /&gt;class maClasse&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private static $instance;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private function __contruct()&lt;br /&gt;&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;&amp;nbsp;// Instanciation&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static function getInstance {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( !isset(self::instance))&lt;br /&gt;&amp;nbsp;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self::$instance = new maClasse();&lt;br /&gt;&amp;nbsp;&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;return self::$instance;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Notre variable $instance doit être de type static pour ne pas être supprimée à chaque fois ;)&lt;br /&gt;Notre fonction getInstance est donc très simple :&lt;br /&gt;Nous vérifions que l'instance à été déclaré sinon nous la créons et enfin la retournons !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4092702594953538598?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4092702594953538598/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/php-le-design-pattern-singleton.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4092702594953538598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4092702594953538598'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/php-le-design-pattern-singleton.html' title='[PHP] Le design pattern : Singleton'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1288870175358154830</id><published>2008-09-05T13:39:00.003+02:00</published><updated>2008-10-23T02:43:53.340+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='anti-bot'/><title type='text'>[Zend Framework] Generation de captcha avec ZF (anti bot)</title><content type='html'>&lt;div&gt;Vous savez surement tous que le net fourmille de robots spammeur qui envahissent nos forums, nos boites mails, etc …&lt;br /&gt;Pour luter contre ceux-ci on utilise des captcha, c'est le nom des petites images qu'on vous demande de recopier dans une textbox lors d'une inscription ou de ces questions qui vous demande la somme de deux et cinq. Bref c'est un mécanisme anti robot. Zend Framework, dans sa version 1.6 et supérieur, propose une manière d'en générer facilement et de les intégrer facilement avec Zend_Form.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Tout d'abord il faut créer un nouvel element captcha dans notre formulaire. Ceci ce fait facilement car ZF propose la classe Zend_Form_Element_Captcha.&lt;/div&gt;&lt;br /&gt;&lt;blockquote&gt;$captcha = new Zend_Form_Element_Captcha(nom, param);&lt;/blockquote&gt;&lt;br /&gt;nom représente biensure le nom de votre élément et param un tableau avec les paramètres (en soit comme un élément normal!). Dans le tableau on peut rajouter l'option captcha qui va configurer notre captcha. Celle ci se décline aussi sous la forme d'un tableau qui se construit comme ceci :&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;'captcha' =&gt; array(&lt;br /&gt;     'captcha' =&gt; 'Type du captcha',&lt;br /&gt;     'wordLen' =&gt; Nombre de caractère à afficher,&lt;br /&gt;     'timeout' =&gt; Temps avant fin du captcha,&lt;br /&gt;    // Seulement dans le cas d'une image&lt;br /&gt;     'font' =&gt; 'Chemin vers la police de caractère',&lt;br /&gt;     'imgurl' =&gt; 'Ou seront stocker les images',&lt;br /&gt;)&lt;/blockquote&gt;Le type du captcha peux être le suivant  :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Image : Image comme on les connait&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Dumb : directement le texte (Non sécurisé !)&lt;/li&gt;&lt;li&gt;Figlet : Lettre sous forme de dessin textuel. (Utile si vous n'avez pas accès à la librairie GD).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Enfin voila à quoi ceci peut ressembler :&lt;br /&gt;&lt;blockquote&gt;        $captcha = new Zend_Form_Element_Captcha('captcha', array(&lt;br /&gt;                        'label' =&gt; "Copiez le code suivant :",&lt;br /&gt;                        'captcha' =&gt; array(&lt;br /&gt;                                'captcha' =&gt; 'Image',&lt;br /&gt;                                'wordLen' =&gt; 6,&lt;br /&gt;                                'timeout' =&gt; 300,&lt;br /&gt;                                'font' =&gt; '../application/fonts/Candara.ttf',&lt;br /&gt;                                'imgurl' =&gt; '/images/captcha',&lt;br /&gt;                        ),&lt;br /&gt;                ));&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1288870175358154830?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://framework.zend.com/manual/fr/zend.captcha.html' title='[Zend Framework] Generation de captcha avec ZF (anti bot)'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1288870175358154830/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/zend-framework-generation-de-captcha.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1288870175358154830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1288870175358154830'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/zend-framework-generation-de-captcha.html' title='[Zend Framework] Generation de captcha avec ZF (anti bot)'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2938101379467358447</id><published>2008-09-04T17:49:00.005+02:00</published><updated>2008-09-05T12:16:13.413+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Zend Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Multilangue'/><title type='text'>[Zend Framework] Utilisation de la classe de traduction de ZF</title><content type='html'>Le Zend Framework (ZF) propose par défaut une classe de traduction très simple d'utilisation. Elle prend en compte de nombreux moyens de traduction comme les Array (PHP), CSV, Gettext, INI, TBX, TMX, Qt, XLIFF et XmlTm. Il est aussi possible de créer ses propres adaptateurs. Ici nous utiliserons Gettext car c'est le plus professionnel à mon gout. L'inconvénient est que le fichier de traduction est binaire et donc non lisible par l'homme et qu'il faut un logiciel pour générer ce fichier (il en existe des gratuits).&lt;br /&gt;&lt;br /&gt;La classe de traduction de Zend Framework est Zend_Translate. La mise en place de la traduction se résume simplement à l'instanciation de cette classe. Ceci est fait comme ceci :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$translate = new&lt;br /&gt;Zend_Translate('gettext','/languages/fr/LC_MESSAGES/lang.mo','fr');&lt;/blockquote&gt;Dans cette ligne nous créons tout d'abord un nouveau objet de type Zend_Translate. Le constructeur prend trois paramètres :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Le premier est l'adaptateur utilisé. Ici nous utilisons gettext mais vous pouvez très bien utiliser csv, tbx, … &lt;/li&gt;&lt;li&gt;Le deuxième paramètre est le chemin vers le fichier de traduction. Avec gettext il s'agit d'un fichier binaire d'extension mo. &lt;/li&gt;&lt;li&gt;Enfin le dernier paramètre est la langue chargé. Ici le français (fr). &lt;/li&gt;&lt;/ul&gt;Si vous avez plusieurs fichier de traduction (comme c'est souvent le cas !) il faut les ajouter avec&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;$translate-&gt;addTranslation('/languages/en/LC_MESSAGES/lang.mo','en'); &lt;/p&gt;&lt;/blockquote&gt;A ce moment là vous pouvez déjà afficher vos messages. Pour cela il existe deux méthodes : La première avec la chaine d'origine, par exemple pour traduire 'Ma chaine à traduire' :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Print $translate-&gt;_("Ma chaine à traduire");&lt;/blockquote&gt;La deuxième à partir de l'id de la phrase traduite, par exemple pour la chaine traduite d'id 3 :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Print $translate-&gt;_(3); &lt;/blockquote&gt;Pour savoir dans quelle langue sera traduit notre phrase nous pouvons utiliser la méthode getLocale() qui retourne une instance de Zend_Locale ou un identifiant de localisation.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$langue = $translate-&gt;getLocale();&lt;/blockquote&gt;Pour spécifier la langue à utiliser il faut utiliser la méthode setLocale().&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$translate-&gt;setLocale("en");&lt;/blockquote&gt;Pour améliorer les performances de l'application on peut spécifier à Zend_Translate un cache où il stockera des données pour y accéder plus rapidement. Ceci ce fait comme suit :&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;// Options du frontend et du backend&lt;br /&gt;$frontendOptions = array('lifetime'&lt;br /&gt;=&gt; 7200, 'automatic_serialization' =&gt; true);&lt;br /&gt;$backendOptions =&lt;br /&gt;array('cache_dir' =&gt; '/tmp/' );&lt;br /&gt;// Création d'un cache&lt;br /&gt;$cache = Zend_Cache::factory(Core','File',$frontendOption,&lt;br /&gt;$backendOptions);&lt;br /&gt;// Spécifier à Zend_Translate le cache&lt;br /&gt;Zend_Translate::setCache($cache); &lt;/p&gt;&lt;/blockquote&gt;Ainsi l'exécution sera plus rapide. Nous créons tout d'abord un cache en utilisant la factory de Zend_Cache. Les paramètres sont tout d'abord le frontend (ici Core) et le backend (ici File) suivit de leurs options. Ensuite nous spécifions à la classe Zend_Translate ce cache avec la méthode setCache.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2938101379467358447?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://framework.zend.com/manual/fr/zend.translate.html' title='[Zend Framework] Utilisation de la classe de traduction de ZF'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2938101379467358447/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/zend-framework-utilisation-de-la-classe.html#comment-form' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2938101379467358447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2938101379467358447'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/zend-framework-utilisation-de-la-classe.html' title='[Zend Framework] Utilisation de la classe de traduction de ZF'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-5896387036742816955</id><published>2008-09-02T21:10:00.007+02:00</published><updated>2008-09-02T21:20:50.896+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variable'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>[AS3] Convertir une string en int ou float</title><content type='html'>Pour convertir une chaine de caractère en nombre il existe deux fonctions :&lt;br /&gt;parseInt et parseFloat.&lt;br /&gt;&lt;br /&gt;parseInt convertit la chaine de caractère en entier.&lt;br /&gt;&lt;br /&gt;parseFloat convertit la chaine de caractère en nombre décimal.&lt;br /&gt;&lt;br /&gt;l'utilisation est simple :&lt;br /&gt;&lt;blockquote&gt;var iNumber:int = parseInt("234");&lt;/blockquote&gt;ou&lt;br /&gt;&lt;blockquote&gt;var iNumber:float = parseFloat("234.423");&lt;/blockquote&gt;parseInt peut prendre aussi un deuxième paramètre qui permet de spécifier la base du nombre.&lt;br /&gt;Par exemple pour récupérer un entier codé en hexadécimal nous ferions :&lt;br /&gt;&lt;blockquote&gt;var iNumber:int = parseInt("1F3",16);&lt;/blockquote&gt;&lt;br /&gt;La base peut être comprise entre 2 et 36&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-5896387036742816955?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/package.html' title='[AS3] Convertir une string en int ou float'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/5896387036742816955/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/as3-convertir-une-string-en-int-ou.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5896387036742816955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/5896387036742816955'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/09/as3-convertir-une-string-en-int-ou.html' title='[AS3] Convertir une string en int ou float'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1401630939344762457</id><published>2008-08-27T16:44:00.003+02:00</published><updated>2008-08-27T16:52:20.363+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ligne de commande'/><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>[svn] création d'un dépot subversion sous debian</title><content type='html'>La création d'un dépot subversion sous debian est simple.&lt;br /&gt;Ici nos dépos subversion sont dans /var/svn/ mais la méthode présenté fonctionne ailleur aussi !&lt;br /&gt;Avec l'outil svnadmin nous n'avons qu'à spécifier l'action à effectuer (create) et le path du dépot comme ceci :&lt;br /&gt;&lt;blockquote&gt;svnadmin create /var/svn/monProjet&lt;/blockquote&gt;&lt;br /&gt;Il faut ensuite attribuer les droits qui vont bien à ce nouveau dépot. Nous utilisons l'option -R pour attribuer les droits récursivement. Ici pour apache2 :&lt;br /&gt;&lt;blockquote&gt;chown -R www-data:www-data /var/svn/nomProjet&lt;/blockquote&gt;&lt;br /&gt;Votre dépot est créé !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1401630939344762457?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1401630939344762457/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/svn-cration-dun-dpot-subversion-sous.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1401630939344762457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1401630939344762457'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/svn-cration-dun-dpot-subversion-sous.html' title='[svn] création d&apos;un dépot subversion sous debian'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-8573278895513960736</id><published>2008-08-27T15:11:00.004+02:00</published><updated>2008-08-27T15:31:37.747+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='authentification'/><category scheme='http://www.blogger.com/atom/ns#' term='openldap'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='apache2'/><category scheme='http://www.blogger.com/atom/ns#' term='ldap'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>[Linux] Configurer svn avec LDAP</title><content type='html'>Dans notre cas nous avons un serveur svn et nous voulons que nos utilisateurs se connectent que s'ils font partie du groupe svn_users.  Le groupe svn_users a l'id 1000.&lt;br /&gt;Tout les utilisateurs sont dans un anuaire LDAP (avec openLDAP) dans l'ou users. Nous utiliserons Apache2 avec le module LDAP de celui ci.&lt;br /&gt;&lt;br /&gt;Nous créons un virtualhost svn.exemple.com&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;VirtualHost *&amp;gt;&lt;/p&gt;&lt;p&gt;ServerName svn.exemple.com&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nous spécifions que nous voulons utiliser svn&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&amp;lt;Location /&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;DAV svn&lt;/p&gt;&lt;p&gt;&lt;br /&gt;SVNParentPath /var/svn&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nous voulons interdire tout le monde de se connecter&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;# Autorisation &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Order deny,allow&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Deny from All&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Connection l'authnetification LDAP&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;br /&gt;# Authentification&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthType Basic&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthName "depot SVN"&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthBasicProvider ldap&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;# LDAP&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthzLDAPAuthoritative on&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthLDAPURL ldap://localhost/ou=users,dc=exemple,dc=com?uid?sub?(objectClass=*)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthLDAPGroupAttribute memberUid&lt;/p&gt;&lt;p&gt;&lt;br /&gt;AuthLDAPGroupAttributeIsDN off&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Nous specifions le groupe&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;br /&gt;# groupe obligatoire&lt;/p&gt;&lt;p&gt;&lt;br /&gt;require ldap-group cn=svn_users,ou=groups,dc=exemple,dc=com&lt;/p&gt;&lt;p&gt;&lt;br /&gt;require ldap-attribute gidNumber=1000&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Satisfy any&lt;br /&gt;&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-8573278895513960736?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/8573278895513960736/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/linux-configurer-svn-avec-ldap.html#comment-form' title='1 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8573278895513960736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/8573278895513960736'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/linux-configurer-svn-avec-ldap.html' title='[Linux] Configurer svn avec LDAP'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-7640579859502629710</id><published>2008-08-27T09:23:00.004+02:00</published><updated>2008-08-27T09:40:08.076+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerBuilder'/><category scheme='http://www.blogger.com/atom/ns#' term='Fichier'/><title type='text'>[PowerBuilder] Lire/Ecrire dans un fichier</title><content type='html'>Ecrire dans un fichier avec PowerBuilder ressemble beaucoup à écrire dans un fichier en C (et pour cause : PowerBuilder n'est qu'une "surcouche" du C++ !).&lt;br /&gt;&lt;br /&gt;Il faut donc tout d'abord ouvrir le fichier et stocker sont ID dans une variable :&lt;br /&gt;&lt;blockquote&gt;long ll_numFile&lt;br /&gt;ll_numFile = FileOpen( fichier , mode , accès, verrou, mode d'écriture,&lt;br /&gt;encodage)&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;fichier : Fichier à éditer&lt;br /&gt;Mode :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;      LineMode! : lire/écrire ligne par ligne&lt;/li&gt;&lt;li&gt;      StreamMode! : Lire par bloque binaire&lt;/li&gt;&lt;li&gt;      TextMode! : Lire par bloque texte&lt;/li&gt;&lt;/ul&gt;accès : Read! ou Write!&lt;br /&gt;verrou :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;      LockReadWrite! : Seul moi peut accéder au fichier&lt;/li&gt;&lt;li&gt;      LockRead! : Seul moi peut lire&lt;/li&gt;&lt;li&gt;      LockWrite! : Seul moi peut écrire&lt;/li&gt;&lt;li&gt;      Shared! : tout le monde peut écrire et lire&lt;/li&gt;&lt;/ul&gt;mode d'écriture :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;      Append! : Ecrit à la fin&lt;/li&gt;&lt;li&gt;      Replace! : Remplace&lt;/li&gt;&lt;/ul&gt;encodage :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;      EncodingANSI! : ANSI&lt;/li&gt;&lt;li&gt;      EncodingUTF8! : UTF8&lt;/li&gt;&lt;li&gt;      EncodingUTF16LE!&lt;/li&gt;&lt;li&gt;      EncodingUTF16BE!&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Pour écrire dans le fichier&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;fileWrite( ll_numFile, "Mon texte")&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;Pour lire dans le fichier&lt;br /&gt;&lt;blockquote&gt;fileRead(ll_numFile, variable_destination)&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Il faut ensuite fermer le fichier&lt;br /&gt;&lt;blockquote&gt; fileClose( ll_numFile )&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-7640579859502629710?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/7640579859502629710/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/powerbuilder-lireecrire-dans-un-fichier.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7640579859502629710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/7640579859502629710'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/powerbuilder-lireecrire-dans-un-fichier.html' title='[PowerBuilder] Lire/Ecrire dans un fichier'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-425817248587726434</id><published>2008-08-26T20:21:00.000+02:00</published><updated>2008-08-26T20:22:12.186+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Action Script 3'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>[Flash] Faire communiquer Flash (AS3) et PHP</title><content type='html'>En actionscript 3 la communication avec PHP ne se fait plus avec LoadVars. Il faut utiliser la classe URLLoader.&lt;br /&gt;&lt;br /&gt;// conteneur&lt;br /&gt;var conteneur:URLLoader = new URLLoader();&lt;br /&gt;// Fichier à charger&lt;br /&gt;var fichier:URLRequest = new URLRequest("textes/script.php");&lt;br /&gt;&lt;br /&gt;// CallBack fin chargement&lt;br /&gt;function onComplete(e:Event):void&lt;br /&gt;{&lt;br /&gt;    // Fini&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// CallBack pendant le chargement&lt;br /&gt;function onProgress(e:Event):void&lt;br /&gt;{&lt;br /&gt;    // chargement en cour&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// Lier l'événement chargement&lt;br /&gt;conteneur.addEventListener(ProgressEvent.PROGRESS, onProgress);&lt;br /&gt;// Lier l'événement fini&lt;br /&gt;conteneur.addEventListener(Event.COMPLETE, onComplete);&lt;br /&gt;// Chargement du fichier&lt;br /&gt;conteneur.load(fichier);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-425817248587726434?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/425817248587726434/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/flash-faire-communiquer-flash-as3-et.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/425817248587726434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/425817248587726434'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/flash-faire-communiquer-flash-as3-et.html' title='[Flash] Faire communiquer Flash (AS3) et PHP'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-6175987767978452201</id><published>2008-08-26T16:27:00.002+02:00</published><updated>2008-08-26T16:30:53.157+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Variable'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='tableau'/><title type='text'>[AS3] Les tableaux</title><content type='html'>En AS3 les tableaux sont déclarés comme ceci :&lt;br /&gt;&lt;blockquote&gt;var nom:Array = newArray()&lt;/blockquote&gt;&lt;br /&gt;Ajout d'une valeur dans le tableau :&lt;br /&gt;&lt;blockquote&gt;nom.push(valeur)&lt;/blockquote&gt;&lt;br /&gt;On y accède comme ceci :&lt;br /&gt;&lt;blockquote&gt;nom[i]&lt;/blockquote&gt;&lt;br /&gt;Suppression de la dernière entrée :&lt;br /&gt;&lt;blockquote&gt;nom.pop()&lt;/blockquote&gt;&lt;br /&gt;taille du tableau :&lt;br /&gt;&lt;blockquote&gt;nom.length&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-6175987767978452201?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/6175987767978452201/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/as3-les-tableaux.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6175987767978452201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/6175987767978452201'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/as3-les-tableaux.html' title='[AS3] Les tableaux'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2465092085119089654</id><published>2008-08-26T16:22:00.001+02:00</published><updated>2008-08-26T16:26:54.018+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Constante'/><category scheme='http://www.blogger.com/atom/ns#' term='Variable'/><category scheme='http://www.blogger.com/atom/ns#' term='Flash'/><title type='text'>[AS3] Declaration de variable</title><content type='html'>En ActionScript 3 la déclaration de variable ce fait avec le mot clef var comme ceci :&lt;br /&gt;&lt;blockquote&gt;var nom:type = valeur, nom2:type = valeur2, ...&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Les types standards sont :&lt;br /&gt;&lt;blockquote&gt;int, String, Boolean, Number, Object, uint, ...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Pour déclarer une constant on utilise le mots clef const&lt;br /&gt;&lt;blockquote&gt;const NOM:type = valeur&lt;/blockquote&gt;&lt;br /&gt;Par convention on met le nom de la constante en majuscule.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2465092085119089654?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2465092085119089654/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/as3-declaration-de-variable.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2465092085119089654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2465092085119089654'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/as3-declaration-de-variable.html' title='[AS3] Declaration de variable'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1921946877638482135</id><published>2008-08-26T14:30:00.001+02:00</published><updated>2008-08-26T14:46:19.535+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ligne de commande'/><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='mail'/><title type='text'>[Batch] Envoi de mail avec SendEmail</title><content type='html'>SendEmail© est un programme d'envoi d'e-mail via SMTP. Il est utilisé pour envoyer des e-mails via la ligne de commande et peut donc être facilement utilisé dans d'autres applications ou scripts. Il est écrit en perl et est distribué conformément à la Licence GPL. Tout les champs des e-mails envoyés (tel l'expéditeur, les destinataires, le corps du message, ...) sont spécifiés comme arguments de la ligne de commande comme les paramètres généraux d'envois (serveur SMTP, login, mot de passe, ...) SendEmail© a été écrit par Brandon Zehm.&lt;br /&gt;&lt;a name="Utilisation"&gt;&lt;/a&gt;        &lt;br /&gt;&lt;a name="_Toc206931581"&gt;Utilisation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;      Forme d'utilisation : sendEmail.exe -f ADDRESS [options]&lt;br /&gt;            Obligatoire :&lt;br /&gt;                  -f ADDRESS&lt;br /&gt;                        email de l'émetteur&lt;br /&gt;            Standard:&lt;br /&gt;                  -t ADDRESS [ADDR ...]&lt;br /&gt;                        email du destinataire.&lt;br /&gt;                  -u SUBJECT&lt;br /&gt;                        Sujet du message&lt;br /&gt;                  -m MESSAGE&lt;br /&gt;                        corps du message&lt;br /&gt;                  -s SERVER[:PORT]&lt;br /&gt;                        serveur SMTP à utiliser, par défaut : localhost:25&lt;br /&gt;            Optionnel:&lt;br /&gt;                  -a   FILE [FILE ...]&lt;br /&gt;                        fichier joint&lt;br /&gt;                  -cc  ADDRESS [ADDR ...]&lt;br /&gt;                        copie carbone&lt;br /&gt;                  -xu  USERNAME&lt;br /&gt;                        login SMTP&lt;br /&gt;                  -xp  PASSWORD&lt;br /&gt;                        mot de passe SMTP&lt;br /&gt;&lt;br /&gt;Voir mon article sur &lt;a href="http://fr.wikipedia.org/wiki/SendEmail"&gt;wikipedia&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1921946877638482135?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://fr.wikipedia.org/wiki/SendEmail' title='[Batch] Envoi de mail avec SendEmail'/><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1921946877638482135/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batch-envoi-de-mail-avec-sendemail.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1921946877638482135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1921946877638482135'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batch-envoi-de-mail-avec-sendemail.html' title='[Batch] Envoi de mail avec SendEmail'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-4167841014194865071</id><published>2008-08-26T14:15:00.003+02:00</published><updated>2008-08-26T14:22:09.534+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='Active Directory'/><title type='text'>[Batch] Récuperer les informations d'un utilisateur eXchange à partir de son ID mail</title><content type='html'>Pour récupérer les informations d'un utilisateur eXchange à partir de son ID mail (mailNickName) on utilise l'utilitaire dsquery qui est fourni avec l'adminpak.msi de Microsoft.&lt;br /&gt;Cette utilitaire permet d'interroger un annuaire active directory.&lt;br /&gt;&lt;br /&gt;dsquery * -filter "(&amp;amp;(objectCategory=user) (mailNickname=USR1*))"&lt;br /&gt;&lt;br /&gt;Dsquery fait des recherche dans l'active directory. Il y a plusieurs option qui peuvent lui être passer.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;dsquery computer&lt;/blockquote&gt;&lt;br /&gt;recherche un ordinateur&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;dsquery contact&lt;/blockquote&gt;&lt;br /&gt;recherche un contact&lt;br /&gt;&lt;blockquote&gt;dsquery group&lt;/blockquote&gt;&lt;br /&gt;recherche un groupe&lt;br /&gt;&lt;blockquote&gt;dsquery ou&lt;/blockquote&gt;&lt;br /&gt;recherche une unité d'organisation&lt;br /&gt;&lt;blockquote&gt;dsquery site&lt;/blockquote&gt;&lt;br /&gt;recherche un site&lt;br /&gt;&lt;blockquote&gt;dsquery server&lt;/blockquote&gt;&lt;br /&gt;recherche un serveur&lt;br /&gt;&lt;blockquote&gt;dsquery user&lt;/blockquote&gt;&lt;br /&gt;recherche un utilisateur&lt;br /&gt;&lt;blockquote&gt;dsquery quota&lt;/blockquote&gt;&lt;br /&gt;recherche un quota&lt;br /&gt;&lt;blockquote&gt;dsquery partition&lt;/blockquote&gt;&lt;br /&gt;recherche une partition&lt;br /&gt;&lt;blockquote&gt;dsquery *&lt;/blockquote&gt;&lt;br /&gt;recherche n'importe qu'elle type.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-4167841014194865071?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/4167841014194865071/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batch-rcuperer-les-informations-dun.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4167841014194865071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/4167841014194865071'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batch-rcuperer-les-informations-dun.html' title='[Batch] Récuperer les informations d&apos;un utilisateur eXchange à partir de son ID mail'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-1065445748251798839</id><published>2008-08-26T14:07:00.004+02:00</published><updated>2008-08-26T14:14:09.139+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='processus'/><title type='text'>[Batch]Vérifier qu'un processus est lancé</title><content type='html'>Pour vérifier en Batch qu'un processus est lancé il faut utiliser la commande tasklist (qui liste tout les processus lancés et la commande find pour rechercher dans cette liste le processus voulu.&lt;br /&gt;Find peut prendre, entre autre, les options /C : Affiche seulement le nombre de lignes contenant la chaîne et /I : Ignore la casse lors de la recherche de la chaîne.&lt;br /&gt;Si aucun processus n'est trouvé la commande retournera une erreur de niveau 1.&lt;br /&gt;&lt;br /&gt;Ainsi :&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;tasklist find "processus" /C /i &gt; nul&lt;br /&gt;if NOT ERRORLEVEL 1 goto est_lancer&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-1065445748251798839?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/1065445748251798839/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batchvrifier-quun-processus-est-lancer.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1065445748251798839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/1065445748251798839'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batchvrifier-quun-processus-est-lancer.html' title='[Batch]Vérifier qu&apos;un processus est lancé'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5694212004221352900.post-2694757688732694037</id><published>2008-08-26T14:01:00.002+02:00</published><updated>2008-08-26T14:07:12.540+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Batch'/><category scheme='http://www.blogger.com/atom/ns#' term='temps'/><title type='text'>[Batch] Attendre x seconde</title><content type='html'>Il n'y a pas de fonction Batch qui permet d'attendre un nombre x de seconde, il faut donc utiliser une astuce à l'aide de la commande Ping.&lt;br /&gt;&lt;br /&gt;En effet la commande Ping permet de spécifier le nombre de requête que on veut exécuter (-n) et le temps d'attente pour chaque réponse (-w) en milliseconde.&lt;br /&gt;&lt;br /&gt;Ainsi pour attendre une minute il faut :&lt;br /&gt;&lt;blockquote&gt;Ping -n 61 127.0.0.1 -w 1000 &gt;nul&lt;/blockquote&gt;Par défaut Ping prend 1 seconde pour l'attente.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5694212004221352900-2694757688732694037?l=lermit-informatique.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lermit-informatique.blogspot.com/feeds/2694757688732694037/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batch-attendre-x-seconde.html#comment-form' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2694757688732694037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5694212004221352900/posts/default/2694757688732694037'/><link rel='alternate' type='text/html' href='http://lermit-informatique.blogspot.com/2008/08/batch-attendre-x-seconde.html' title='[Batch] Attendre x seconde'/><author><name>Lermit</name><uri>http://www.blogger.com/profile/04523332265886597536</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
