<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Ziki - Achraf Cherti's last published content</title>
    <link>http://www.ziki.com/en/asher256+20228</link>
    <pubDate>tue, 07 Oct 2008 13:12:34 +0200</pubDate>
    <ttl>120</ttl>
    <description>My aggregated content at ziki.com</description>
    <item>
      <title>Reportage: crise financi&#232;re, l'arnaque des banquiers et l'origine de l'argent !</title>
      <link>http://achraf.cherti.name/blog/2008/10/07/argent-origine-dette-credit-crise-financiere-usure-arnaque-banque-banquier/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Les <strong>gouvernements</strong> sont <strong>endettés</strong> et on entend beaucoup parler ces derniers temps de la <strong>crise financière</strong>, du <strong>système monétaire</strong>, d'<strong>argent</strong> et de <strong>dettes</strong> !
</p>
<p>
  Cette <strong>crise financière</strong> résulte d'une <strong>arnaque</strong> qu'on fait (et que font encore) les <strong>banquiers</strong>. C'est du moins ce qu'affirme le documentaire « Money As Dept », ou « L'Argent Dette » dans sa version française, où on découvre qui crée l'argent et pourquoi le système financier actuel est fait pour surtout enrichir les banquiers, au point de leur donner le contrôle total des biens de votre pays, à long terme, grâce aux dettes et aux intérêts.
</p>
<p>
  Ce documentaire parle principalement du système financier des états-unis. Je me demande si les autres pays sont aussi touchés, comme le Maroc ou la France. Je laisse les plus calés dans ce domaine nous informer dans les commentaires <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> .
</p>
<p>
  Quelques citations tirées du documentaire :
</p>
<p>
  « L’argent est une nouvelle forme d’esclavage. Il se distingue de l’ancienne simplement par le fait qu’il est impersonnel, il n’y a pas de relation humaine entre le maître et l’esclave » par Léon Tolstoï.
</p>
<p>
  « Donnez-moi le contrôle sur la monnaie d’une nation, et je n’aurai pas à m’occuper de ceux qui font ses lois » Meyer Anselm Rothschild, banquier.
</p>
<p>
  « Seuls les petits secrets doivent être protégés. Les grands sont gardés secrets par l’incrédulité du public. » Marshall McLuhan, “gourou” des médias.
</p>
<h2>
  Voir le documentaire « l'argent dette »
</h2>
<p>
  Je vous laisse voir ce documentaire hallucinant sur l'argent, son origine, l'arnaque des banques, etc. Il est divisé en quatre parties :<br />
  <object height="300" width="490">
    
    
    
    <embed src="http://www.dailymotion.com/swf/k3NuKr93ZjpERoMn55&amp;amp;related=1" height="300" width="490" />
  </object>
</p>
<p>
  <object height="300" width="490">
    
    
    
    <embed src="http://www.dailymotion.com/swf/k1NDYhua24uYr4MmXP&amp;amp;related=1" height="300" width="490" />
  </object>
</p>
<p>
  <object height="300" width="490">
    
    
    
    <embed src="http://www.dailymotion.com/swf/k5fSm1AJr4DEnuMmUi&amp;amp;related=1" height="300" width="490" />
  </object>
</p>
<p>
  <object height="300" width="490">
    
    
    
    <embed src="http://www.dailymotion.com/swf/k6ExIGgWAyZCJQMmG0&amp;amp;related=1" height="300" width="490" />
  </object>
</p>
<h2>
  Liens relatifs à « l'argent dette »
</h2>
<ul>
  <li>J'ai découvert ce documentaire il y a quelques semaines chez Esprit Riche, mais en anglais sous-titré, dans l'article « <a href="http://esprit-riche.com/dou-vient-largent-qui-le-fabrique-money-as-debt/">D'où vient l'argent ? Qui le fabrique ? Money as debt</a> ».
  </li>
  <li>J'ai découvert la version française chez Laurent Dureau, dans son article « <a href="http://www.laurent.dureau.fr/2008/10/06/quand-les-voleurs-sorganisent-pour-ne-pas-mourir/">quand les voleurs s'organisent pour ne pas mourrir</a> ».
  </li>
  <li>Le site officiel est « <a href="http://www.moneyasdebt.net/">Money As Debt</a> » (en anglais).
  </li>
  <li>
    <a href="http://lewebpedagogique.com/bsentier/pourquoi-la-planete-est-elle-toujours-en-dette/">Pourquoi la planète est-elle toujours en dette ?</a>
  </li>
  <li>
    <a href="http://www.alterinfo.net/L-escroquerie-monetaire-mondiale_a24545.html">L'ecroquerie monétaire mondiale</a>
  </li>
  <li>
    <a href="http://www.fauxmonnayeurs.org/">Faux monnayeurs</a>
  </li>
</ul>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=D9sAnK"><img src="http://feeds.feedburner.com/~a/achraf?i=D9sAnK" /></a>
</p>
</div>]]>
      </description>
      <pubDate>tue, 07 Oct 2008 13:12:34 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7968068</guid>
    </item>
    <item>
      <title>Cacher des fichiers sous Nautilus (GNOME)</title>
      <link>http://achraf.cherti.name/blog/2008/09/19/cacher-des-fichiers-gestionnaire-nautilus-gnome-gnu-linux-ubuntu-debian-fedora-opensuse/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p style="text-align: center;">
  <img title="Nautilus Logo (navigateur de fichiers GNOME)" src="http://achraf.cherti.name/blog/wp-content/nautilus-logo.png" height="155" alt="" width="200" />
</p>
<p>
  Pour <strong>cacher un fichier</strong> sous <strong><acronym title="GNU is Not UNIX">GNU</acronym>/Linux</strong>, vous le savez probablement, il faut précéder son nom par un point. L'ennui, c'est qu'il arrive parfois qu'on ait besoin de cacher des fichiers dans notre <strong>gestionnaire de fichiers</strong>, sans pour autant avoir l'envie ou la possibilité de les précéder par un point (par exemple, car une application a besoin précisément de ce fichier ou répertoire, comme VMWare, qui vous crée le répertoire "vmware" dans votre répertoire utilisateur).
</p>
<p>
  <strong>Cacher des fichiers</strong> est parfois franchement utile pour gagner du temps lorsque vous naviguez dans vos différents <strong>dossiers</strong>. Qu'est-ce que c'est bien d'ouvrir son HOME (par exemple) et de ne voir que les <strong>fichiers</strong> et <strong>répertoires</strong> importants !
</p>
<h2>
  Comment cacher les fichiers sous Nautilus de GNOME ?
</h2>
<p>
  Il existe dans <strong>Nautilus</strong> une petite astuce permettant de cacher très facilement des fichiers !
</p>
<p>
  En gros, il suffit d'ouvrir le fichier .hidden, qui doit se trouver dans le répertoire contenant les fichiers que vous souhaitez cacher, puis d'y mettre la liste des fichiers qui vous intéressent !
</p>
<h2>
  Un exemple et test sous Nautilus ?
</h2>
<p>
  Supposons que vous souhaitez cacher le répertoire <em>Test</em> et le fichier <em>Hello.txt</em>, qui se trouvent dans le répertoire <em>/home/Documents/</em>.
</p>
<p>
  Éditez le fichier <em>/home/Documents/.hidden</em> pour y ajouter les lignes :
</p>
<div style="white-space: wrap;">
  Hello.txt<br />
  Test
</div>
<p>
  Ensuite, sauvegardez le contenu du fichier et ouvrez le répertoire <em>/home/Documents/</em> avec Nautilus pour vérifier !
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=NCV46h"><img src="http://feeds.feedburner.com/~a/achraf?i=NCV46h" /></a>
</p>
</div>]]>
      </description>
      <pubDate>fri, 19 Sep 2008 09:34:48 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7818226</guid>
    </item>
    <item>
      <title>Maroc : Fin de l'heure d'&#233;t&#233; sous Ubuntu (ou Debian)</title>
      <link>http://achraf.cherti.name/blog/2008/09/17/maroc-fin-de-lheure-dete-sous-ubuntu-ou-debian/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  <img src="/blog/images/tzdata-ubuntu-debian-maroc-heure-ete-dst/heure-horloge.png" alt="Heure dans une horloge" style="float: right;" />Précédemment, dans <strong>l'<a href="http://achraf.cherti.name/blog/2008/06/03/maroc-ubuntu-ou-debian-heure-dete-du-1-juin-2008-une-solution/">article sur l'heure d'été au Maroc sous Ubuntu et Debian</a></strong>, vous aviez découvert une solution rapide pour avoir la bonne heure, tout en sélectionnant le timezone <strong>Africa/Casablanca</strong>.
</p>
<p>
  Maintenant, vu que nos décideurs au <strong>Maroc</strong> se sont dit que finalement, l'heure d'été ne finira pas le 28 septembre 2008, mais le 31 Août 2008 ( <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_razz.gif" alt=":-P" /> ), il va falloir re-modifier le paquet tzdata qui a été programmé pour revenir à la bonne heure le 31 septembre. C'est ce que j'ai essayé de faire, comme l'autre fois, mais en vain cette fois-ci. J'ai eu quelques erreurs de compilation java que je n'ai pas eu le temps de résoudre lorsque j'avais modifié et compilé le paquet tzdata (une âme charitable voudrait bien consacrer un peu de temps temps à cela ? ^_^).
</p>
<p>
  Donc, en attendant, pour les pressés (comme moi <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> ), il y a une solution intéressante, celle de dire directement au système qu'on est en GMT. Pour ce faire, ajoutez dans le fichier <strong>/etc/profile</strong> cette ligne :
</p>
<div style="white-space: wrap;">
  <span>TZ=</span><span>'GST-0'</span>; <span>export</span> TZ
</div>
<p>
  Pour que les modifications s'appliquent, reloguez-vous (ou relancez votre interface graphique).
</p>
<p>
  Une fois le paquet tzdata sera jour (ou une fois que le 28 septembre arrivera), n'oubliez pas de retirer cette ligne !
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=wM4OJ3"><img src="http://feeds.feedburner.com/~a/achraf?i=wM4OJ3" /></a>
</p>
</div>]]>
      </description>
      <pubDate>wed, 17 Sep 2008 03:26:13 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7804409</guid>
    </item>
    <item>
      <title>Vim : mon vimrc personnalis&#233;, pour mieux profiter de cet &#233;diteur avanc&#233; !</title>
      <link>http://achraf.cherti.name/blog/2008/09/01/vim-vimrc-gvimrc-personnalise-editeur-avance-programmation-correction-orthographique-orthographe-raccourcis-utiles-clavier-backup/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p style="text-align: center;">
  <img src="/blog/images/text-editor.png" alt="Vim / gVim, éditeur texte, une icône" />
</p>
<p style="text-align: left;">
  <strong>Vim</strong> a depuis assez longtemps été mon éditeur de texte préféré !
</p>
<p>
  C'est un peu mon <strong>couteau suisse</strong> de l'<strong>édition de texte</strong>. Je l'utilise pour <strong>rédiger mes notes</strong>, modifier les <strong>fichiers de configuration</strong> de mes <strong>serveurs distants</strong> ou programmer (<a href="http://gshutdown.tuxfamily.org/">GShutdown</a> ou <a href="http://jargon.tuxfamily.org/">Jargon Informatique</a> ont été entièrement écrits avec cet éditeur !).
</p>
<p>
  Les aspects qui m'ont toujours séduits dans cet éditeur c'est son côté geek, avec ses centaines de fonctions permettant de faire tout et n'importe quoi, et son extensibilité (j'en parlerai dans un autre billet, pour vous faire découvrir les plugins à ne pas rater), grâce aux plugins.
</p>
<p>
  Une des choses légèrement ennuyantes avec Vim, quand on débute, c'est qu'il n'est pas par défaut configuré pour qu'on profite de toutes ses jolies fonctionnalités ; qui devraient pourant être activées d'office ! C'est pour cette raison que, avec le temps, j'ai créé puis amélioré mon <strong>vimrc</strong>, pour que Vim me permette de mieux travailler.
</p>
<p>
  Pour vous faire gagner du temps, j'ai décidé de mettre en ligne mon vimrc, pour que tout intéressé puisse l'étudier, l'utiliser, le modifier, etc. et pourquoi pas proposer des améliorations !
</p>
<p>
  Grâce au Vimrc disponible ci-dessous, vous profiterez des avantages suivants :
</p>
<ul>
  <li>Des backups automatiques dans le répertoire ~/.vim/backup (pour ne pas encombrer vos répertoires de fichiers de sauvegarde finissant avec ~ par exemple)
  </li>
  <li>Une indentation activée automatiquement lorsque vous éditerez un code source. Idem pour la colorisation syntaxique.
  </li>
  <li>Quand vous chercherez dans votre texte avec un mot-clé, ce mot-clé se voit attribué une couleur de fond.
  </li>
  <li>Les fichiers avec les extensions *.o, *.dll, *.so et *.a sont ignorés, quand vous utilisez l'astérisque (gain de temps pour sélectionner le fichier qui vous intéresse).
  </li>
  <li>Quand vous utilisez l'astérisque et le bouton tab, pour sélectionner un fichier par exemple, un menu horizontal apparaît dans la barre des status, permettant de mieux sélectionner les fichiers.
  </li>
  <li>Les PDFs sont lus d'une manière transparente, en utilisant pdftotext (logiciel à installer)
  </li>
  <li>Des raccourcis claviers utiles sont ajoutés, comme ",lf", pour avoir la correction orthographique en français, ",le", pour avoir celle en anglais, ",ln" pour désactiver la correction orthographique, ",t" pour ouvrir un nouvel onglet, ",w" pour le fermer, ",m" pour cacher le menu de gvim, ctrl-a pour tout sélectionner, ctrl-c pour copier et ctrl-p pour coller et ",h" pour convertir un code source colorié en <acronym title="HyperText Markup Language">HTML</acronym>.
  </li>
  <li>Et bien d'autres options, que je vous invite à découvrir dans le script (que j'ai commenté pour vous rendre sa compréhension plus facile. Néanmoins, à la moindre lacune, n'hésitez pas à passer par l'aide de vim ":help" ou à poster un commentaire !)
  </li>
</ul>
<p>
  Pour installer le script Sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux, mettez son contenu dans le fichier "~/.vimrc".
</p>
<p>
  Le vimrc personnalisé (qui est aussi <a href="http://achraf.cherti.name/blog/files/mes_programmes/vimrc_asher256.vim" title="Vimrc d&amp;apos;Achraf Cherti (Asher256)">disponible en téléchargement</a>) :
</p>
<div style="white-space: wrap;">
  scriptencoding utf-8<br />
  "=============================================================================<br />
  "<br />
  " Fichier de configuration VIM personnalisé (meilleur pour la programmation,<br />
  " raccourcis clavier utiles, etc. pour mieux profiter de cet excellent<br />
  " éditeur).<br />
  "<br />
  " Auteur : Achraf cherti (aka Asher256)<br />
  " Email &nbsp;: achraf at cherti dot name<br />
  "<br />
  " Licence : <acronym title="GNU General Public License">GPL</acronym><br />
  "<br />
  " Site: http://achraf.cherti.name/<br />
  "<br />
  "=============================================================================
  <p>
    " Options {{{1
  </p>
  <p>
    " Options Internes {{{2
  </p>
  <p>
    " Mode non compatible avec Vi<br />
    set nocompatible
  </p>
  <p>
    " Le backspace<br />
    set backspace=indent,eol,start
  </p>
  <p>
    " Activer la sauvegarde<br />
    set backup
  </p>
  <p>
    " un historique raisonnable<br />
    set history=100
  </p>
  <p>
    " undo, pour revenir en arrière<br />
    set undolevels=150
  </p>
  <p>
    " Suffixes à cacher<br />
    set suffixes=.jpg,.png,.jpeg,.gif,.bak,~,.swp,.swo,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc,.pyc,.pyo
  </p>
  <p>
    " Backup dans ~/.vim/backup<br />
    if filewritable(expand("~/.vim/backup")) == 2<br />
    &nbsp; &nbsp; " comme le répertoire est accessible en écriture,<br />
    &nbsp; &nbsp; " on va l'utiliser.<br />
    &nbsp; &nbsp; set backupdir=$HOME/.vim/backup<br />
    else<br />
    &nbsp; &nbsp; if has("unix") || has("win32unix")<br />
    &nbsp; &nbsp; &nbsp; &nbsp; " C'est c'est un système compatible UNIX, on<br />
    &nbsp; &nbsp; &nbsp; &nbsp; " va créer le répertoire et l'utiliser.<br />
    &nbsp; &nbsp; &nbsp; &nbsp; call system("mkdir $HOME/.vim/backup -p")<br />
    &nbsp; &nbsp; &nbsp; &nbsp; set backupdir=$HOME/.vim/backup<br />
    &nbsp; &nbsp; endif<br />
    endif
  </p>
  <p>
    " Inclusion d'un autre fichier avec des options<br />
    if filereadable(expand("~/.vimrc_local.vim"))<br />
    &nbsp; &nbsp; source ~/.vimrc_local.vim<br />
    endif
  </p>
  <p>
    " Activation de la syntaxe<br />
    if has("syntax")<br />
    &nbsp; &nbsp; syntax on<br />
    endif
  </p>
  <p>
    " Quand un fichier est changé en dehors de Vim, il est relu automatiquement<br />
    set autoread
  </p>
  <p>
    " Aucun son ou affichage lors des erreurs<br />
    set errorbells<br />
    set novisualbell<br />
    set t_vb=
  </p>
  <p>
    " Quand une fermeture de parenthèse est entrée par l'utilisateur,<br />
    " l'éditeur saute rapidement vers l'ouverture pour montrer où se<br />
    " trouve l'autre parenthèse. Cette fonction active aussi un petit<br />
    " beep quand une erreur se trouve dans la syntaxe.<br />
    set showmatch<br />
    set matchtime=2
  </p>
  <p>
    " Afficher la barre d'état<br />
    set laststatus=2
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " Options de recherche {{{2
  </p>
  <p>
    " Tout ce qui concerne la recherche. Incrémentale<br />
    " avec un highlight. Elle prend en compte la<br />
    " différence entre majuscule/minuscule.<br />
    set incsearch<br />
    set noignorecase<br />
    set infercase
  </p>
  <p>
    " Quand la rechercher atteint la fin du fichier, pas<br />
    " la peine de la refaire depuis le début du fichier<br />
    set hlsearch
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " Options d'affichage texte {{{2
  </p>
  <p>
    " Ne pas nous afficher un message quand on enregistre un readonly<br />
    set writeany
  </p>
  <p>
    " Afficher les commandes incomplètes<br />
    set showcmd
  </p>
  <p>
    " Afficher la position du curseur<br />
    set ruler
  </p>
  <p>
    " Désactiver le wrapping<br />
    set nowrap
  </p>
  <p>
    " Options folding<br />
    set foldmethod=marker
  </p>
  <p>
    " Un petit menu qui permet d'afficher la liste des éléments<br />
    " filtrés avec un wildcard<br />
    set wildmenu<br />
    set wildignore=*.o,*#,*~,*.dll,*.so,*.a<br />
    set wildmode=full
  </p>
  <p>
    " Format the statusline<br />
    set statusline=%F%m\ %r\ Line:%l\/%L,%c\ %p%%
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " Options d'affichage <acronym title="Graphical User Interface">GUI</acronym> {{{2
  </p>
  <p>
    " Configuration de la souris en mode console<br />
    " ="" pas de souris par défaut<br />
    "set mouse=a
  </p>
  <p>
    " Améliore l'affichage en disant à vim que nous utilisons un terminal rapide<br />
    set ttyfast
  </p>
  <p>
    " Lazy redraw permet de ne pas mettre à jour l'écran<br />
    " quand un script vim est entrain de faire une opération<br />
    set lazyredraw
  </p>
  <p>
    if has("gui_running")<br />
    &nbsp; &nbsp; map &lt;S-Insert&gt; &lt;MiddleMouse&gt;<br />
    &nbsp; &nbsp; map &lt;S-Insert&gt; &lt;MiddleMouse&gt;
  </p>
  <p>
    &nbsp; &nbsp; set mousehide " On cache la souris en mode gui<br />
    &nbsp; &nbsp; set ch=2 " ligne de commande dans deux ligne<br />
    endif
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " Noms des fichiers {{{2
  </p>
  <p>
    " faire en sorte que le raccourci CTRL-X-F<br />
    " marche même quand le fichier est après<br />
    " le caractère égal. Comme :<br />
    " variable=/etc/&lt;C-XF&gt;<br />
    set isfname-==
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " }}}1
  </p>
  <p>
    " Autocmd {{{1
  </p>
  <p>
    set cindent<br />
    "set autoindent<br />
    "set smartindent
  </p>
  <p>
    if has("autocmd")<br />
    &nbsp; &nbsp; " Détection auto du format<br />
    &nbsp; &nbsp; " + activer indent<br />
    &nbsp; &nbsp; filetype plugin indent on
  </p>
  <p>
    &nbsp; &nbsp; augroup divers " {{{2<br />
    &nbsp; &nbsp; &nbsp; &nbsp; au!<br />
    &nbsp; &nbsp; &nbsp; &nbsp; " Textwidth de 78 pour tous les fichiers texte<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd FileType text setlocal textwidth=78<br />
    &nbsp; &nbsp; &nbsp; &nbsp;<br />
    &nbsp; &nbsp; &nbsp; &nbsp; " Remet la position du curseur comme elle était avant<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufReadPost *<br />
    &nbsp; &nbsp; &nbsp; &nbsp; \ if line("'\"") &gt; 0 &amp;&amp; line("'\"") &lt;= line("$") |<br />
    &nbsp; &nbsp; &nbsp; &nbsp; \ &nbsp; exe "normal g`\"" |<br />
    &nbsp; &nbsp; &nbsp; &nbsp; \ endif
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; " La valeur des tabs par défaut<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufNewFile,BufRead * call ChangeTabSize(4, 0)
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; " Ne pas faire de wrap dans les fichiers ChangeLog<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufNewFile,BufRead ChangeLog set nowrap textwidth=0<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufNewFile,BufRead ChangeLog call ChangeTabSize(8, 0)
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; " PKGBUILD<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufNewFile,BufRead PKGBUILD set syntax=sh<br />
    &nbsp; &nbsp; augroup END " }}}2
  </p>
  <p>
    &nbsp; &nbsp; augroup pdf " {{{2<br />
    &nbsp; &nbsp; &nbsp; &nbsp; au!<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufReadPre *.pdf set ro<br />
    &nbsp; &nbsp; &nbsp; &nbsp; autocmd BufReadPost *.pdf %!pdftotext -nopgbrk "%" - | fmt -csw78<br />
    &nbsp; &nbsp; augroup END " }}}2<br />
    endif
  </p>
  <p>
    " }}}1
  </p>
  <p>
    " Fonctions {{{1
  </p>
  <p>
    " Fonctions utilisée par vimrc {{{2
  </p>
  <p>
    function! ChangeTabSize(tab_size, expandtab)<br />
    &nbsp; &nbsp; execute("set tabstop=".a:tab_size." softtabstop=".a:tab_size." shiftwidth=".a:tab_size)
  </p>
  <p>
    &nbsp; &nbsp; if a:expandtab != 0<br />
    &nbsp; &nbsp; &nbsp; &nbsp; execute("set expandtab")<br />
    &nbsp; &nbsp; else<br />
    &nbsp; &nbsp; &nbsp; &nbsp; execute("set noexpandtab")<br />
    &nbsp; &nbsp; endif<br />
    endfunction
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " Les fonctions utiles pour l'utilisateur {{{2
  </p>
  <p>
    " Aller dans le répertoire du fichier édité.<br />
    function! ChangeToFileDirectory()<br />
    &nbsp; &nbsp; if bufname("") !~ "^ftp://" " C'est impératif d'avoir un fichier local !<br />
    &nbsp; &nbsp; &nbsp; &nbsp; lcd %:p:h<br />
    &nbsp; &nbsp; endif<br />
    endfunction
  </p>
  <p>
    map ,fd :call ChangeToFileDirectory()&lt;CR&gt;
  </p>
  <p>
    " Entrer la commande ":e" dans le répertiore du fichier édité<br />
    if has("unix")<br />
    &nbsp; &nbsp; map ,e :e &lt;C-R&gt;=expand("%:p:h") . "/" &lt;CR&gt;<br />
    else<br />
    &nbsp; &nbsp; map ,e :e &lt;C-R&gt;=expand("%:p:h") . "\" &lt;CR&gt;<br />
    endif
  </p>
  <p>
    " }}}2
  </p>
  <p>
    " }}}1
  </p>
  <p>
    " Raccourcis clavier {{{1
  </p>
  <p>
    " Vim 7 spell checker<br />
    if has("spell")<br />
    &nbsp; &nbsp; setlocal spell spelllang=<br />
    &nbsp; &nbsp; " Language : FR<br />
    &nbsp; &nbsp; map ,lf :setlocal spell spelllang=fr&lt;cr&gt;<br />
    &nbsp; &nbsp; " Language : EN<br />
    &nbsp; &nbsp; map ,le :setlocal spell spelllang=en&lt;cr&gt;<br />
    &nbsp; &nbsp; " Language : Aucun<br />
    &nbsp; &nbsp; map ,ln :setlocal spell spelllang=&lt;cr&gt;<br />
    endif
  </p>
  <p>
    set spellsuggest=5<br />
    autocmd BufEnter *.txt set spell<br />
    autocmd BufEnter *.txt set spelllang=fr
  </p>
  <p>
    " Tabs<br />
    map ,t :tabnew&lt;cr&gt;<br />
    map ,w :tabclose&lt;cr&gt;<br />
    imap &lt;C-t&gt; &lt;Esc&gt;&lt;C-t&gt;<br />
    imap &lt;C-w&gt; &lt;Esc&gt;&lt;C-w&gt;<br />
    map &lt;tab&gt; gt
  </p>
  <p>
    " Cacher le menu<br />
    map ,m :set guioptions=+M&lt;cr&gt;
  </p>
  <p>
    " Mode normal<br />
    map ,mn :set guifont=&lt;cr&gt;
  </p>
  <p>
    " Mode programmation<br />
    map ,mp :set guifont=Monospace\ 9&lt;cr&gt;
  </p>
  <p>
    " Sélectionner tout<br />
    map &lt;C-a&gt; ggVG
  </p>
  <p>
    " Copier (le gv c'est pour remettre le sélection)<br />
    map &lt;C-c&gt; "+ygv
  </p>
  <p>
    " Couper<br />
    map &lt;C-x&gt; "+x
  </p>
  <p>
    " Coller<br />
    map &lt;C-p&gt; "+gP
  </p>
  <p>
    " Désactiver le highlight (lors d'une recherche par exemple)<br />
    map &lt;F2&gt; :let @/=""&lt;cr&gt;
  </p>
  <p>
    " Convertir un html<br />
    map ,h :runtime syntax/2html.vim&lt;cr&gt;
  </p>
  <p>
    " encoder rapidement<br />
    map ,c ggVGg?
  </p>
  <p>
    " }}}1
  </p>
  <p>
    " Les plugins Vim et leurs options {{{1
  </p>
  <p>
    " Gérer les fichiers man<br />
    runtime ftplugin/man.vim
  </p>
  <p>
    " }}}1
  </p>
  <p>
    " vim:ai:et:sw=4:ts=4:sts=4:tw=78:fenc=utf-8:foldmethod=marker
  </p>
</div>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=FNF9Gx"><img src="http://feeds.feedburner.com/~a/achraf?i=FNF9Gx" /></a>
</p>
</div>]]>
      </description>
      <pubDate>mon, 01 Sep 2008 15:55:59 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7676913</guid>
    </item>
    <item>
      <title>Script pour GNU/Linux : lancer un logiciel X (graphique) avec un utilisateur n'ayant pas le droit</title>
      <link>http://achraf.cherti.name/blog/2008/08/31/gnu-linux-script-xauth-merge-extract-python-xorg-x11-lancer-programme-logiciel-x-graphique-avec-un-utilisateur-sans-droit/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Il vous est probablement déjà arrivé, sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux, d'avoir besoin de lancer un de vos programmes ayant une interface graphique, comme Firefox, ou un programme louche que vous venez de télécharger, avec un autre utilisateur, sous votre session X actuelle, sans pour autant en ouvrir une autre.
</p>
<p>
  Il y a plusieurs façons de faire cela. Par exemple se connecter avec ssh en localhost, avec l'option -X ou -Y, ou utiliser xhost. Le souci, c'est que le premier est un peu lent (par exemple, pour lancer un jeu vidéo). Quand au deuxième, il n'est pas terrible du côté de la sécurité (ah les souvenirs... Polluer les displays des autres <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_razz.gif" alt=":-P" /> ).
</p>
<p>
  Une des solutions les plus intéressantes est d'exporter votre clé avec xauth, pour l'importer ensuite dans l'utilisateur qui vous intéresse ! Comme il faut entrer deux ou trois commandes pour faire cela manuellement, j'ai développé le programme <em>sendxauth.py</em>, permettant d'automatiser cela grâce à cette commande simple à mémoriser.
</p>
<h2>
  Un petit exemple pour clarifier les choses
</h2>
<p>
  Si mon explication n'a pas été claire, laisser moi vous donner un petit exemple.
</p>
<p>
  Supposons que vous avez un programme louche sous la main, que vous devez tester à tout prix. Comme il risque de faire ce qu'il veut dans le répertoire de votre utilisateur principal, par exemple vous voler vos informations confidentielles (les fichiers de configuration de votre navigateur web, qui contiennent peut-être vos mots de passes, ou vos courriels personnels ou confidentiels archivés), il peut-être intéressant de lancer ce programme avec un utilisateur limité. Donc, au lieu de le lancer avec votre utilisateur principal, vous allez utiliser l'utilisateur hyper limité « cobaye », qui n'a le droit de rien faire dans votre système, à part toucher à ses fichiers.
</p>
<p>
  Le souci c'est que, si vous vous loguez dans votre utilisateur hyper limité :
</p>
<div style="white-space: wrap;">
  <span>su</span> -l cobaye
</div>
<p>
  Et que vous lancez un programme graphique comme xterm (toujours en tant que « cobaye ») :
</p>
<div style="white-space: wrap;">
  xterm
</div>
<p>
  Vous aurez l'erreur :
</p>
<div style="white-space: wrap;">
  xterm Xt error: Can't open display:<br />
  xterm: &nbsp;DISPLAY is not set
</div>
<p>
  C'est un peu normal car l'utilisateur n'a le droit de rien faire dans votre display (sécurité).
</p>
<p>
  Pour lui donner ce droit, vous devez utiliser sendxauth.py (le script de ce tutoriel, voir plus bas) qui va s'occuper de tout faire à note place :
</p>
<div style="white-space: wrap;">
  sendxauth.py cobaye
</div>
<p>
  Une fois que vous vous reloguerez sur « cobaye » :
</p>
<div style="white-space: wrap;">
  <span>su</span> -l cobaye
</div>
<p>
  Et que vous aurez déclaré les deux variables recommandées par sendxauth.py :
</p>
<div style="white-space: wrap;">
  <span>export</span> <span>DISPLAY=</span><span>":0.0"</span><br />
  <span>export</span> <span>XAUTHORITY=</span><span>"/home/cobaye/.Xauthority"</span>
</div>
<p>
  xterm se lancera sans aucun souci, en tant que « cobaye » !
</p>
<h2>
  Télécharger le script
</h2>
<p>
  Vous pouvez <a href="http://achraf.cherti.name/blog/files/mes_programmes/sendxauth.py" title="sendxauth.py : envoyer votre clé xauth à un autre utilisateur">télécharger le script sendxauth.py</a> ou le copier coller depuis :
</p>
<div style="white-space: wrap;">
  <span>#!/usr/bin/env python</span><br />
  <span># -*- coding: utf-8 -*-</span><br />
  <span>#</span><br />
  <span># Copyright (c) 2008, Achraf cherti (aka Asher256)</span><br />
  <span>#</span><br />
  <span># Contact : achraf at cherti dot name</span><br />
  <span># Website : http://achraf.cherti.name/</span><br />
  <span>#</span><br />
  <span># This program is free software; you can redistribute it and/or modify</span><br />
  <span># it under the terms of the <acronym title="GNU is Not UNIX">GNU</acronym> General Public License as published by</span><br />
  <span># the Free Software Foundation; either version 2 of the License, or</span><br />
  <span># (at your option) any later version.</span><br />
  <span>#</span><br />
  <span># This program is distributed in the hope that it will be useful,</span><br />
  <span># but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br />
  <span># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the</span><br />
  <span># <acronym title="GNU is Not UNIX">GNU</acronym> General Public License for more details.</span><br />
  <span>#</span><br />
  <span># You should have received a copy of the <acronym title="GNU is Not UNIX">GNU</acronym> General Public License</span><br />
  <span># along with This program; if not, write to the Free Software</span><br />
  <span># Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA &nbsp;02110-1301 &nbsp;USA</span><br />
  <span>#</span><br />
  <span>""</span><span>"Send xauth key to different users."</span><span>""</span>
  <p>
    <span>import</span> <span>sys</span><br />
    <span>import</span> <span>os</span><br />
    <span>import</span> <span>re</span><br />
    <span>import</span> <span>pwd</span><br />
    <span>from</span> <span>getopt</span> <span>import</span> gnu_getopt, GetoptError
  </p>
  <p>
    VERSION = <span>'0.1'</span>
  </p>
  <p>
    SOURCE_USER = <span>''</span><br />
    DESTINATION_USER = <span>''</span><br />
    DISPLAY = <span>':0.0'</span><br />
    VERBOSE = <span>False</span><br />
    DEV_NULL = <span>' &gt;/dev/null 2&gt;&amp;1'</span>
  </p>
  <p>
    <span>def</span> vprint<span>(</span><span>string</span><span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"Print 'string' if --verbose is defined.</span>
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; <span>if</span> VERBOSE != <span>False</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>string</span>
  </p>
  <p>
    <span>def</span> check_environment<span>(</span><span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"Check if all required environment variables are available.</span>
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; display = <span>os</span>.<span>getenv</span><span>(</span><span>'DISPLAY'</span><span>)</span><br />
    &nbsp; &nbsp; <span>if</span> display == <span>None</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'DISPLAY environment variable is not declared.'</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span><br />
    &nbsp; &nbsp; <span>else</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>globals</span><span>(</span><span>)</span><span>[</span><span>"DISPLAY"</span><span>]</span> = display
  </p>
  <p>
    <span>def</span> user_exists<span>(</span><span>user</span><span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"Return True if the user exists.</span>
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; <span>try</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>pwd</span>.<span>getpwnam</span><span>(</span><span>user</span><span>)</span><br />
    &nbsp; &nbsp; <span>except</span> <span>KeyError</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>return</span> <span>False</span><br />
    &nbsp; &nbsp; <span>else</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>return</span> <span>True</span>
  </p>
  <p>
    <span>def</span> handle_arguments<span>(</span><span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"Handle options in the arguments (argv).</span>
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; <span>try</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; args = <span>sys</span>.<span>argv</span><span>[</span><span>1</span>:<span>]</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; optlist = gnu_getopt<span>(</span>args, <span>'vh'</span>, <span>[</span><span>'help'</span>, <span>'verbose'</span><span>]</span><span>)</span><br />
    &nbsp; &nbsp; <span>except</span> GetoptError:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'Error when parsing arguments.'</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"--help for more informations."</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>if</span> <span>len</span><span>(</span><span>sys</span>.<span>argv</span><span>)</span> &lt; <span>2</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'What<span>\'</span>s the destination user ?'</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"--help for more informations."</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>for</span> <span>user</span> <span>in</span> optlist<span>[</span><span>1</span><span>]</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> <span>not</span> user_exists<span>(</span><span>user</span><span>)</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"The user '%s' doesn't exists."</span> % <span>user</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>else</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>globals</span><span>(</span><span>)</span><span>[</span><span>"DESTINATION_USER"</span><span>]</span> = <span>user</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; <span>break</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>for</span> option, value <span>in</span> optlist<span>[</span><span>0</span><span>]</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> option <span>in</span> <span>[</span><span>'-v'</span>, <span>'--verbose'</span><span>]</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>globals</span><span>(</span><span>)</span><span>[</span><span>'VERBOSE'</span><span>]</span> = <span>True</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>globals</span><span>(</span><span>)</span><span>[</span><span>'DEV_NULL'</span><span>]</span> = <span>''</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>elif</span> option <span>in</span> <span>[</span><span>'-h'</span>, <span>'--help'</span><span>]</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> __doc__<span>[</span><span>0</span>:<span>-2</span><span>]</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'Usage: %s [OPTIONS] destination_user '</span> \<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; % <span>os</span>.<span>path</span>.<span>basename</span><span>(</span><span>sys</span>.<span>argv</span><span>[</span><span>0</span><span>]</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"OPTIONS :"</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-h, --help &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Show this help"</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;-v, --verbose &nbsp; &nbsp; &nbsp; &nbsp; Verbose mode"</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>0</span><span>)</span>
  </p>
  <p>
    <span>def</span> commands_required<span>(</span>*cmd_list<span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"This function tests if all programs in<br />
    &nbsp; &nbsp; the arguments are available in the environment<br />
    &nbsp; &nbsp; variable 'PATH'.</span>
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; path = <span>os</span>.<span>getenv</span><span>(</span><span>'PATH'</span><span>)</span><br />
    &nbsp; &nbsp; <span>if</span> path != <span>None</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; path_list = path.<span>split</span><span>(</span><span>os</span>.<span>pathsep</span><span>)</span><br />
    &nbsp; &nbsp; <span>else</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"The environment variable PATH is not defined."</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>for</span> command <span>in</span> cmd_list:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; error = <span>True</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>for</span> path <span>in</span> path_list:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; command_path = <span>os</span>.<span>path</span>.<span>join</span><span>(</span>path, command<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> <span>os</span>.<span>access</span><span>(</span>command_path, <span>os</span>.<span>X_OK</span><span>)</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; error = <span>False</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>break</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> error:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'The command <span>\'</span>%s<span>\'</span> is not found.'</span> % command<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span>
  </p>
  <p>
    <span>def</span> su_command_generator<span>(</span>command, <span>user</span>=<span>''</span><span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"Convert a command to : su -c 'command' user and return that.</span>
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; command = <span>re</span>.<span>sub</span><span>(</span>r<span>"(['<span>\\</span>])"</span>, r<span>"<span>\\</span><span>\1</span>"</span>, command<span>)</span><br />
    &nbsp; &nbsp; command = <span>'su -c <span>\'</span>'</span> + command + <span>'<span>\'</span>'</span><br />
    &nbsp; &nbsp; <span>if</span> <span>user</span> != <span>''</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; command += <span>' '</span> + <span>user</span><br />
    &nbsp; &nbsp; <span>return</span> command
  </p>
  <p>
    <span>def</span> send_xauth<span>(</span>destination_user, source_user=<span>''</span><span>)</span>:<br />
    &nbsp; &nbsp; <span>""</span><span>"Send the authentication to the destination user</span>
  </p>
  <p>
    &nbsp; &nbsp; If source_user is '', the source user is the actual user (automatically<br />
    &nbsp; &nbsp; detected).
  </p>
  <p>
    &nbsp; &nbsp; "<span>""</span><br />
    &nbsp; &nbsp; <span>if</span> source_user != <span>''</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>stdout</span>.<span>write</span><span>(</span>source_user + <span>'<span>\'</span>s '</span><span>)</span><br />
    &nbsp; &nbsp; <span>print</span> <span>'xauth key will be sent to'</span>, destination_user + <span>'...'</span><br />
    &nbsp; &nbsp; <span>print</span>
  </p>
  <p>
    &nbsp; &nbsp; auth_tmpfile = <span>'/tmp/sendxauth'</span> + <span>str</span><span>(</span><span>os</span>.<span>getpid</span><span>(</span><span>)</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>try</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span># extract</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; command = <span>'xauth extract '</span> + auth_tmpfile + <span>' '</span> + DISPLAY<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> source_user != <span>''</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>stdout</span>.<span>write</span><span>(</span><span>'You must enter '</span> + source_user + <span>' password : '</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; command = su_command_generator<span>(</span>command<span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; vprint<span>(</span>command<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; result = <span>os</span>.<span>system</span><span>(</span>command + DEV_NULL<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> source_user != <span>''</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> result != <span>0</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'Errors when extracting xauth key.'</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; <span># chmod auth key</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>os</span>.<span>chmod</span><span>(</span>auth_tmpfile, <span>0777</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; <span>#&nbsp;merge</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>stderr</span>.<span>write</span><span>(</span><span>'You must enter '</span> + destination_user + <span>' password : '</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; destination_home = <span>pwd</span>.<span>getpwnam</span><span>(</span>destination_user<span>)</span><span>[</span><span>5</span><span>]</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; authfile = <span>os</span>.<span>path</span>.<span>join</span><span>(</span>destination_home, <span>'.Xauthority'</span><span>)</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; <span># masquer les ' et \ dans authfile</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; command = su_command_generator<span>(</span><span>'xauth merge '</span> + auth_tmpfile,<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;destination_user<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; command = <span>'XAUTHORITY=<span>\'</span>'</span> + authfile + <span>'<span>\'</span> '</span> &nbsp;+ command<br />
    &nbsp; &nbsp; &nbsp; &nbsp; vprint<span>(</span>command<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; result = <span>os</span>.<span>system</span><span>(</span>command + DEV_NULL<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> DEV_NULL != <span>''</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span>
  </p>
  <p>
    &nbsp; &nbsp; &nbsp; &nbsp; <span>if</span> result != <span>0</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'Error when merging xauth key by '</span> + destination_user + <span>'.'</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>sys</span>.<span>exit</span><span>(</span><span>1</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>else</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"xauthority is sent to %s !"</span> % destination_user<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"You maybe must declare these shell variables before "</span> + \<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>"running a graphical program :"</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"export DISPLAY=<span>\"</span>%s<span>\"</span>"</span> % DISPLAY<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"export XAUTHORITY=<span>\"</span>%s/.Xauthority<span>\"</span>"</span> % \<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>pwd</span>.<span>getpwnam</span><span>(</span>destination_user<span>)</span><span>[</span><span>5</span><span>]</span><br />
    &nbsp; &nbsp; <span>finally</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>try</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>os</span>.<span>remove</span><span>(</span>auth_tmpfile<span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>except</span> <span>OSError</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>'Warning: Cannot remove '</span> + auth_tmpfile + <span>'...'</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>else</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; vprint<span>(</span><span>'Notice: '</span> + auth_tmpfile + <span>' deleted ;)'</span><span>)</span>
  </p>
  <p>
    <span>if</span> __name__ == <span>'__main__'</span>:<br />
    &nbsp; &nbsp; <span>try</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; commands_required<span>(</span><span>'xauth'</span>, <span>'su'</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; check_environment<span>(</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; handle_arguments<span>(</span><span>)</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; send_xauth<span>(</span>DESTINATION_USER, SOURCE_USER<span>)</span><br />
    &nbsp; &nbsp; <span>except</span> <span>KeyboardInterrupt</span>:<br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>print</span> <span>"Interrupted."</span>
  </p>
  <p>
    <span># vim:ai:et:sw=4:ts=4:sts=4:tw=78:fenc=utf-8</span>
  </p>
</div>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=TpiIM7"><img src="http://feeds.feedburner.com/~a/achraf?i=TpiIM7" /></a>
</p>
</div>]]>
      </description>
      <pubDate>sun, 31 Aug 2008 16:51:43 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7676914</guid>
    </item>
    <item>
      <title>Red&#233;marrer le routeur Sagem Fast 3304 de Maroc Telecom sous GNU/Linux, avec un script shell</title>
      <link>http://achraf.cherti.name/blog/2008/08/30/redemarrer-le-routeur-sagem-fast-3304-de-maroc-telecom-sous-gnulinux-avec-un-script-shell/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p style="text-align: center;">
  <img title="Routeur Sagem Fast 3304 de Maroc Telecom" src="http://achraf.cherti.name/blog/images/sagem_fast_3304_routeur_maroc_telecom.jpg" height="146" alt="Wifi Sagem F@st Multiservices 3304" width="257" />
</p>
<p>
  Si vous vous connectez à votre <strong>ADSL</strong> <strong>Menara</strong> de <strong>Maroc Telecom</strong>, avec un modem routeur wifi <strong>Sagem F@st 3304</strong>, et qu'il vous arrive d'avoir besoin de <strong>redémarrer</strong> votre <strong>routeur</strong> automatiquement, grâce à un cron + script shell, pour une des diverses raisons valables (par exemple, une connexion super lente, mystérieusement constatée après plusieurs heures de connexion suivies), le petit script de cet article risque de vous intéresser.
</p>
<p>
  Pour les curieux, pour faire ce script, j'ai extrait du code <acronym title="HyperText Markup Language">HTML</acronym> de l'interface web du <strong>Sagem Fast 3304</strong> l'<acronym title="Uniform Resource Locator">URL</acronym> qui est activée quand vous cliquez sur le bouton « redémarrage de votre routeur » dans la section « Maintenance ».
</p>
<p>
  Pour faire marcher le script, vous aurez besoin d'installer <em>curl</em>. Dans une distribution comme Debian ou Ubuntu :
</p>
<div style="white-space: wrap;">
  <span>sudo</span> apt-get <span>install</span> curl
</div>
<p>
  C'est à peu près similaire dans les autres distributions.
</p>
<p>
  N'oubliez pas de modifier les variables USER, PASSWORD et <acronym title="Internet Protocol">IP</acronym> pour le personnaliser !
</p>
<div style="white-space: wrap;">
  <span>#!/bin/sh</span><br />
  <span>#</span><br />
  <span># Redémarrage <span>du</span> routeur de Maroc Telecom <span>(</span>personnalisez le script</span><br />
  <span># en modifiant les variables ci-dessous.</span><br />
  <span>#</span><br />
  <span># Auteur : &nbsp;Achraf cherti</span><br />
  <span># <acronym title="Uniform Resource Locator">URL</acronym> : http://achraf.cherti.name/</span><br />
  <span># Licence : <acronym title="GNU General Public License">GPL</acronym></span><br />
  <span>#</span>
  <p>
    <span># Variables à modifier pour faire fonctionner votre script</span><br />
    <span><acronym title="Internet Protocol">IP</acronym>=</span><span>"192.168.1.1"</span><br />
    <span>USER=</span><span>"Menara"</span><br />
    <span>PASSWORD=</span><span>"Menara"</span>
  </p>
  <p>
    <span># Début <span>du</span> script</span><br />
    <span>if</span> ! <span>which</span> curl &gt;/dev/null <span>2</span>&gt;&amp;<span>1</span>; <span>then</span><br />
    &nbsp; &nbsp; <span>echo</span> <span>"Vous devez installer curl !"</span> &gt;&amp;<span>2</span><br />
    &nbsp;&nbsp; &nbsp;<span>exit</span> <span>1</span><br />
    <span>fi</span>
  </p>
  <p>
    tput setaf <span>1</span>; <span>echo</span> <span>"Redémarrage du routeur..."</span>; tput sgr0<br />
    curl -u <span>$USER</span>:<span>$PASSWORD</span> http://<span>$<acronym title="Internet Protocol">IP</acronym></span>/SubmitMaintREBOOT -d <span>''</span> &gt;/dev/null <span>2</span>&gt;&amp;<span>1</span><br />
    <span>if</span> <span>[</span> <span>"$?"</span> -ne <span>"0"</span> <span>]</span>; <span>then</span><br />
    &nbsp; &nbsp; <span>echo</span> <span>"Erreur lors de la communication avec le routeur."</span> &gt;&amp;<span>2</span><br />
    &nbsp; &nbsp; <span>exit</span> <span>1</span><br />
    <span>fi</span><br />
    <span>sleep</span> <span>3</span>
  </p>
  <p>
    tput setaf <span>1</span>; <span>echo</span> <span>"Attente de connexion..."</span>; tput sgr0<br />
    <span>i=</span><span>"0"</span><br />
    <span>while</span> <span>true</span>; <span>do</span><br />
    &nbsp; &nbsp; <span>ping</span> -c1 <span>212.217</span><span>.0</span><span>.1</span> &gt;/dev/null <span>2</span>&gt;&amp;<span>1</span><br />
    &nbsp; &nbsp; <span>if</span> <span>[</span> <span>"$?"</span> -eq <span>"0"</span> <span>]</span>; <span>then</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>break</span><br />
    &nbsp; &nbsp; <span>fi</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>i=</span><span>"`expr $i + 1`"</span><br />
    &nbsp; &nbsp; <span>if</span> <span>[</span> <span>"$i"</span> -gt <span>"60"</span> <span>]</span>; <span>then</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>echo</span> <span>"Nombre de tentatives de connexion dépassées..."</span> &gt;&amp;<span>2</span><br />
    &nbsp; &nbsp; &nbsp; &nbsp; <span>exit</span> <span>1</span><br />
    &nbsp; &nbsp; <span>fi</span>
  </p>
  <p>
    &nbsp; &nbsp; <span>sleep</span> <span>1</span><br />
    <span>done</span>
  </p>
  <p>
    <span># Décommenter les deux lignes suivantes si vous utiliser ddclient</span><br />
    <span># pour mettre à jour automatiquement votre dyndns.org</span><br />
    <span>#tput setaf <span>1</span>; <span>echo</span></span> <span>"Mise à jour ddclient..."</span>; tput sgr0<br />
    <span>#ddclient</span><br />
    <span>exit</span> <span>0</span>
  </p>
</div>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=MhSCbY"><img src="http://feeds.feedburner.com/~a/achraf?i=MhSCbY" /></a>
</p>
</div>]]>
      </description>
      <pubDate>sun, 31 Aug 2008 01:47:32 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7676915</guid>
    </item>
    <item>
      <title>Fltk, cr&#233;ez ais&#233;ment vos interfaces graphiques multi-plateformes en C++</title>
      <link>http://achraf.cherti.name/blog/2008/07/28/fltk-creez-aisement-vos-interfaces-graphiques-multi-plateformes-en-c/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p style="margin-bottom: 0cm;">
  <strong>Fltk</strong> est une <a href="http://fr.wikipedia.org/wiki/Biblioth%C3%A8que_logicielle">bibliothèque logicielle</a> pour le langage de programmation <strong>C++.</strong> Elle permet la création facile et rapide d'<strong>interfaces graphiques</strong> <strong>multi-plateformes</strong> (qui fonctionnent sous <strong><acronym title="GNU is Not UNIX">GNU</acronym>/Linux</strong>, <strong>Microsoft Windows</strong> et <strong>Mac <acronym title="Operating System">OS</acronym> X</strong>).
</p>
<p style="margin-bottom: 0cm;">
  J'aimerais vous présenter cette <strong>librairie</strong> car, en plus d'être <strong>légère</strong> et <strong>efficace</strong>, c'est la première que j'ai apprise et utilisée pour l'<strong>interface graphique</strong> de certains logiciels que j'ai développés par le passé, comme <a href="http://jargon.tuxfamily.org/" title="Jargon Informatique, dictionnaire informatique libre avec plusieurs définitions">Jargon Informatique</a> ou <a href="http://vbaexpress.tuxfamily.org/" title="VBA Express, interface graphique pour VisualBoyAdvance, un émulateur Game Boy Advance pour GNU/Linux"><acronym title="Visual Basic for Applications">VBA</acronym> Express</a>. Je garde un bon souvenir de son efficacité et de sa facilité d'utilisation !
</p>
<p style="margin-bottom: 0cm; text-align: center;">
  <img title="Jargon Informatique" src="http://achraf.cherti.name/blog/wp-content/screenshot_mini.jpg" height="275" alt="Screenshot de l\&amp;apos;interface graphique du Jargon Informatique" width="350" />
</p>
<p style="margin-bottom: 0cm; text-align: center;">
  <em>(exemple d'interface faite avec Fltk et Fluid)</em>
</p>
<h2>
  Les avantages et inconvénients de Fltk
</h2>
<p style="margin-bottom: 0cm; font-style: normal;">
  Fltk a plusieurs avantages :
</p>
<ul>
  <li>Elle est orientée objet. Ses fonctions peuvent être facilement retenues, car la majorité des objets héritent de la même classe.
  </li>
  <li>Cela fait plusieurs années qu'elle est développée, et elle est toujours active (elle a été créé bien avant <a href="http://fr.wikipedia.org/wiki/Qt">QT</a> et <a href="http://fr.wikipedia.org/wiki/GTK%2B">Gtk</a> par exemple !).
  </li>
  <li>Elle est portable, votre programme multi-plateforme et son interface peuvent fonctionner sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux, Microsoft Windows ou Mac <acronym title="Operating System">OS</acronym> X (dans la majorité des cas, sans changer la moindre ligne de code !).
  </li>
  <li>À la différence d'autres bibliothèques, telles que <a href="http://fr.wikipedia.org/wiki/Qt">QT</a> ou <a href="http://fr.wikipedia.org/wiki/GTK%2B">Gtk</a>, Fltk est très légère. Elle peut même être compilée statiquement avec votre programme sans se faire sentir (elle ajoute environ de 300Ko à votre exécutable ! Assez négligeable). La compiler statiquement a un deuxième avantage : éliminer les runtimes qui vous encombrent (les fichiers *.dll pour Microsoft Windows ou *.so pour <acronym title="GNU is Not UNIX">GNU</acronym>/Linux) pour avoir un fichier exécutable qui fonctionne sans imposer l'installation préalable d'une bibliothèque tierce.
  </li>
  <li>Elle supporte OpenGL. Vous pourrez intégrer une vue 3D dans vos interfaces !
  </li>
  <li>
    <span style="font-style: normal;">Et bien plus encore !</span> <span style="font-style: normal;">Je vous invite à découvrir toutes les fonctionnalités</span> <span style="font-style: normal;">dans la <a href="http://www.fltk.org/documentation.php/doc-1.1/toc.html">documentation officielle</a> !</span>
  </li>
</ul>
<p style="margin-bottom: 0cm;"></p>
<p style="margin-bottom: 0cm;">
  Le seul désavantage c'est que vous ne trouverez pas tout en standard (légèreté oblige), mais il y a l'essentiel pour faire des interfaces riches. Heureusement, quand une fonction disponible dans d'autres bibliothèques vous manque, vous avez la possibilité de télécharger des bibliothèques complémentaires à Fltk (par exemple, pour gérer l'impression, les effets spéciaux sur les widgets, un navigateur de fichiers plus complet, etc). Je vous invite à faire un tour dans <a href="http://fltk.org/">le site officiel de Fltk</a>.
</p>
<h2>
  Présentation de Fluid, l'éditeur d'interfaces graphiques
</h2>
<p style="margin-bottom: 0cm;">
  La bibliothèque Fltk est livrée avec un excellent éditeur d'interface graphique nommé Fluid. Il est également assez léger, à comparer avec d'autres éditeurs.
</p>
<p style="margin-bottom: 0cm;">
  Une fois votre Interface faite, cet éditeur s'occupe de générer le code source C++ permettant de gérer cette Interface, sans que vous ayez à construire votre interface directement à travers l'<acronym title="Application Programming Interface">API</acronym> !
</p>
<p style="margin-bottom: 0cm;"></p>
<h2>
  Faire votre premier programme avec Fltk et Fluid !
</h2>
<p>
  Afin de vous faire découvrir l'<acronym title="Application Programming Interface">API</acronym> C++ Fltk et l'éditeur d'interface graphique Fluid, nous allons créer un petit programme qui nous servira d'exemple ! Soit dit en passant, la version de Fltk que j'ai utilisée pour écrire ce tutoriel c'est la 1.1.7.
</p>
<h3>
  Installer Fltk et Fluid sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux et Windows
</h3>
<h4>
  Sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux
</h4>
<p>
  Fltk est probablement disponible dans votre gestionnaire de paquets, c'est la manière la plus facile de l'installer. Par exemple, sous Debian et Ubuntu, il suffit d'installer <strong>libfltk1.1-dev</strong> et <strong>fluid</strong> avec :
</p>
<div style="white-space: wrap;">
  <span>sudo</span> apt-get <span>install</span> libfltk1<span>.1</span>-dev fluid
</div>
<p>
  Si vous ne trouvez pas Fltk dans votre gestionnaire de paquets, vous devrez compiler la bibliothèque en utilisant le code source disponible dans <a href="http://fltk.org/">http://<acronym title="Fast Light Tool Kit">fltk</acronym>.org/</a>. Plus d'informations <a href="http://www.fltk.org/articles.php?L369+I10+TFAQ+M10+P1+Q">dans la <acronym title="Frequently Asked Questions">FAQ</acronym></a>.
</p>
<h4>
  Sous Windows
</h4>
<p>
  Vous pouvez compiler le code source de Fltk (disponible dans <a href="http://fltk.org/">le site officiel</a>, c'est le fichier <acronym title="Fast Light Tool Kit">fltk</acronym>-x-x-x.tar.gz) de deux façons :
</p>
<ul>
  <li>En ouvrant avec <strong>Microsoft Visual C++ 6.0</strong> le projet <strong><acronym title="Fast Light Tool Kit">fltk</acronym>.dsw</strong> disponible dans le répertoire <strong>visualc/</strong> du code source.
  </li>
  <li>En utilisant <a href="http://www.mingw.org/">Mingw32</a> (soit dit en passant, le compilateur distribué avec <a href="http://www.bloodshed.net/devcpp.html">Dev-c++</a>). Copiez makefiles/Makefile.mingw dans le répertoire du code source puis lancez make.
  </li>
</ul>
<p>
  Je vous invite également à jeter <a href="http://www.fltk.org/articles.php?L370+I10+TFAQ+M10+P1+Q">un oeil ici</a>.
</p>
<h3>
  Créez votre interface avec Fluid !
</h3>
<p>
  Le programme qu'on va créer sera très simple. Dans son interface, vous aurez le bouton « J'ai fini » et un widget pour entrer du texte. Quand vous cliquerez sur « j'ai fini », le contenu du texte entré sera affiché !
</p>
<p>
  Tous les fichiers du projets seront disponibles à la fin du tutoriel, pour que vous puissiez les télécharger au besoin.
</p>
<p>
  Pour commencer, lancez le programme Fluid (celui permettant d'éditer des interfaces graphiques). Comme pour faire ce tutoriel, je me suis basé sur la version en anglais de Fluid. Si votre version sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux est en français, et que vous désirez basculer vers la version en anglais, lancez fluid avec la commande :
</p>
<div style="white-space: wrap;">
  <span>LC_ALL=</span>C fluid
</div>
<p>
  Une fois que Fluid sera lancé, vous constaterez qu'il se divise en deux fenêtres.
</p>
<p>
  La principale contenant une liste et un menu :
</p>
<p>
  <img title="Fluid" src="http://achraf.cherti.name/blog/wp-content/fluid.jpg" height="328" alt="Interface principale de Fluid" width="288" />
</p>
<p>
  Et la deuxième, contenant des boutons permettant d'accéder aux différents outils :
</p>
<h3>
  <img title="Fluid Tools" src="http://achraf.cherti.name/blog/wp-content/fluid_tools.jpg" height="102" alt="Barre d\&amp;apos;outils de Fluid" width="400" />
</h3>
<p>
  Si vous n'avez pas la fenêtre ci-dessus, vous pouvez l'afficher en cliquant sur le menu <em>« Edit »</em> puis sur <em>« Widget Bin On/Off »</em>. Vous pouvez également utiliser le raccourci <em>ALT + b</em>.
</p>
<p>
  Cliquez sur le bouton suivant dans la fenêtre d'outils :
</p>
<p>
  <img title="Fluid: bouton nouvelle classe" src="http://achraf.cherti.name/blog/wp-content/nouvelle_classe.png" height="25" alt="" width="25" />
</p>
<p>
  Cela vous affichera une nouvelle fenêtre pour créer une nouvelle classe.
</p>
<p>
  <img title="Fluid: fenêtre pour ajouter une classe" src="http://achraf.cherti.name/blog/wp-content/fenetre_ajout_classe.jpg" height="204" alt="" width="292" />
</p>
<p>
  Remplacez « UserInterface » par « MonInterface » puis cliquez sur le bouton OK.
</p>
<p>
  <img title="Fluid: interface principale avec une classe" src="http://achraf.cherti.name/blog/wp-content/main_fluid_avec_classe.jpg" height="328" alt="" width="288" />
</p>
<p>
  Cliquez sur « MonInterface » dans la fenêtre que vous voyez dans l'image ci-dessus, pour sélectionner cette classe, puis cliquez sur le bouton :
</p>
<p>
  <img title="Fluid: bouton pour ajouter une nouvelle fonction" src="http://achraf.cherti.name/blog/wp-content/nouvelle_fonction.png" height="25" alt="" width="25" />
</p>
<p>
  Cela nous affichera une nouvelle fenêtre pour créer le constructeur de la classe « MonInterface » (qui va s'occuper de créer pour nous la fenêtre lors de l'instanciation de la classe tout à l'heure dans le code source C++).
</p>
<p>
  <img title="Fluid: ajouter fonction" src="http://achraf.cherti.name/blog/wp-content/fenetre_ajout_fonction1.jpg" height="204" alt="" width="292" />
</p>
<p>
  Remplacez « make_window() » par « MonInterface() » (fonction dont le nom est similaire à celui de la classe, pour qu'elle devienne le constructeur).
</p>
<p>
  Ensuite, cliquez sur le bouton OK.
</p>
<p>
  Cliquez sur ce bouton pour créer une nouvelle fenêtre (dans le constructeur) :
</p>
<p>
  <img title="Fluid: bouton nouvelle fenêtre" src="http://achraf.cherti.name/blog/wp-content/nouvelle_fenetre.png" height="25" alt="" width="25" />
</p>
<p>
  Ce qui nous affichera une nouvelle fenêtre avec la taille 100x100 :
</p>
<p>
  <img title="Fluid: fenêtre vide" src="http://achraf.cherti.name/blog/wp-content/fenetre_vide.jpg" height="134" alt="" width="107" />
</p>
<p>
  Double cliquez sur cette fenêtre (par exemple au centre de celle-ci) pour afficher les propriétés de cette dernière :
</p>
<p>
  <img title="Fluid: propriétés" src="http://achraf.cherti.name/blog/wp-content/proprietes.jpg" height="404" alt="" width="422" />
</p>
<p>
  Dans l'onglet <acronym title="Graphical User Interface">GUI</acronym>, mettez dans width 320, comme suit :
</p>
<p>
  <img title="Fluid: width (largeur)" src="http://achraf.cherti.name/blog/wp-content/proprietes_width.png" height="36" alt="" width="62" />
</p>
<p>
  Modifiez ensuite le "label" (qui désigne le titre de la fenêtre) pour y mettre « Le Titre » :
</p>
<p>
  <img title="Fluid: le titre" src="http://achraf.cherti.name/blog/wp-content/proprietes_label.png" height="29" alt="" width="247" />
</p>
<p>
  Maintenant, nous allons attribuer un nom à cette fenêtre (le nom qui sera utilisé dans le code source C++, pour le pointeur membre de la classe MonInterface, qui pointe vers l'objet de cette fenêtre).
</p>
<p>
  Cliquez sur l'onglet C++, ce qui vous donnera :
</p>
<p>
  <img title="Fluid: propriétés, dans l\&amp;apos;onglet C++" src="http://achraf.cherti.name/blog/wp-content/propriete_onglet_cpp.jpg" height="404" alt="" width="422" />
</p>
<p>
  Dans « Name », mettez « FenetrePrincipale » :
</p>
<p>
  <img title="Fluid: propriétés dans l\&amp;apos;onglet C++" src="http://achraf.cherti.name/blog/wp-content/propriete_onglet_cpp_name.png" height="26" alt="" width="345" />
</p>
<p>
  Cliquez sur le bouton Ok, pour confirmer toutes vos modifications dans la fenêtre de propriétés !
</p>
<p>
  Notre fenêtre a désormais un titre, une taille différente et le nom C++ « FenetrePrincipale », qui sera utilisé ultérieurement dans le code source C++.
</p>
<p>
  On va désormais ajouter deux Widgets (pour info, Widget vient de "Window Gadget") : un bouton et une entrée de texte.
</p>
<p>
  Pour ajouter le bouton, cliquez sur :
</p>
<p>
  <img title="fluid: nouveau bouton" src="http://achraf.cherti.name/blog/wp-content/nouvelle_bouton.png" height="25" alt="" width="25" />
</p>
<p>
  Les propriétés du bouton s'afficheront automatiquement (une fenêtre similaire à celle qui nous a servi pour modifier la taille, le titre, etc. de la fenêtre). Modifiez :
</p>
<ul>
  <li>Width : 110
  </li>
  <li>X : 195
  </li>
  <li>Y : 60
  </li>
  <li>Label : J'ai fini
  </li>
</ul>
<p>
  (je tiens à noter que vous n'êtes pas obligés d'entrer le width, height, x et y manuellement, il est possible de glisser/déposer/redimentionner votre bouton à l'aide de la souris)
</p>
<p>
  Cliquez sur l'onglet C++ puis modifiez le nom C++ du bouton (comme on l'avait fait pour la fenêtre). Mettez « BoutonFini » dans Name.
</p>
<p>
  Enfin, cliquez sur Ok pour confirmer les modifications dans les propriétés du bouton.
</p>
<p>
  Maintenant, on va créer le "Input" (le widget qui nous permettra d'entrer du texte). Dans la fenêtre outils, cliquez sur le bouton contenant un "A" indiqué en jaune dans l'image ci-dessous :
</p>
<p>
  <img title="Fluid: créer un input" src="http://achraf.cherti.name/blog/wp-content/creer_input.jpg" height="102" alt="" width="400" />
</p>
<p>
  Comme pour le bouton, vous aurez automatiquement la fenêtre des propriétés. Modifiez :
</p>
<ul>
  <li>Width : 290
  </li>
  <li>X : 15
  </li>
  <li>Y : 20
  </li>
</ul>
<p>
  Dans l'onglet C++, mettez dans "Name" le nom : « EntreeClavier ».
</p>
<p>
  Cliquez sur Ok pour confirmer les propriétés.
</p>
<p>
  L'interface est finie ! Félicitations !
</p>
<p>
  <img title="Fluid: interface finie" src="http://achraf.cherti.name/blog/wp-content/jaifini.png" height="134" alt="" width="327" />
</p>
<p>
  Enregistrez cette interface dans un nouveau répertoire vide (qui contiendra également le code source C++ ultérieurement, ainsi que le Makefile) sous le nom MonInterface.fl, en cliquant sur le menu Fluid « File » puis « Save ».
</p>
<p>
  Ensuite, générez le code source C++ à partir de l'interface en cliquant sur « File » puis « Write Code ».
</p>
<p>
  <img title="Fluid: générer code source C++" src="http://achraf.cherti.name/blog/wp-content/file_write_code.png" height="246" alt="" width="272" />
</p>
<p>
  Vous constaterez que deux nouveaux fichiers ont été générés dans le même répertoire que le fichier MonInterface.fl :
</p>
<ul>
  <li>MonInterface.cxx : le code source C++, contenant la classe de votre interface graphique
  </li>
  <li>MonInterface.h : le header contenant toutes les déclarations nécessaires (entre autres, la déclaration de la classe, de ses variables membres, etc.)
  </li>
</ul>
<h2>
  Création du code source C++ et compilation
</h2>
<p>
  On passe maintenant à l'écriture de la fonction main qui va utiliser notre classe MonInterface !
</p>
<p>
  Créez le fichier main.cxx et mettez-y :
</p>
<div style="white-space: wrap;">
  <span>/*<br />
  &nbsp;* Ce code source fait partie du tutoriel disponible dans le blog :<br />
  &nbsp;* http://achraf.cherti.name/blog/<br />
  &nbsp;*/</span>
</div>
<p>
  <span>#include "MonInterface.h" &nbsp;/* La déclaration de la classe */</span><br />
  <span>#include &lt;FL/fl_ask.H&gt; /* Pour la fonction «&nbsp;fl_alert&nbsp;» */</span>
</p>
<p>
  MonInterface *Interface; &nbsp; <span>/* Déclare le pointeur vers l'interface */</span>
</p>
<p>
  <span>/* Quand le bouton est cliqué */</span><br />
  <span>void</span> BoutonFini_Click<span>(</span>Fl_Widget *<span>)</span> <span>{</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;<span>/* Met le pointeur vers le contenu de l'input<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* dans la variable contenu */</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;<span>const</span> <span>char</span> *contenu = Interface-&gt;EntreeClavier-&gt;value<span>(</span><span>)</span>;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;<span>/* Affiche le contenu de l'Input */</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;fl_alert<span>(</span><span>"%s"</span>, contenu<span>)</span>;<br />
  <span>}</span>
</p>
<p>
  <span>int</span> main<span>(</span><span>int</span> argc, <span>char</span> **argv<span>)</span> <span>{</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;<span>/* Crée une instance de l'interface */</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;Interface = <span>new</span> MonInterface<span>(</span><span>)</span>;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;<span>/* Crée un événement pour que une<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* fois que le bouton est cliqué, la<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* fonction «&nbsp;BoutonFini_Click&nbsp;» est appelée. */</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;Interface-&gt;BoutonFini-&gt;callback<span>(</span>BoutonFini_Click<span>)</span>;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;<span>/* On Affiche la fenêtre<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* (souvenez vous, dans Fluid, dans l'onglet C++, on avait<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* choisi «&nbsp;FenetrePrincipale&nbsp;» comme nom dans «&nbsp;Name&nbsp;»)<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* Après la génération du code, FenetrePrincipale est devenue<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* une variable membre de la classe MonInterface<br />
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* et show() est une fonction Fltk qui affiche la fenêtre */</span><br />
  &nbsp;&nbsp;&nbsp;&nbsp;Interface-&gt;FenetrePrincipale-&gt;show<span>(</span>argc, argv<span>)</span>;
</p>
<p>
  &nbsp;&nbsp;&nbsp;&nbsp;<span>return</span> Fl::<span>run</span><span>(</span><span>)</span>; &nbsp;<span>/* exécute Fltk (qui gère tout !) */</span><br />
  <span>}</span>
</p>
<p>
  Vous avez le nécessaire pour que votre programme soit compilé et exécuté !
</p>
<p>
  Compilez maintenant main.cxx et MonInterface.cxx dans le même fichier, avec Fltk comme bibliothèque. Sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux, par exemple, c'est :
</p>
<div style="white-space: wrap;">
  <span>g++</span> `<acronym title="Fast Light Tool Kit">fltk</acronym>-config --cflags` main.cxx MonInterface.cxx -o MonProgramme `<acronym title="Fast Light Tool Kit">fltk</acronym>-config --ldflags`<br />
  ./MonProgramme
</div>
<p>
  Bonne découverte !
</p>
<h2>
  Télécharger le code source du projet
</h2>
<p>
  Tout le code source de ce tutoriel est disponible dans cette archive :
</p>
<ul>
  <li>
    <a href="http://achraf.cherti.name/files/fltk-example-achraf.cherti.name.tar.gz"><acronym title="Fast Light Tool Kit">fltk</acronym>-example-achraf.cherti.name.tar.gz</a>
  </li>
</ul>
<h2>
  Quelques liens en relation avec Fltk :
</h2>
<ul>
  <li>
    <a href="http://www.xgarreau.org/aide/devel/langtk/cpp_fltk.php">Tutoriel dans le site de Xavier Garreau</a>
  </li>
  <li>
    <a href="http://www.fltk.org/">Site officiel de Fltk</a>
  </li>
  <li>
    <a href="http://www.fltk.org/documentation.php/doc-1.1/fluid.html">Documentation de Fluid</a>
  </li>
</ul>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=MFbBCD"><img src="http://feeds.feedburner.com/~a/achraf?i=MFbBCD" /></a>
</p>
</div>]]>
      </description>
      <pubDate>tue, 29 Jul 2008 00:11:19 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7444175</guid>
    </item>
    <item>
      <title>Maroc : Ubuntu (ou Debian) + heure d'&#233;t&#233; = solution</title>
      <link>http://achraf.cherti.name/blog/2008/06/03/maroc-ubuntu-ou-debian-heure-dete-du-1-juin-2008-une-solution/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><h3 style="text-align: center;">
  EDIT : l'heure d'été, c'est terminé. <a href="http://achraf.cherti.name/blog/2008/09/17/maroc-fin-de-lheure-dete-sous-ubuntu-ou-debian/">Je vous invite à lire ce billet pour plus d'informations sur la désactivation de l'heure d'été au Maroc sous Ubuntu <acronym title="GNU is Not UNIX">GNU</acronym>/Linux et Debian</a>.
</h3>
<p>
  <img src="/blog/images/tzdata-ubuntu-debian-maroc-heure-ete-dst/heure-horloge.png" alt="Heure dans une horloge" style="float: right;" />
</p>
<p>
  Depuis le premier juin, au <strong>Maroc</strong>, nous sommes passés à l'heure d'été (<strong>GMT+1</strong>), jusqu'au 28 septembre 2008. C'est bien beau toutes ces "décisions", mais quand on administre un parc de serveurs sous <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> et que l'<strong>heure</strong> est décalée, car cela fait des années que nous sommes en <strong>GMT</strong>, et que les serveurs ne savent pas qu'il faut passer à l'heure d'été, ce n'est pas du tout une partie de plaisir !
</p>
<p>
  Je me suis donc mis à chercher une solution pour que l'heure de mes serveurs soit correcte, tout en restant dans mon <strong>timezone</strong> (qui est <strong>Africa</strong>/<strong>Casablanca</strong>, <acronym title="Note de la rédaction">ndlr</acronym>) et tout en pouvant utiliser <strong>ntpdate</strong>, pour synchroniser l'heure avec un <strong>serveur ntp</strong>. Après plusieurs tentatives, recherches, la meilleure solution que j'ai trouvée est de modifier le paquet <strong>tzdata</strong> de <strong>Debian</strong> (qui marche aussi sous <strong>Ubuntu</strong>).
</p>
<p>
  <img src="/blog/images/tzdata-ubuntu-debian-maroc-heure-ete-dst/tux-gnu-linux.png" alt="Tux - GNU/Linux" style="float: right;" />J'ai écrit ce petit billet afin de <strong>faire gagner du temps</strong> à ceux qui administrent des serveurs sous <strong>Debian <acronym title="GNU is Not UNIX">GNU</acronym>/Linux</strong>, <strong>Ubuntu</strong>, dérivées et qui souhaitent avoir une heure correcte avec le bon timezone <em>marocain</em>. Cela dit, cette solution peut aussi être utile pour ceux qui utilisent <acronym title="GNU is Not UNIX">GNU</acronym>/Linux comme ordinateur de bureau.
</p>
<h2>
  Comment corriger le souci du timezone Africa/Casablanca ?
</h2>
<p>
  Tout ce qui suivra sera fait dans un terminal, en tant que root.
</p>
<h3>
  1. Installez le paquet tzdata modifié dans votre distribution Debian, Ubuntu ou dérivées
</h3>
<p>
  Téléchargez le paquet <a href="/blog/files/paquets/debian-et-ubuntu/tzdata_2008c-1_all.deb" title="Paquet tzdata_2008c-1_all.deb pour Debian, Ubuntu ou dérivés"><strong>tzdata_2008c-1_all.deb</strong></a> (c'est le paquet <em>tzdata</em> de <em>Debian Etch</em> modifié par mes soins) et installez-le avec :
</p>
<div style="white-space: wrap;">
  dpkg -i tzdata_2008c-1_all.deb
</div>
<p>
  (paquet testé sous Debian Etch et Ubuntu Hardy)
</p>
<h3>
  2. synchronisez l'heure avec un serveur ntp
</h3>
<p>
  Installez ntpdate :
</p>
<div style="white-space: wrap;">
  apt-get <span>install</span> ntpdate
</div>
<p>
  Et synchronisez l'heure :
</p>
<div style="white-space: wrap;">
  ntpdate ntp.ubuntu.com
</div>
<h3>
  3. vérifiez si l'heure est exacte
</h3>
<p>
  Lancez la commande :
</p>
<div style="white-space: wrap;">
  <span>date</span>
</div>
<p>
  Cela devrait vous donner quelque chose comme :
</p>
<div style="white-space: wrap;">
  mardi <span>3</span> juin <span>2008</span>, <span>22</span>:<span>30</span>:<span>54</span> <span>(</span>UTC<span>+0100</span><span>)</span>
</div>
<p>
  Le souci est désormais corrigé !
</p>
<h2>
  Autres tutoriels sur le même thème
</h2>
<ul>
  <li>
    <a href="http://www.zad.ma/64564262764462762a-articles/le-passage-a-lheure-dete-et-la-reactivite-de-la">Le passage à l'heure d'été et la réactivité de la communauté <acronym title="GNU is Not UNIX">GNU</acronym>/Linux</a>
  </li>
</ul>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=NJs1Vz"><img src="http://feeds.feedburner.com/~a/achraf?i=NJs1Vz" /></a>
</p>
</div>]]>
      </description>
      <pubDate>wed, 04 Jun 2008 00:18:34 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/7022435</guid>
    </item>
    <item>
      <title>J'ai assist&#233; aux GNU/Linux Days 2008, &#224; Agadir</title>
      <link>http://achraf.cherti.name/blog/2008/05/19/gnu-linux-days-agadir-maroc-compte-rendu-bilan-interviews-conferences-ateliers/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  <a href="http://achraf.cherti.name/blog/wp-content/affiche_linux_days_2008.jpg"><img title="L\&amp;apos;affiche des GNU/Linux Days 2008 (Agadir, Maroc)" src="http://achraf.cherti.name/blog/wp-content/affiche_linux_days_2008_mini.jpg" height="212" alt="L&amp;apos;affiche des GNU/Linux Days à Agadir, Maroc" style="float: right;" width="150" /></a>Vous avez sûrement entendu parler des <a href="http://ensalinux.com/" title="Site Officiel des Linux Days"><strong><acronym title="GNU is Not UNIX">GNU</acronym>/Linux Days</strong></a>, un événement <a href="http://achraf.cherti.name/blog/2008/05/02/annonce-les-%C2%AB-linux-days-2008-%C2%BB-a-agadir-maroc/" title="Annonce des Linux Days 2008">annoncé récemment</a>, dédié à la promotion des <strong>logiciels libres</strong> et de <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> au <strong>Maroc</strong>, qui a été tenu à l'<a href="http://www.ensa-agadir.ac.ma/"><strong><acronym title="Ecole Nationale des Sciences Appliquées"><acronym title="Ecole Nationale des Sciences Appliquées">ENSA</acronym></acronym></strong></a>, à <strong>Agadir</strong>, le 8, 9 et 10 mai 2008.
</p>
<p>
  Je garde un très bon souvenir de ces trois jours passés à Agadir. J'ai fait la connaissance de plusieurs personnes intéressantes, on a partagé de bons moments, les conférences et les ateliers étaient excellents et enfin, le comité organisateur a fait un boulot remarquable.
</p>
<p>
  Dans cet article, vous découvrirez ce qui s'est passé dans les <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> <strong>Days</strong> 2008, vous écouterez une <strong>entrevue audio</strong> avec le <strong>comité organisateur</strong> et vous <strong>verrez quelques photos</strong> <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> .
</p>
<h2>
  Avant tout, écoutez l'interview avec les organisateurs des <acronym title="GNU is Not UNIX">GNU</acronym>/Linux Days !
</h2>
<p>
  Comme lors de l'<a href="http://achraf.cherti.name/blog/2008/05/07/jai-assiste-aux-open-source-days-2008-a-rabat-maroc-un-evenement-dedie-aux-logiciels-libres-et-a-gnulinux/"><strong>Open Source Days 2008</strong></a> (à Rabat), des membres du comité organisateur du <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> <strong>Days</strong> à <strong>Agadir</strong> ont été interviewés, c'est Fadoua, Zhor et Ghada qui ont accepté de répondre à quelques questions en relation avec le <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> <strong>Days</strong> !
</p>
<p>
  Vous pouvez également télécharger cette <a href="http://qbworld.free.fr/achraf.cherti.name/20080510-ensa-agadir-interview-comite-organisateur-linux-days-2008.ogg" title="Entrevue avec les organisateurs des GNU/Linux Days 2008, au format OGG">entrevue au format OGG</a> <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> .
</p>
<h2>
  Premier jour : je n'étais pas là !
</h2>
<p>
  Ce compte rendu sera différent des précédents, car malheureusement, je n'ai pas pu assister à toutes les conférences. Mon billet d'avion n'était disponible que pour le deuxième jour des <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> <strong>Days</strong> 2008, c'est-à-dire pour le vendredi 9 mai 2008, au lieu du jeudi.
</p>
<p>
  Cela dit, à la fin de cet article, je vous parlerai également des conférences que j'ai ratées <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> .
</p>
<h2>
  Deuxième jour : voyage par avion, conférences et escale à Oufella
</h2>
<p>
  Le vendredi 9 mai 2008, c'était le jour J. Je suis allé tôt le matin à l'aéroport de Casablanca, afin de prendre l'avion !
</p>
<p>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/avion-vers-agadir-linux-days-2008.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/avion-vers-agadir-linux-days-2008-mini.jpg" alt="L&amp;apos;avion pour aller à Agadir (Maroc), à l&amp;apos;occasion du GNU/Linux Days 2008" /></a>
</p>
<p>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/monte-dans-l-avion-vers-agadir.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/monte-dans-l-avion-vers-agadir-mini.jpg" alt="On monte dans l&amp;apos;avion, pour aller à Agadir (Maroc), à l&amp;apos;occasion du GNU/Linux Days 2008" /></a>
</p>
<p>
  Le voyage était très rapide ! En une heure, j'étais à Agadir. Quand je pense au jour où j'étais allé à Agadir en voiture, cela avait duré six heures !
</p>
<p>
  J'ai beaucoup aimé le fait de me sentir au-dessus des nuages ! Tiens, voilà une photo que j'ai prise à partir de mon siège, en plein vol :
</p>
<p>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/dans-l-avion-vers-agadir-nuages.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/dans-l-avion-vers-agadir-nuages-mini.jpg" height="300" alt="Dans l&amp;apos;avion, au dessus des nuages, pour aller à Agadir (Maroc), à l&amp;apos;occasion du GNU/Linux Days 2008." width="400" /></a>
</p>
<p>
  Parfois, on oublie que la technologie nous permet de faire (et vivre) de belles choses <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> . J'avais vraiment envie de sauter et mettre les pieds sur ces nuages, me déplacer d'un nuage à un autre, etc. Si seulement c'était possible !
</p>
<p>
  Une fois arrivé à Agadir, Fadoua, une membre très sympathique du comité organisateur, m'a accueilli à l'aéroport. Une fois les présentations faites, on est montés en voiture avec une autre membre du comité organisateur pour aller au COS-ONE, l'hôtel où les <acronym title="GNU is Not UNIX">GNU</acronym>/Linux Days étaient organisés.
</p>
<p>
  Une fois à l'hôtel, la conférence du matin était déjà finie, dommage <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_sad.gif" alt=":-(" /> . C'était la pause café. Il y avait un buffet et plusieurs personnes en train de se servir. On a pris quelques gâteaux, du thé, discuté, puis pris une petite photo.
</p>
<h2>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/pause-cafe-linux-days-2008.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/pause-cafe-linux-days-2008-mini.jpg" alt="Photo prise lors de la pause café du GNU/Linux Days 2008 (à Agadir, Maroc)" /></a>
</h2>
<p>
  Je suis allé après cela dans ma chambre pour faire quelques corrections dans mes slides et me reposer, car ma conférence approchait ! Il fallait que tout soit impeccable !
</p>
<p>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/chambre-hotel-cos-one-agadir-maroc.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/chambre-hotel-cos-one-agadir-maroc-mini.jpg" height="300" alt="À l&amp;apos;hotel COS-ONE, à Agadir (Maroc), dans ma chambre d&amp;apos;hotel, à l&amp;apos;occasion du GNU/Linux Days 2008" width="400" /></a>
</p>
<p>
  Ensuite, après m'être reposé, je me suis dirigé vers la salle des conférences, à 15h, et j'ai branché mon ordinateur sur le projecteur.
</p>
<p>
  Après avoir été présenté par un membre du comité organisateur, ce dernier m'a passé le micro et j'ai commencé ma conférence, qui, je le rappelle, était dédiée à <a href="http://achraf.cherti.name/blog/2008/05/10/securiser-votre-systeme-gnulinux/"><strong>la sécurité sous <acronym title="GNU is Not UNIX">GNU</acronym>/Linux</strong></a>. J'avais peur d'avoir le trac au début, mais ce n'était pas du tout le cas. Une fois que j'ai commencé à parler, je me suis senti à l'aise et cela m'avait fait plaisir de parler d'un domaine qui me tenait à coeur, à des personnes intéressées !
</p>
<p>
  Voici les slides de la conférence :
</p>
<div style="width: 425px; text-align: left;">
  <object height="355" width="425">
    
    
    
    <embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=20080509securiservotresystemegnulinuxparachrafcherti-1210434825323225-9" height="355" width="425" />
  </object>
</div>
<p>
  (vous pouvez également <a href="http://achraf.cherti.name/files/20080509-securiser-votre-systeme-gnu-linux-par-achraf-cherti.pdf" title="Slides « Sécurité sous GNU/Linux », format PDF, conférence par Achraf Cherti (Asher256), au GNU/Linux Days 2008, Agadir, Maroc">télécharger ces slides au format <acronym title="Portable Document Format">PDF</acronym> !</a>)
</p>
<p>
  Pour toucher un maximum de monde, j'ai préféré parler de la base, afin d'avoir une sécurité assez poussée pour faire fuir les petits script-kiddie. Il y a eu des conseils comme chiffrer son disque dur, bloquer son écran quand on est pas là, avoir un mot de passe dans GRUB et dans le BIOS, sécuriser son navigateur web, avoir des outils pour tester l'intégrité de votre système de fichiers, etc.
</p>
<p>
  À la fin de la conférence, on m'a posé des questions et j'ai répondu avec plaisir. Parfois, les questions n'avaient pas de relation directe avec <acronym title="GNU is Not UNIX">GNU</acronym>/Linux, mais avec la sécurité en général, mais ce n'était pas grave, tant qu'on parlait de sécurité <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> .
</p>
<p>
  Pour info, on m'a dit que les vidéos des conférences seront disponibles dans <a href="http://ensalinux.com/">le site officiel des <acronym title="GNU is Not UNIX">GNU</acronym>/Linux Days</a> dans les prochains jours. Je vous tiendrai au courant.
</p>
<p>
  Après la conférence, je suis revenu brièvement à ma chambre d'hotel pour déposer mon ordinateur et&nbsp; j'ai pris une photo du balcon :
</p>
<p>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/vue-chambre-hotel-cos-one-agadir-maroc.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/vue-chambre-hotel-cos-one-agadir-maroc-mini.jpg" height="300" alt="À l&amp;apos;hôtel COS-ONE, à Agadir (Maroc), depuis ma chambre d&amp;apos;hotel, vue sur la piscine. C&amp;apos;est à l&amp;apos;occasion du GNU/Linux Days 2008" width="400" /></a>
</p>
<p>
  Ensuite, je suis allé voir la piscine. Très jolie <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> . Je vous ai pris une photo à l'occasion.
</p>
<p>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/cos-one-agadir-maroc-piscine-linux-days-2008.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/cos-one-agadir-maroc-piscine-linux-days-2008-mini.jpg" height="300" alt="La piscine du COS-ONE d&amp;apos;Agadir (Maroc). C&amp;apos;est à l&amp;apos;occasion du GNU/Linux Days 2008 !" width="400" /></a>
</p>
<p>
  Si seulement j'avais pris mon maillot avec moi <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> !
</p>
<p>
  Après une pause-café, j'ai assisté à une conférence sur la gestion des entreprises à la manière des sites web 2.0, par Younes Qassimi, de <a href="http://www.synergie-media.com/">Synergie Media</a>. Le titre de la conférence était simplement « Entreprise 2.0 ».
</p>
<h2>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008//younes-qassimi-linux-days-2008.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008//younes-qassimi-linux-days-2008-mini.jpg" height="300" alt="Conférence de Younes Qassimi, sur l&amp;apos;Entreprise 2.0, à l&amp;apos;occasion du GNU/Linux Days 2008" width="400" /></a>
</h2>
<p>
  Il a commencé par expliquer la différence entre une Entreprise 1.0 et 2.0. Alors que la 1.0 est basée sur une hiérarchie stricte, où le « patron » donne des ordres et où les employés exécutent, dans l'Entreprise 2.0, la gestion est beaucoup plus « communautaire », tous les éléments de l'entreprise participent au bienfait de leur projet commun, c'est plus flexible, cela encourage la collaboration, l'innovation, c'est plus productif et réactif.
</p>
<p>
  Il a parlé des nombreux services qui pouvaient être utilisés pour une meilleure collaboration dans une Entreprise 2.0, comme un Blog, un Wiki, une messagerie instantanée...
</p>
<p>
  Une fois que la conférence de Younes était terminée, nous sommes allés, conférenciers et organisateurs, à « Oufella », un endroit intéressant avec une très belle vue et une vielle histoire. Voyez la photo que j'ai prise sur place :
</p>
<h2>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/oufella-agadir-maroc.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/oufella-agadir-maroc-mini.jpg" height="300" alt="Petite photo prise à Oufella (à Agadir, Maroc). Jolie vue ! On y est allé après les conférences du GNU/Linux Days 2008" width="400" /></a>
</h2>
<h2>
  Troisième jour : conférence sur TinyERP et Asterisk et Gala (dîner, remise de prix)
</h2>
<p>
  Le lendemain, le samedi, j'ai assisté pour la deuxième fois à deux conférence (j'ai parlé de ces conférences dans l'article sur l'<a href="http://achraf.cherti.name/blog/2008/05/07/jai-assiste-aux-open-source-days-2008-a-rabat-maroc-un-evenement-dedie-aux-logiciels-libres-et-a-gnulinux/"><strong>Open Source Days 2008</strong></a>), c'est-à-dire celle sur TinyERP et celle sur Asterisk.
</p>
<p>
  Pour les intéressés, voici les slides de la conférence sur Asterisk, par Tarik Fdil :
</p>
<div style="width: 425px; text-align: left;">
  <object height="355" width="425">
    
    
    
    <embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=asteriskgestionefficacetelephonieentr-1210708643061794-9" height="355" width="425" />
  </object>
</div>
<h2>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/conference-tarik-fdil.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/conference-tarik-fdil-mini.jpg" alt="Conférence de Tarik Fdil, sur Asterisk, à l&amp;apos;occasion du GNU/Linux Days 2008" /></a>
</h2>
<p>
  (dans la photo ci-dessus, c'est Tarik Fdil, un membre d'AMAL2. Il a tenu une conférence sur Asterisk)
</p>
<p>
  Le samedi soir, on a eu une superbe soirée à l'occasion de la fin des Linux Days 2008. Un buffet était disponible, il y a eu une remise de prix aux organisateurs, quelques speechs (parfois marrants) et plein photos !
</p>
<p>
  J'ai sélectionné pour vous deux photos <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" />
</p>
<p>
  Petit mélange entre organisateurs et conférenciers :
</p>
<h2>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/photo-groupe-linux-days-2008.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/photo-groupe-linux-days-2008-mini.jpg" height="266" alt="Photo de groupe prise lors du gale du Linux Days 2008" width="400" /></a>
</h2>
<p>
  Et enfin, l'équipe organisatrice au complet !
</p>
<h2>
  <a href="http://achraf.cherti.name/blog/images/linuxdays2008/equipe-complete-linux-days-2008.jpg"><img src="http://achraf.cherti.name/blog/images/linuxdays2008/equipe-complete-linux-days-2008-mini.jpg" alt="Le comité organisateur du GNU/Linux Days 2008 (Agadir, Maroc)" /></a>
</h2>
<h2>
  Les conférences que j'ai ratées
</h2>
<p>
  Comme je l'ai dit au début de cet article, je n'ai malheureusement pas pu assister à toutes les conférences ! Cela dit, ce n'est pas une raison de ne pas en parler !
</p>
<p>
  La première que j'ai ratée c'est « Logiciels libres, quelles opportunités pour nos entreprises ? », par <a href="http://chergaoui.com/">Ahmed Chergaoui</a>, alias B2. Il a parlé de la philosophie des logiciels libres, la différence entre « Open Source » et « Logiciel Libre », les avantages du libre pour l'entreprise...
</p>
<p>
  Les slides :
</p>
<div style="width: 425px; text-align: left;">
  <object height="355" width="425">
    
    
    
    <embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=logicielslibres-1210713244094462-9" height="355" width="425" />
  </object>
</div>
<p>
  J'ai aussi raté « plateformes de développement collaboratif » par <a href="http://www.olivierberger.org/">Olivier Berger</a>. Il a montré la façon avec laquelle les développeurs de logiciels libres font pour collaborer, alors qu'ils sont répartis un peu partout dans le monde. Il a également beaucoup encouragé la contribution aux logiciels libres, car sans cela, ces derniers sont sont voués à l'échec. Il a même souligné que la contribution n'est pas seulement faite au niveau du code, mais aussi au fait de rapporter des bugs, faire des traductions, faire des dons, etc.
</p>
<div style="width: 425px; text-align: left;">
  <object height="355" width="425">
    
    
    
    <embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=plateformepourledveloppementcollaboratifdeslogicielslibres-1210711014859366-8" height="355" width="425" />
  </object>
</div>
<p>
  Il y a eu aussi une conférence sur « FreeNX », par Jalal Zahid. Une solution similaire à VNC (pour administrer son ordinateur à distance, comme si vous étiez devant lui) moins couteuse en bande passante.
</p>
<p>
  Enfin, il y a eu « Simulations et applications réparties sous Linux », par Ahmed Toumanari.
</p>
<p>
  Quand j'aurai les slides de ces deux dernières, je les publierai <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> .
</p>
<h2>
  Compte rendu d'autres blogueurs
</h2>
<ul>
  <li>
    <a href="http://www.chergaoui.com/logiciel-libre/journees-gnu-linux-agadir-compte-rendu.html" title="Compte rendu des GNU/Linux Days par Ahmed Chergaoui">Ahmed Chergaoui</a>
  </li>
  <li>
    <a href="http://asma01.unblog.fr/2008/05/11/compte-rendu-des-journees-linux/">Asma</a>
  </li>
</ul>
<p>
  Si vous avez parlé des <acronym title="GNU is Not UNIX">GNU</acronym>/Linux Days, dites le dans les commentaires, je vous ajouterai !
</p>
<h2>
  Conclusion
</h2>
<p>
  J'oublierai difficilement ces trois jours d'exception passés à Agadir !
</p>
<p>
  Je suis content d'avoir assisté à un événement aussi bien organisé. Je suis ravi d'avoir fait la connaissance de nombreux(ses) gadiris, qui se reconnaîtrons <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> . J'aimerais féliciter le comité organisateur qui a fait un boulot remarquable, cela se voit de la qualité des dépliants jusqu'aux conférenciers, la salle des conférences, les ateliers, etc.
</p>
<p>
  À l'année prochaine <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> .
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=gVsIj2"><img src="http://feeds.feedburner.com/~a/achraf?i=gVsIj2" /></a>
</p>
</div>]]>
      </description>
      <pubDate>sun, 18 May 2008 17:59:21 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6896225</guid>
    </item>
    <item>
      <title>Motic, reviens, la blogoma t'attends !</title>
      <link>http://achraf.cherti.name/blog/2008/05/13/motic-reviens-blogoma-attends-operateurs-telecoms-sites-internet-marocains-maroc-blogueur-blog/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Une initiative d'<a href="http://www.maroc-it.com/blogs/omar/?p=149">Omar</a> à saluer, pour encourager <em><a href="http://motic.blogspot.com/">MoTIC</a> à revenir sur scène, à reprendre son blog :<br /></em>
</p>
<blockquote>
  <p>
    <em>M. Drissi, depuis 2 mois, la blogoma se sent orpheline, perdue. Sans <a href="http://motic.blogspot.com/">MoTIC</a>, mon agrégateur <acronym title="Really Simple Syndication">RSS</acronym> ne ressemble plus à rien…</em>
  </p>
  <p>
    <em>Plus aucun billet sur votre blog. Plus aucune critique sur les offres des opérateurs télécoms, sur les sites Internet marocains. Plus aucune nouvelle des effractions à l’encontre de la liberté d’expression sur le net marocain.</em>
  </p>
  <p>
    <em>Les opérateurs télécoms s’en réjouissent, les sécuritaires sont soulagés, les blogueurs perdus… M. Drissi, vous n’allez pas LES laisser triompher n’est ce pas?</em>
  </p>
  <p>
    <em>Reviens Motic!</em>
  </p>
</blockquote>
<p>
  Si tu lis ces lignes, nous espérons que tu seras bientôt parmi nous <strong>MoTIC</strong> !
</p>
<p>
  <strong>D'autres blogueurs en parlent :</strong>
</p>
<ul>
  <li>
    <a href="http://www.maroc-it.com/blogs/omar/?p=149">Omar</a>
  </li>
  <li>
    <a href="http://www.casawaves.com/2008/05/13/reviens-motic-reviens/">Casawaves</a>
  </li>
  <li>
    <a href="http://zer0land.free.fr/dotclear/index.php?post/2008/05/13/Mobilisons-nous-pour-un-retour-de-MoTIC">Zer0land</a>
  </li>
</ul>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=1iVlVM"><img src="http://feeds.feedburner.com/~a/achraf?i=1iVlVM" /></a>
</p>
</div>]]>
      </description>
      <pubDate>tue, 13 May 2008 18:07:14 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6853220</guid>
    </item>
    <item>
      <title>Animal Planet ne prennent pas soin de votre Chien ou Chat (Casablanca)</title>
      <link>http://achraf.cherti.name/blog/2008/05/12/gardiennage-planet-animal-chien-chat-veterinaire-casablanca-maroc-maladie-malade-sale-soin/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  À l'occasion de mon voyage à <strong>Agadir</strong>, pour le <a href="http://achraf.cherti.name/blog/2008/05/19/gnu-linux-days-agadir-maroc-compte-rendu-bilan-interviews-conferences-ateliers/"><strong>Linux Days</strong> 2008</a>, j'ai laissé <strong>Laika</strong> quatre jours dans le centre de gardiennage <strong>Planet Animal</strong> à <strong>Casablanca</strong>. J'ai posé quelques questions afin de m'assurer que tout irait bien. Ils m'ont promis que c'était <strong>propre</strong>, que cela suivait les "<strong>normes européennes</strong>" et que les <strong>chiens</strong> étaient bien traités.
</p>
<p>
  <img title="Laika au balcon" src="http://achraf.cherti.name/blog/wp-content/im000266-300x225.jpg" height="225" alt="Laika dans le balcon, une petite chienne jolie, Teckel Pékinois" width="300" />
</p>
<p>
  Avec le prix élevé de <strong>80 DH par jour</strong>, j'imaginais que c'était organisé et surtout "professionnel". Je croyais que :
</p>
<ul>
  <li>ils sortaient les chiens au moins deux fois par jour
  </li>
  <li>ils leur faisaient manger de la nourriture propre, haut de gamme
  </li>
  <li>ils vérifiaient leur santé grâce au vétérinaire sur place (c'est un "hopital" vétérinaire, si j'ai bien compris leur affiche)
  </li>
  <li>ils appliquaient un anti-sceptique dans les chenils avant de mettre les chiens dedans
  </li>
</ul>
<p>
  <img title="00043" src="http://achraf.cherti.name/blog/wp-content/00043-300x225.jpg" height="225" alt="Laika dans mon lit, une petite chienne jolie, Teckel Pékinois" width="300" />
</p>
<p>
  Mais après avoir laissé Laika quatre jours chez eux :
</p>
<ul>
  <li>Elle avait une forte diarrhée (du liquide, à 100%)
  </li>
  <li>Son corps état rempli de matière fécale (ils ne la sortaient pas pour qu'elle fasse ses besoins ?)
  </li>
  <li>Elle sentait mauvais (odeur similaire aux chevaux, ânes ou hamsters)
  </li>
  <li>Elle criait comme si elle était traumatisée, elle voulait à tout prix sortir de ce centre de gardiennage
  </li>
  <li>Elle avait une rougeur au dessus du nez (mycose ? inflammation ?)
  </li>
  <li>Ses gencives étaient rouges (normalement, c'est rose clair)
  </li>
  <li>Une fois chez moi, elle s'est précipitée sur l'eau, elle a bu comme si elle n'avait pas bu depuis je ne sais combien d'heures !
  </li>
</ul>
<p>
  <img title="Laika sur la table, dans le balcon" src="http://achraf.cherti.name/blog/wp-content/im000123-300x225.jpg" height="225" alt="Laika au balcon, une petite chienne jolie, Teckel Pékinois" width="300" />
</p>
<p>
  Pauvre Laika, elle a une forte diarhée, mais qu'as-elle a mangée ? Ses selles sont 100% liquides. Une fois sortie de Planet Animal, elle courait dans tous les sens, elle jouait avec moi. Serait-elle restée dans sa cage quatre jours ?
</p>
<p>
  Une fois chez moi, je l'ai lavée quatre fois avec du shampoing. Je vais acheter un vermifuge et un médicament pour la diarrhée pour la soigner. J'espère que ce n'est pas grave, sinon, je vais chez ce vétérinaire pas sérieux pour qu'il répare les pots cassés.
</p>
<p>
  Je suis profondément déçu par la mauvaise qualité de leur service. Je suis triste pour ce qu'à subi la pauvre Laika, sans défenses. Elle ne peut même pas raconter ce qu'elle a subi <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_sad.gif" alt=":-(" /> . Pour me faire pardonner, je vais la sortir et jouer avec elle plus souvent.
</p>
<p>
  <img title="a1300031" src="http://achraf.cherti.name/blog/wp-content/a1300031-300x225.jpg" height="225" alt="Laika / Dragon Ball Z, une petite chienne jolie, Teckel Pékinois" width="300" />
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=4QcBYf"><img src="http://feeds.feedburner.com/~a/achraf?i=4QcBYf" /></a>
</p>
</div>]]>
      </description>
      <pubDate>mon, 12 May 2008 19:54:44 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6845919</guid>
    </item>
    <item>
      <title>S&#233;curiser votre syst&#232;me GNU/Linux</title>
      <link>http://achraf.cherti.name/blog/2008/05/10/securiser-votre-systeme-gnulinux/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  <img title="Sécurité" src="http://achraf.cherti.name/blog/wp-content/folder_locked.png" height="128" alt="Sécurité sous GNU/Linux" style="float: right;" width="128" />La <strong>sécurité</strong> fait partie des domaines les plus importants, et pourtant, tant de personnes pensent le contraire. Lors du <a href="http://achraf.cherti.name/blog/2008/05/02/annonce-les-%C2%AB-linux-days-2008-%C2%BB-a-agadir-maroc/"><strong>Linux</strong> <strong>Days</strong> 2008</a>, à <strong>Agadir</strong> (<strong>Maroc</strong>), le vendredi 9 mai 2008 à 15h, j'ai tenu une conférence sur la <strong>sécurité</strong> sous <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong>, dans laquelle j'ai exposé plusieurs <strong>conseils</strong> pour avoir un ordinateur avec une <strong>sécurité</strong> assez élevée pour tenir tête aux petits script kiddies qui s'amusent tellement avec les ordinateurs des chers utilisateurs lambda <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" /> !
</p>
<p>
  Plusieurs points ont été traités, comme pourquoi sécuriser votre système <acronym title="GNU is Not UNIX">GNU</acronym>/Linux, comment sécuriser le navigateur web Firefox, pourquoi faire attention lors de l'installation des programmes, pourquoi bloquer son écran, les avantages d'un pare-feu, pourquoi chiffrer votre disque dur, etc.
</p>
<p>
  Comme d'habitude, après chaque conférence, je publie mes slides, pour les intéressés. Vous pouvez donc soit <a href="http://achraf.cherti.name/files/20080509-securiser-votre-systeme-gnu-linux-par-achraf-cherti.pdf" title="Slides de la conférence sur la sécurité sous GNU/Linux, au format PDF">télécharger la version au format <acronym title="Portable Document Format">PDF</acronym></a>, soit visualiser les slides depuis cette page <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" /> :
</p>
<div style="width: 425px; text-align: left;">
  <object height="355" width="425">
    
    
    
    <embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=20080509securiservotresystemegnulinuxparachrafcherti-1210434825323225-9" height="355" width="425" />
  </object>
</div>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=iZfOE5"><img src="http://feeds.feedburner.com/~a/achraf?i=iZfOE5" /></a>
</p>
</div>]]>
      </description>
      <pubDate>sat, 10 May 2008 18:15:20 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6831343</guid>
    </item>
    <item>
      <title>Faire connaitre votre Blog !</title>
      <link>http://achraf.cherti.name/blog/2008/05/08/faire-connaitre-votre-blog-attirer-fideliser-visiteurs-referencer-referencement-blog-moteur-moteurs-recherche/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  <img title="Recherche" src="http://achraf.cherti.name/blog/wp-content/kappfinder.png" height="128" alt="Référencement Blog" style="float: right;" width="128" />Vous découvrirez dans cette présentation comment <strong>faire connaître votre blog</strong>, <strong>attirer des visiteurs</strong>, les <strong>fidéliser</strong> et être mieux <strong>référencé</strong> dans <strong>les moteurs de recherche</strong> (comme Google ou Yahoo).
</p>
<p>
  Cela pourrait être un bon début pour tous ceux qui n'ont jamais touché à ce domaine ^_^.
</p>
<p>
  Pour info, ces slides ont été présentés pour la première fois lors de ma <strong>conférence</strong> au <a href="http://achraf.cherti.name/blog/2008/04/28/annonce-le-blog-day-2008-troisieme-edition-a-tanger-maroc/" title="Annonce du Blog Day 2008">Blog Day 2008</a> à Tanger.
</p>
<div style="width: 425px; text-align: left;">
  <object height="355" width="425">
    
    
    
    <embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=20080503faireconnaitresonblogparachrafcherti-1210229583452633-9" height="355" width="425" />
  </object>
</div>
<p>
  Vous pouvez également <strong><a href="http://achraf.cherti.name/files/20080503-faire-connaitre-son-blog-par-achraf-cherti.pdf" title="Présentation au format PDF - Faire connaitre votre Blog (attirer, fidéliser vos visiteurs et être bien placé dans les moteurs de recherche)">télécharger la présentation au format <acronym title="Portable Document Format">PDF</acronym></a></strong>.
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=hB6b8i"><img src="http://feeds.feedburner.com/~a/achraf?i=hB6b8i" /></a>
</p>
</div>]]>
      </description>
      <pubDate>thu, 08 May 2008 17:50:55 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6814972</guid>
    </item>
    <item>
      <title>Annonce: Ubuntu 8.04 (Hardy Heron) sera f&#234;t&#233;e &#224; Lausanne (en Suisse) !</title>
      <link>http://achraf.cherti.name/blog/2008/05/07/annonce-ubuntu-804-hardy-heron-sera-fete-a-lausanne-en-suisse/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  <a href="http://achraf.cherti.name/blog/wp-content/hardy-release.png"><img title="Ubuntu Hardy fêtée à Lausanne" src="http://achraf.cherti.name/blog/wp-content/hardy-release.png" height="153" alt="" style="float: right;" width="210" /></a>
</p>
<p>
  Afin de célébrer la sortie de la nouvelle <strong>Ubuntu 8.04</strong>, dont le nom de code est <strong>Hardy Heron</strong>, l'équipe <strong>Ubuntu</strong> <strong>Suisse</strong> vous invite le <strong>17 mai 2008</strong>, de quinze heures à minuit, à une soirée dédiée à cette occasion !
</p>
<p>
  La nouvelle version d'<strong>Ubuntu</strong> vous sera présentée et vous découvrirez les diverses utilisations de ce système. Par exemple, comment faire du multimédia, de la bureautique, installer des programmes, faire de la publication assistée par ordinateur, etc.
</p>
<p>
  Il y aura même un invité, Mark Kretschmann en personne, le développeur principal et créateur initial d'un des meilleurs lecteur audio : <strong>Amarok</strong> ! Il viendra pour présenter cet excellent logiciel.
</p>
<p>
  Ah, si seulement la <strong>Suisse</strong> n'était qu'à quelques kilo-mètres de chez moi, j'aurai bien voulu faire un saut, mais ce n'est pas grave, un de ces jours peut-être, si je vais en vacances là-bas ! J'espère que vous serez nombreux à participer à cet événement. Si vous souhaitez plus d'informations, visitez la <strong><a href="https://wiki.ubuntu.com/SwissTeam/ReleasePartyHardy/Lausanne">page de la SwissTeam dans le Wiki d'Ubuntu</a></strong> !
</p>
<p>
  <strong>PS:</strong> <em>si vous vous demandez pourquoi j'annonce cela, c'est suite à la demande d'un ami marocain, résident en suisse et membre de la SwissTeam, qui voudrait bien que cette annonce paraisse dans le Planet-Libre et dans le Planet-Ubuntu, car son blog est down actuellement ^_^ .<br /></em>
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=VVJF9c"><img src="http://feeds.feedburner.com/~a/achraf?i=VVJF9c" /></a>
</p>
</div>]]>
      </description>
      <pubDate>wed, 07 May 2008 17:06:10 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6812168</guid>
    </item>
    <item>
      <title>J'ai assist&#233; aux Open Source Days 2008 (&#224; Rabat, Maroc) !</title>
      <link>http://achraf.cherti.name/blog/2008/05/07/jai-assiste-aux-open-source-days-2008-a-rabat-maroc-un-evenement-dedie-aux-logiciels-libres-et-a-gnulinux/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><p>
  Le samedi 26 et dimanche 27 avril, j'ai assisté à la <strong>deuxième édition</strong> de l'<a href="http://www.osd.new.ma/" title="Site officiel de l&amp;apos;Open Source Days, plein de Flash niark niark"><strong>Open Source Days</strong></a> (que j'ai <a href="http://achraf.cherti.name/blog/2008/04/19/annonce-les-open-source-days-2008/" title="Annonce de l&amp;apos;Open Source Days 2008">annoncé ici</a>, <acronym title="Note de la rédaction">ndlr</acronym>), l'événement organisé par l’<a href="http://www.ensias.ma/"><strong>ENSIAS</strong></a> et L’<a href="http://www.inpt.ac.ma/"><strong>INPT</strong></a> pour encourager l'utilisation des <strong>logiciels libres</strong> et de <strong><acronym title="GNU is Not UNIX">GNU</acronym>/Linux</strong> au <strong>Maroc</strong>.
</p>
<p style="text-align: center;">
  <img title="Petite affiche - Open Source days 2008" src="http://achraf.cherti.name/blog/wp-content/2425468552_543663953b.jpg" height="275" alt="Affiche de l&amp;apos;Open Source Days 2008" width="200" />
</p>
<p style="text-align: left;">
  <a href="http://achraf.cherti.name/blog/2008/04/28/jai-ete-un-reporter-twitter-a-cette-occasion-jai-ete-interviewe-par-lebaron-_/" title="Mon reportage Twitter">Après mon « reportage » sur Twitter</a>, je vais, dans cet article, vous <strong>raconter ce qui s'est passé</strong> dans cet événement, avec un compte rendu, des <strong>photos</strong> et quelques <strong>interviews audio</strong> !
</p>
<p style="text-align: center;">
  <a href="http://achraf.cherti.name/blog/wp-content/2425468552_543663953b.jpg"></a>
</p>
<h2>
  Bilan des deux journées
</h2>
<h3>
  Le samedi matin
</h3>
<p>
  J'ai eu des difficultés à trouver l'<a href="http://www.ensias.ma/"><strong>ENSIAS</strong></a>, l'école dans laquelle l'<acronym title="Open Source Days">OSD</acronym> était organisé ! Après quelques minutes de recherches, dans le quartier Irfane (un quartier plein d'écoles !), je l'avais enfin trouvée...
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008_entree.jpg"><img title="Open Source Days 2008 - Entrée (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008_entree_mini.jpg" height="282" alt="Entrée de l&amp;apos;ENSIAS - Open Source Days 2008, Maroc, Rabat, Linux" width="400" /></a><em><br />
  (cliquez sur l'image pour l'agrandir)</em>
</p>
<p>
  Des feuilles contenant le programme étaient posées sur une table, tout près de la salle des conférences. J'en avais pris une et je suis entré.
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008_trois_feuilles.jpg"><img title="Open Source Days 2008 - Trois feuilles (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008_trois_feuilles_mini.jpg" height="300" alt="Table avec le programme - Open Source Days 2008" width="400" /></a>
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008_feuille.jpg"><img title="Open Source Days 2008 - Feuille (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008_feuille_mini.jpg" height="300" alt="Feuille sur une table (programme) dans l&amp;apos;Open Source Days 2008" width="400" /></a>
</p>
<p>
  <em>(cliquez sur l'image pour l'agrandir)</em>
</p>
<p>
  Une fois dans la salle des conférences, je me suis rendu compte que le conférencier venait de commencer ! C'était un Belge, <em>Arnaud Neuville</em>, un représentant de la société <a href="http://www.tinyerp.org/">Tiny</a>. À côté de lui, il y avait deux personnes, l'un d'eux était probablement <em>Abderahman Elkafil</em>, fondateur de la société <a href="http://www.nextma.com/">Nextma</a>. Ils ont parlé de leurs sociétés, <a href="http://www.tinyerp.org/">Tiny</a>, <a href="http://www.nextma.com/">Nextma</a> et une autre, en les prenant pour exemple afin de nous montrer comment des <strong>sociétés à but lucratif</strong> peuvent gagner de l'argent avec les <strong>logiciels libres</strong>.
</p>
<p>
  Ensuite, nous avons eu une pause café avec plein de petits gâteaux, pâtisseries, etc. J'en ai profité pour faire quelques entrevues audio, que vous découvrirez à la fin de cet article !
</p>
<p>
  Une fois la pause café terminée, on est entré dans une autre salle pour rejoindre <em>Abderahman Elkafil</em>, afin qu'il nous présente <a href="http://www.tinyerp.org/">TinyERP</a> dans un atelier pratique (il manipulait TinyERP dans son ordinateur et expliquait ce qu'il faisait. Le tout était bien sûr affiché par le biais d'un projecteur).
</p>
<h3>
  Le samedi après-midi
</h3>
<p>
  Après avoir déjeuné avec un ami à Agdal, je suis revenu à 15h à l'<strong>ENSIAS</strong> pour assister à la suite de la <strong>manifestation</strong> ! Après une petite attente, <em>Tarik Fdil</em> a commencé sa conférence « le logiciel libre boulverse le modèle économique des opérateurs de téléphonie ». Cette conférence était sympa, en tout cas, beaucoup plus que celle du matin. Tarik a parlé d'Asterisk, comment Asterisk peut vous permettre de créer un IPBX avec un simple ordinateur, comment il peut vous faire économiser de l'argent dans les appels de votre entreprise, etc. Après la conférence, je l'ai interviewé (voir ci-dessous, dans la section des interviews).
</p>
<p>
  Si vous êtes intéressés par cette conférence, je vous invite à <a href="http://achraf.cherti.name/blog/wp-content/osd2008-conference-asterisk-modele-economique-par-tarik-fdil.pdf" title="Slides de la conférence « le logiciel libre boulverse le modèle économique des opérateurs de téléphonie » par Tarik Fdil, au format PDF">télécharger les slides de la conférence</a> (format <acronym title="Portable Document Format">PDF</acronym>).
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008-tarik-fdil.jpg"><img title="Open Source Days 2008 - Tarik Fdil (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008-tarik-fdil-mini.jpg" height="300" alt="Conférence de Tarik Fdil - Open Source Days 2008 - Asterisk, IPBX, VOIP" width="400" /></a>
</p>
<p>
  <em>(dans la photo ci-dessus, c'est Tarik Fdil, en pleine conférence. Cliquez sur l'image pour l'agrandir)</em>
</p>
<p>
  Après cela, il y a eu une autre conférence, mais je n'y ai pas complètement assisté, j'étais assez fatigué et en plus, un petit détail m'avait encouragé à franchir la porte <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> . Je vous laisse le découvrir dans la photo ci-dessous <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_biggrin.gif" alt=":-D" /> .
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008-windows.jpg"><img title="Open Source Days 2008 - Windows (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008-windows-mini.jpg" height="300" alt="Conférencier sous Windows (mdd) - Open Source Days 2008" width="400" /></a>
</p>
<p>
  C'était la dernière conférence du samedi. Je me suis ensuite baladé avec un ami dans les environs. On a visité plusieurs écoles, comme l'<a href="http://www.inpt.ac.ma/"><strong>INPT</strong></a>, c'était assez intéressant de découvrir ce milieu !
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008-inpt.jpg"><img title="Open Source Days 2008 - INPT (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008-inpt-mini.jpg" height="300" alt="INPT - Open Source Days 2008" width="400" /></a>
</p>
<p>
  <em>(la photo ci-dessus à été prise à l'entrée de l'INPT)</em>
</p>
<h3>
  Le dimanche matin
</h3>
<p>
  Le dimanche matin, il y avait deux choses prévues, un atelier par <em>Taha Abderrahman</em>, pour présenter son logiciel libre <a href="http://linuxfr.org/2007/06/24/22652.html">K3D Surf</a>, et la conférence « quelle viabilité pour un modèle économique basé sur les logiciels libres ? », par Omar Tazi, le directeur général d’<a href="http://www.omnidata.co.ma/">OMNIDADA</a>.
</p>
<p>
  À mon entrée, il n'y avait personne dans la grande salle. Je suis allé à la petite salle et j'ai découvert que le public était en train de voir un documentaire sur Linux, intitulé « Codename Linux » (si je me souviens bien). J'ai demandé à un responsable pour quelle raison ? Il m'a répondu que c'était à cause de <em>Taha Abderrahman</em>, qui n'était pas venu à cause d'une raison X. Dommage...
</p>
<p>
  <a href="http://achraf.cherti.name/blog/wp-content/osd2008-omar-tazi.jpg"><img title="Open Source Days 2008 - Omar Tazi (mini)" src="http://achraf.cherti.name/blog/wp-content/osd2008-omar-tazi-mini.jpg" height="300" alt="Conférence Omar Tazi - gagner argent logiciel libre - Open Source Days 2008" width="400" /></a>
</p>
<p>
  (dans la photo ci-dessus, c'est <em>Omar Tazi</em>)
</p>
<p>
  Après plusieurs minutes, Omar Tazi était venu pour commencer sa conférence « quelle viabilité pour un modèle économique basé sur les logiciels libres ? ». La conférencier et le contenu de la conférence étaient très intéressants. Cela compense la première conférence du samedi. Omar à parlé de son expérience dans plusieurs pays, comment il a atteri dans le milieu des logiciels libres, techniques pour gagner de l'argent avec les logiciels libres, etc. Si vous êtes intéressé par les slides, vous pouvez les <a href="http://achraf.cherti.name/blog/wp-content/osd2008-slides-conference-omar-tazi.rar" title="Slides de la conférence d&amp;apos;Omar Tazi">télécharger ici</a>.
</p>
<h2>
  Les entrevues audio
</h2>
<p>
  Cette année, en plus d'un "reportage" <a href="http://achraf.cherti.name/blog/2008/04/05/jai-un-twitter-maintenant/">en direct sur Twitter</a>, il y a eu des entrevues audio avec...
</p>
<h3>
  Le comité organisateur
</h3>
<p>
  Ajbar Youssef et Marnissi Zineb, des membres du comité organisateur, ont accepté de répondre à quelques questions, pour nous en dire un peu plus sur les coulisses de l'<acronym title="Open Source Days">OSD</acronym>, les raisons du report de la date de l'<acronym title="Open Source Days">OSD</acronym> et pour nous expliquer ce qui les motivent le plus pour organiser cet événement.
</p>
<p>
  Vous pouvez <a href="http://qbworld.free.fr/osd2008/osd-2008-interview-comite-organisateur.ogg" title="Télécharger : Entrevue audio avec le comité organisateur">télécharger cette entrevue au format OGG Vorbis</a>.
</p>
<h3>
  Le conférencier Tarik Fdil
</h3>
<p>
  Tarik Fdil a tenu, comme je l'ai dit précédemment, une conférence sur la révolution de la téléphonie grâce aux logiciels libres.
</p>
<p>
  Vous pouvez <a href="http://qbworld.free.fr/osd2008/osd-2008-interview-conferencier-tarik-fdil.ogg" title="Télécharger : Entrevue audio avec Tarik Fdil, un conférencier">télécharger cette entrevue au format OGG Vorbis</a>.
</p>
<h3>
  Les participants
</h3>
<p>
  L'avis des participants compte aussi ! J'en ai choisi quatre, dans différents moments, pendant les deux jours de l'<acronym title="Open Source Days">OSD</acronym>.
</p>
<p>
  <strong>Meryem</strong>
</p>
<p>
  Une étudiante à l'INPT qui s'intéresse aux logiciels libres et qui est venue à l'<acronym title="Open Source Days">OSD</acronym> pour en savoir plus. Elle encourage ce genre de manifestations et aime bien le thème de cette année. Elle s'attendait à plus de monde par contre.
</p>
<p>
  Vous pouvez aussi <a href="http://qbworld.free.fr/osd2008/osd-2008-interview-participante-meryem.ogg" title="Entrevue avec Meryem, une participante">télécharger cette entrevue au format OGG Vorbis</a>.
</p>
<p>
  <strong>Issam<br /></strong>
</p>
<p>
  Issam est un Linuxien casablancais. Il n'a pas trop aimé la première conférence, il l'a trouvée trop "commerciale". Il encourage ce genre d'événements, qui ne peuvent avoir qu'un effet positif. Le thème l'a beaucoup intéressé.
</p>
<p>
  Vous pouvez aussi <a href="http://qbworld.free.fr/osd2008/osd-2008-interview-participant-issam.ogg" title="Entrevue avec Issam, un participant">télécharger cette entrevue au format OGG Vorbis</a>.
</p>
<p>
  <strong>Btissam<br /></strong>
</p>
<p>
  Elle a beaucoup aimé l'<acronym title="Open Source Days">OSD</acronym>, les conférenciers, l'organisation, le thème, etc. Elle encourage fortement tous ceux qui ont participé à l'organisation de l'<acronym title="Open Source Days">OSD</acronym>.
</p>
<p>
  Vous pouvez aussi <a href="http://qbworld.free.fr/osd2008/osd-2008-interview-participante-btissam.ogg" title="Entrevue avec Btissam, une participante">télécharger cette entrevue au format OGG Vorbis</a>.
</p>
<p>
  <strong>Mounaim</strong>
</p>
<p>
  Enfin, le dernier, Mounaim, que j'ai interviewé alors que la salle était presque vide, le deuxième et dernier jour <img src="http://achraf.cherti.name/blog/wp-includes/images/smilies/icon_smile.gif" alt=":-)" /> . Il a aimé l'événement, le niveau des conférenciers, etc. mais il aurait préféré plus de personnes (le deuxième jour, il y avait moins de personnes, c'est peut-être à cause de cela).
</p>
<p>
  Vous pouvez aussi <a href="http://qbworld.free.fr/osd2008/osd-2008-interview-participant-mounaim.ogg" title="Entrevue avec Mounaim, un participant">télécharger cette entrevue au format OGG Vorbis</a>.
</p>
<h2>
  Conclusion
</h2>
<p>
  J'ai constaté, grâce aux Open Source Days, que les logiciels libres intéressent de plus en plus de marocains.
</p>
<p>
  Ces journées ont été une bonne occasion de se rencontrer, discuter et faire connaissance. Les conférences, à leur tour, nous ont transmis plusieurs informations intéressantes.
</p>
<p>
  En somme, les <acronym title="Open Source Days">OSD</acronym> ont été très convaincants, pour une deuxième édition. Certains disent que l'ENSIAS et l'INPT n'ont pas assez d'expérience dans le domaine du libre pour faire de bonnes manifestations, mais je ne suis pas d'accord, ils ont assuré !
</p>
<p>
  Je leur souhaite bonne continuation ! À l'année prochaine !
</p>
<p>
  <a href="http://feeds.feedburner.com/~a/achraf?a=hCzeEy"><img src="http://feeds.feedburner.com/~a/achraf?i=hCzeEy" /></a>
</p>
</div>]]>
      </description>
      <pubDate>wed, 07 May 2008 04:37:35 +0200</pubDate>
      <guid isPermaLink="false">tag:ziki.com,2008:/article/6807499</guid>
    </item>
    <item>
      <title>Annonce : les &#171; Linux Days 2008 &#187; (&#224; Agadir, Maroc)</title>
      <link>http://achraf.cherti.name/blog/2008/05/02/annonce-les-%C2%AB-linux-days-2008-%C2%BB-a-agadir-maroc/</link>
      <description>
        <![CDATA[<div class="post_content wiki_text"><h2 xml:lang="fr-FR" style="margin-bottom: 0.14in; text-align: center;">
  <a href="http://achraf.cherti.name/blog/2008/05/18/gnu-linux-days-agadir-maroc-compte-rendu-bilan-interviews-conferences-ateliers/">Un compte-rendu des <acronym title="GNU is Not UNIX">GNU</acronym>/Linux Days 2008</a> est disponible !
</h2>
<p xml:lang="fr-FR" style="margin-bottom: 0.14in; text-align: center;">
  <a href="http://www.flickr.com/photos/22773960@N02/2458207674/"><img src="http://farm3.static.flickr.com/2199/2458207674_4b30565738_o.jpg" height="566" alt="Linux Days d&amp;apos;Agadir" width="400" /></a>
</p>
<p xml:lang="fr-FR" style="margin-bottom: 0.14in; text-align: left;">
  Les élèves de l'<a href="http://www.ensa-agadir.ac.ma/"><strong><acronym title="Ecole Nationale des Sciences Appliquées">ENSA</acronym></strong></a> organisent le <strong>8, 9 et 10 mai 2008</strong> les <a href="http://www.ensalinux.com/" title="Site officiel de l&amp;apos;événement Linux Days"><strong>Linux Days</strong></a>, un événement annuel dont le but, vous l'aurez deviné, est de promouvoir les <strong>logiciels libres</strong>. Pour votre information, il se tiendra à l'<strong>hotel</strong> <strong>COS-ONE</strong> d'<strong>Agadir</strong>. Les <strong>Linux Days</strong> comporteront des conférences, des débats animés et des ateliers pratiques.
</p>
<p xml:lang="fr-FR" style="margin-bottom: 0.14in; text-align: left;">
  Cette année, je ferai partie des conférenciers <strong>^_^</strong> , comme cela sera le cas dans le <a href="http://achraf.cherti.name/blog/2008/04/28/annonce-le-blog-day-2008-troisieme-edition-a-tanger-maroc/">Blog Day 2008</a> dans peu. Dans cet événement, je parlerai, pendant 1h30, de sécurité sous <strong><acronym title="GNU is Not UNIX">GNU</acronym></strong>/<strong>Linux</strong> (bureau et serveur).
</p>
<p xml:lang="fr-FR" style="margin-bottom: 0.14in; text-align: left;">
  Si vous souhaitez plus d'informations, n'hésitez pas à contacter les organisateurs par téléphone au 013-73-20-15 ou par courriel à <a href="mailto:ensalinux2008@ensa.ac.ma">ensalinux2008@ensa.ac.ma</a>.
</p>
<p xml:lang="fr-FR" style="margin-bottom: 0.14in; text-align: left;">
  Pour vous rendre à l'hotel COS-ONE, son adresse est la suivante : boulevard Cheikh Saadi, BP 3175, Agadir. Un plan d'accès est disponible dans <strong><a href="http://www.ensalinux.com/" title="Site officiel de l&amp;apos;événement Linux Days"><strong>le site officiel des Linux Days</strong></a></strong>.
</p>
<h2 xml:lang="fr-FR" style="margin-bottom: 0.14in;">
  Le programme des Linux Days
</h2>
<h3>
  Jeudi 8 Mai 2008
</h3>
<p>
  <strong>Le matin</strong>
</p>
<ul>
  <li>
    <strong>09h00 :</strong> accueil des participants.
  </li>
  <li>
    <strong>09h15 :</strong> discours de bienvenue du comité organisateur, le mot du Directeur de l’<a href="http://www.ensa-agadir.ac.ma/"><acronym title="Ecole Nationale des Sciences Appliquées">ENSA</acronym></a> et le mot du président de l’<a href="http://www.univ-ibnzohr.ac.ma/">université Ibn Zohr</a>.
  </li>
  <li>
    <strong>10h00 :</strong> conférence « simulations et applications réparties sous Linux » par Ahmed Toumanari, professeur à l'<acronym title="Ecole Nationale des Sciences Appliquées">ENSA</acronym>.
  </li>
  <li>
    <strong>11h30 :</strong> ateliers présentés par les étudiants.
  </li>
</ul>
<p>
  <strong>L'après-Midi</strong>
</p>
<ul>
  <li>
    <strong>15h00 :</strong> conférence « Migration à OpenOffice.org (enjeu, méthodologie) » par <a href="http://www.sophiegautier.com/">Sophie Gautier</a>, membre du projet <a href="http://fr.openoffice.org/">OpenOffice.org</a> et leader du projet francophone.
  </li>
  <li>
    <strong>16h30 :</strong> conférence « l'entreprise 2.0 » par <a href="http://www.qassimi.biz/">Younes Qassimi</a>, manager de <a href="http://www.synergie-media.com/">Synergie Media</a>, agence de conseil en communication et stratégies internet.
  </li>
</ul>
<h3>
  Vendredi 9 Mai 2008
</h3>
<p>
  <strong>Le matin</strong>
</p>
<ul>
  <li>
    <strong>09h00 :</strong> conférence « plateformes de développement collaboratif (forge) » par <a href="http://www.olivierberger.org/">Olivier Berger</a>, vice-président de l'association <a href="http://www.april.org/">April</a> et ingénieur de recherche.
  </li>
  <li>
    <strong>10h30 :</strong> visite des ateliers.
  </li>
</ul>
<p>
  <strong>L'après-midi</strong>
</p>
<ul>
  <li>
    <strong>15h00 :</strong> conférence « sécuriser votre système <acronym title="GNU is Not UNIX">GNU</acronym>/Linux (bureau et serveur) » par <a href="http://achraf.cherti.name/">Achraf Chert