<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
<?xml-stylesheet type="text/css" href="http://olivier.dossmann.net/joueb/styles/feed.css"?>
<icon>http://olivier.dossmann.net/joueb/images/favicon.ico</icon>
<logo>http://olivier.dossmann.net/joueb/images/blankoworld.gif</logo>
<title type="html">Catégorie : Développement | Le BlankoJoueb</title>
<subtitle type="html">Le JOUrnal wEB de Blanko</subtitle>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb" />
<link rel="self" type="application/atom+xml" href="http://olivier.dossmann.net/joueb/archives/développement/index-atom.xml" />
<updated>2010-01-03T19:50:42+01:00</updated>
<author>
<name>Blankoworld</name>
<uri>http://olivier.dossmann.net/joueb</uri>
</author>
<id>http://olivier.dossmann.net/joueb/</id>
<generator uri="http://nanoblogger.sourceforge.net" version="3.4.1">NanoBlogger</generator>
<entry>
<title type="html">BlankoBot, un robot IRC en Ruby</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2009/06/28/blankobot_un_robot_irc_en_ruby/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2009/06/28/blankobot_un_robot_irc_en_ruby/index.html</id>
<published>2009-06-28T08:59:22+01:00</published>
<updated>2009-06-28T08:59:22+01:00</updated>
<category term="Développement" />
<category term="Logiciels" />
<category term="Libre" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h3>Introduction</h3>
<p>Le net est rempli de robot IRC en tout genre. Notamment en ruby, nous trouvons quelques outils tels que :</p>
<ul>
<li>
<a href="http://rubyforge.org/frs/?group_id=1784" title="Aller sur la page officiel du projet Ruby-IRC">Ruby-irc</a>: un ensemble de bibliothèques pour gérer l'IRC en Ruby</li>
<li>
<a href="http://github.com/RISCfuture/autumn/tree/master" title="Voir le dépôt officiel du projet Autumn">autumn</a>: un cadre de travail pour les robots IRC</li>
<li>
<a href="http://butler.rubyforge.org/" title="Aller sur le site officiel de Butler, le robot IRC">butler</a>: un robot IRC multi-fonctions qui accepte les plugins, utile pour développer simplement des fonctions à notre robot IRC</li>
</ul>
<p>Cependant, n'ayant pas beaucoup développé en Ruby, je trouvais ça assez difficile à comprendre, utiliser, etc.</p>
<p>J'ai préféré me lancer (grand fou 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/tongue.gif" alt=":P" />!) dans la création d'un script ruby pour me faire un robot personnel : le BlankoBot.</p>
<h3>Comment tout a commencé</h3>
<p>Que faut il pour développer un robot à part un éditeur (vim), un langage (ici ruby) ?</p>
<p>Eh bien tout d'abord il faudrait possiblement 
<a href="http://www.ietf.org/rfc/rfc1459.txt" title="Lire la RFC concernant IRC">lire la RFC sur IRC</a>non ? Je ne m'en suis servi que comme d'un support, je n'ai pas encore tout lu en entier.</p>
<p>Ensuite, j'ai trouvé un 
<a href="http://snippets.dzone.com/posts/show/1785">script de base qui montre comment se connecter à IRC en Ruby via les sockets</a>, j'ai tout de suite sauté sur l'occasion pour prendre appui sur le script.</p>
<h3>Au final</h3>
<p>J'ai codé, encore et encore, jusqu'à obtenir un simili de robot : le BlankoBot.</p>
<p>Comme je trouvais ça déjà pas mal, bien que le code doit être sûrement très maladroit pour le moment, j'ai mis sous licence GPLv3 le code, et j'ai crée un 
<a href="http://git.dossmann.net/?p=projets/blankobot;a=summary" title="Visiter le dépôt GIT du projet BlankoBot">dépôt GIT pour le BlankoBot</a>.</p>
<h3>Conclusion</h3>
<p>Le BlankoBot est né, profitez en ! N'hésitez pas à me contacter pour tout renseignement sur le dépôt GIT et la possibilité de contribuer à l'évolution de ce dernier.</p>
<h3>Liens utiles</h3>
<p>Voici quelques liens utiles :</p>
<ul>
<li>
<a href="http://www.ietf.org/rfc/rfc1459.txt" title="Lire la documentation de la RFC 1459">RFC 1459 sur IRC</a>
</li>
<li>
<a href="http://git.dossmann.net/?p=projets/blankobot;a=summary" title="Visiter le dépôt GIT du projet BlankoBot">dépôt GIT du BlankoBot</a>
</li>
<li>
<a href="http://git.dossmann.net/?p=projets/blankobot;a=snapshot;h=e4d910f2932d4419256dcd2bcada9f540b05238a;sf=tgz" title="Enregistrer au format .tgz le projet BlankoBot stable-v0.1">télécharger la version stable-v0.1</a>
</li>
<li>
<a href="http://ordyz/wiki/doku.php?id=developpement:blankobot" title="Se rendre sur la page Wiki du projet BlankoBot et apprendre à l'utiliser">Page Wiki du projet BlankoBot</a>
</li>
</ul>
</div>
</content>
</entry>
<entry>
<title type="html">HAML, les vues qui vous simplifient la vie !</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2008/12/21/haml_les_vues_qui_vous_simplifient_la_vie/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2008/12/21/haml_les_vues_qui_vous_simplifient_la_vie/index.html</id>
<published>2008-12-21T15:19:08+01:00</published>
<updated>2008-12-21T15:19:08+01:00</updated>
<category term="Développement" />
<category term="planet-gd" />
<category term="Astuce" />
<category term="Web" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h3>Introduction</h3>
<p>Vous avais je parlé du cadre de travail 
<a href="http://2008.rmll.info/IMG/pdf/RubyOnRails.pdf" title="Télécharger une présentation au format PDF de ce qu'est Rails et de ce qu'il apporte.">Rails</a>que j'utilise ?</p>
<blockquote>
<p>Non.</p>
</blockquote>
<p>Ok, bien, alors voici comment nous allons répartir l'article, qui sera un peu long, mais qui vous apportera sûrement l'envie de développer vos sites Webs avec ce cadre de travail / framework qu'est Rails :</p>
<ul>
<li>Présentation de Rails (et ce quels avantages en tirer)</li>
<li>Le modèle MVC et plus particulièrement les vues avec le RHTML</li>
<li>HAML, le façon de mieux présenter les vues, mais pas seulement ...</li>
<li>Conclusion</li>
</ul>
<p>Cela vous va t il ?</p>
<blockquote>
<p>Non.</p>
</blockquote>
<p>Vous dites toujours non ?</p>
<blockquote>
<p>Non.</p>
</blockquote>
<p>Commençons donc, voulez vous !</p>
<h3>Présentation rapide de Rails</h3>
<p>Je vais me répéter, mais nul autre choix que de le faire dans ce paragraphe : Rails est un framework, un cadre de travail, c'est à dire qu'il encadre le développeur pour lui faciliter la tâche et rendre les choses plus simples, plus rapides, et plus fonctionnelles que jamais !</p>
<p>Rails, ou plutôt Ruby On Rails (= RoR), permet de développer une application Web du début à la fin. Le nom implique également que le langage utilisé pour développer est le langage Ruby. Le système permet de faire une application Web en deux temps trois mouvements. Par exemple, sur le net, on trouve des 
<a href="http://www.netbeans.org/kb/60/ruby/rapid-ruby-weblog.html" title="Découvrir comment créer son blog en Rails en moins de 10 minutes à l'aide de Netbeans.">tutoriels pour faire un blog en Ruby On Rails en 10 minutes</a>. D'autres encore proposent la création d'un wiki ou d'un moteur de recherche mondial en quelques minutes !</p>
<p>Vous trouverez plus de tutoriels et informations sur le 
<a href="http://rubyonrails.com/" title="Se rendre sur le site officiel de Ruby On Rails">site officiel de Rails</a>, notamment à travers le lien 
<strong>Screencast</strong>.</p>
<p>Nous allons désormais nous pencher sur l'un des aspects intéressant de RoR : le schéma MVC.</p>
<h3>&#160;Le modèle MVC, la puissance de Rails</h3>
<p>L'une des choses qui rend Rails très puissant, très apprécié, et très propre, c'est l'utilisation du schéma MVC. M pour modèle, V pour vues et C pour contrôleurs.</p>
<blockquote>
<p>Et qu'est ce dont que le schéma MVC ?</p>
</blockquote>
<p>J'aimerais vous expliquer en détail, mais comme une image vaut mieux que de grands discours, voici un aperçu du schéma MVC :</p>
<p>
<img src="/joueb/images/schemas/MVC.png" alt="Image décrivant le modèle MVC" title="Le contrôleur appelle les modèles et les vues ; le modèle renvoie les données à la vues ; et les vues envoient des demandes au contrôleur et des données au modèle" />
</p>
<p>Pour de plus amples renseignements sur le modèle MVC, veuillez vous référer à 
<a href="http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur" title="Lire l'article de Wikipédia sur le contenu du schéma MVC">Wikipedia et son article sur les Modèles - Vues - Contrôleurs</a>.</p>
<p>Dans le cas de Rails et de MVC, on remarque que :</p>
<ul>
<li>Les modèles sont des objets, dits couche métier, qui permet d'aller papoter avec la base de données et rendre compte des résultats des requêtes</li>
<li>Les contrôleurs commandent les modèles et récupèrent le résultat</li>
<li>Les vues utilisent les sorties des contrôleurs et les ordonne comme elles veulent pour l'afficher à l'utilisateur</li>
<li>Rails a crée aussi des "helpers" qui permettent aux vues de faire appel à des fonctions d'affichage spécifique qu'on retrouve plusieurs fois dans plusieurs vues différentes</li>
</ul>
<p>Sous Rails d'ailleurs, les vues sont similaires à ce que nous pourrions appeler des 
<strong>templates</strong>. À cet effet le format par défaut est le 
<strong>RHTML</strong>, qui ressemble à ceci :</p>
<pre>
<code>&lt;h2&gt;&lt;%= @article.titre %&gt;&lt;/h2&gt;`
  &lt;p&gt;&lt;%= @article.contenu %&gt;&lt;/p&gt;`
  &lt;div class="auteur"&gt;Écrit par &lt;%= @article.auteur %&gt;&lt;/div&gt;`
</code>
</pre>
<p>Cela permet d'utiliser du ruby à l'intérieur du code HTML (ou XHTML pour les gens sérieux 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/tongue.gif" alt=":P" />).</p>
<p>Mais récemment, un évènement a fait tomber mon estime de RHTML à zéro : j'ai découvert le HAML !</p>
<h3>HAML, une vue plus propre pour un code plus sain</h3>
<p>Le HAML est une autre vision de l'écriture d'une vue, cela simplifie la vie et les vues 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/smiley.gif" alt=":)" />. Cette simplification amène le développeur à factoriser son code pour le rendre simple, à faciliter la tâche de création de vues pour un infographiste en relation avec les développeurs, et à 
<u>indenter le code correctement</u>à la sortie de notre application !</p>
<p>Voici le résultat du code précédent, transformé en HAML :</p>
<pre>
<code>%h2= @article.titre
  %p= @article.contenu
  .auteur= "Écrit par #{@article.auteur}"
</code>
</pre>
<p>Avouez que c'est plus simple et que l'on tape moins de caractères 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/wink.gif" alt=";)" /></p>
<p>Voilà pourquoi je n'ai pas hésité, j'ai installé HAML dans mes projets Rails selon le 
<a href="http://haml.hamptoncatlin.com/download/" title="Lire le tutoriel d'installation de HAML sur notre ordinateur et dans nos projets Rails">tutoriel officiel de HAML</a>.</p>
<p>Comme le dit d'ailleurs 
<a href="http://haml.hamptoncatlin.com/" title="Visiter le site officiel de HAML">le site officiel</a>, les 20 premières minutes sont un peu déroutantes, mais par suite on ne pourra plus s'en passer !</p>
<h3>&#160;Conclusion</h3>
<p>Certes nous n'avons pas vu tout les détails et tout les avantages d'un tel système pour les templates de Rails, mais je suis certain que si vous vous y mettez, que vous testez, et que vous utilisez, vous serez vite pris par le jeu et ne pourrez plus vous arrêter.</p>
<p>HAML n'apporte pas qu'une modification d'écriture et une indentation parfaite, il apporte aussi au développeur d'avoir de la jugeotte pour factoriser son code et mettre plus de choses dans les "helpers" de Rails.</p>
<p>Je vous conseille donc vivement HAML, nul doute cela sert et vous plaira !</p>
<h3>Liens utiles</h3>
<ul>
<li>
<a href="http://rubyonrails.com/" title="Visiter le site officiel de Ruby On Rails">Site officiel de Ruby On Rails</a>
</li>
<li>
<a href="http://railsfrance.org/" title="Se rendre sur le site francophone de Ruby On Rails">Rails France</a>
</li>
<li>Serveur IRC : irc.freenode.net, canal #rubyonrails.fr, mais aussi le canal #rubyfr</li>
<li>
<a href="http://railscasts.com/" title="Découvrir des vidéos d'explication de l'utilisation de Rails">Railscast</a>
</li>
<li>
<a href="http://haml.hamptoncatlin.com/" title="Visiter le site officiel de HAML">Site officiel de HAML</a>
</li>
<li>
<a href="http://haml.hamptoncatlin.com/download/" title="Apprendre comment installer HAML dans son ordinateur et l'inclure à un projet Rails">Tutoriel d'installation de HAML (selon le site officiel)</a>
</li>
</ul>
</div>
</content>
</entry>
<entry>
<title type="html">Le complètement pour le développement</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2008/10/28/le_complètement_pour_le_développement/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2008/10/28/le_complètement_pour_le_développement/index.html</id>
<published>2008-10-28T21:51:49+01:00</published>
<updated>2008-10-28T21:51:49+01:00</updated>
<category term="Développement" />
<category term="Logiciels" />
<category term="Libre" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Que se soit dans le développement Web, le développement système ou encore le développement de logiciels, on apprend toujours à ne pas répéter deux fois une fonction, un code, etc. C'est l'effet DRY (Don't Repeat Yourself) connu principalement sous Ruby On Rails, mais pas seulement.</p>
<p>Cependant, si on tente de toujours appliquer la chose dans notre code, qu'en est il de nos éditeurs de texte ?</p>
<blockquote>
<p>Quoi toi parler Blanko ? Tu débloques ?</p>
</blockquote>
<p>Comme l'indique le titre, je parle du complètement dans nos éditeurs.</p>
<h3>Pourquoi le complètement ?</h3>
<p>C'est évident, le complètement suggestif et/ou automatique permet de gagner du temps. Mais comme pour l'éditeur en console Vim, il faut connaître un minimum de commandes, de raccourcis.</p>
<p>Ne vous inquiétez pas, je ne vous parlerez pas de 
<a href="http://www.vim.org/scripts/script.php?script_id=2278" title="jptemplate, une méthode pour ajouter des patrons de complètement dans vim">vim, même s'il existe des méthodes similaires</a>à celles que je vais vous présenter. Si vous désirez trouver des informations sur le complètement et votre éditeur de texte, utilisez le mot clé 
<em>snippet</em>.</p>
<p>Ce dont nous allons désormais parler :</p>
<ul>
<li>gedit</li>
<li>Scribes</li>
</ul>
<p>Les deux programmes utilisent python pour le mode complètement et permettent bien plus encore ! Je ne ferais donc qu'une brève présentation de chacun des éditeurs puis je vous proposerais une liste des points positifs et négatifs. Nous terminerons alors avec une conclusion personnelle sur l'état des lieux et mon choix vis à vis de ces deux éditeurs.</p>
<h3>L'éditeur gedit</h3>
<p>Sûrement l'un des éditeurs texte les plus connus car il est fourni avec l'
<a href="http://www.gnome.org/" title="Visiter la page officielle de l'environnement de bureau Gnome">environnement de bureau Gnome</a>, gedit est souvent utilisé par les débutants sous GNU / Linux pour éditer les fichiers de configuration tout comme écrire d'autres fichiers.</p>
<p>Bien que certains le mettent de côté après avoir découvert 
<a href="http://www.vim.org/" title="Visiter le site officiel de Vim">Vim</a>, 
<a href="http://www.gnu.org/software/emacs/" title="Visiter le site officiel d'Emacs">Emacs</a>ou 
<a href="http://www.nano-editor.org/" title="Visiter le site officiel de Nano">Nano</a>, gedit permet bien plus qu'on ne le pense à l'aide d'un système de plugins appelés 
<strong>greffons</strong>.</p>
<p>Le greffon principal qui nous intéresse est 
<strong>Extraits de code</strong>ou snippet (en anglais). Pour l'activer, rien de plus simple, on va dans Édition &gt; Préférences, onglet Greffons, puis on coche 
<em>Extraits de code</em>.</p>
<p>Ceci met en place tout ce qu'il faut pour le complètement. À noter que vous devez avoir installé le paquet 
<strong>gedit-plugins</strong>pour posséder les bons greffons. J'en ai profité pour activer aussi le greffon 
<strong>Liste des balises</strong>très utile quand nous n'avons pas encore pris l'habitude d'un langage de programmation spécifique.</p>
<h3>L'éditeur Scribes</h3>
<p>Moins connu que gedit puisqu'il faut le vouloir pour l'avoir (grossomodo vous devez savoir qu'il existe et l'installer), il n'en est pas moins utile.</p>
<p>En effet Scribes est né de la volonté de développeurs Python pour le python et donc fait en Python (trop de serpents dans une phrase). Il s'est élargi à plus de 30 langages différents et permet le complètement (forcément sinon mon billet ne serait pas là). Il permet également l'édition via ssh, ftp, samba et webdav (mais je n'ai pas encore testé). Son interface est simple, plus simple encore que gedit, mais demande l'apprentissage de quelques raccourcis pour optimiser votre travail.</p>
<p>C'est comme tout, le logiciel permet de faire des choses, mais aidez vous et le ciel vous aidera !</p>
<h3>Comparaison selon Blanko</h3>
<p>Après avoir testé ces derniers jours gedit 2.22.3 et Scribes 0.3.3.3 sous Debian puis sous ArchLinux, voici les points positifs et négatifs que j'ai relevés pour chacun des deux éditeurs, surtout concernant le HTML, le Ruby et Rails.</p>
<p>
<u>
<strong>NB</strong>:</u>Ceci a testé sous un environnement 
<a href="http://www.lxde.org/" title="Visiter le site officiel de LXDE">LXDE</a>et sous un environnement 
<a href="http://awesome.naquadah.org/" title="Visiter le site officiel de awesome">awesome</a>, ce qui pourrait expliquer certains dysfonctionnements tel que celui sur l'échappement de la fenêtre de complètement.</p>
<h4>gedit</h4>
<h5>Points positifs</h5>
<ul>
<li>Quantité de patrons (template/snippets) pour le HTML (contrairement à Scribes)</li>
<li>De petits greffons sympas comme la barre de navigation à gauche et la console en dessous (ce que Scribes n'a, à ma connaissance, pas)</li>
<li>On peut choisir plusieurs lignes, faire une tabulation, cela déplace tout le code d'une tabulation vers la droite (contrairement à Scribes)</li>
<li>Avec un greffon nommé Commentateur de code, on peut commenter du code par simple sélection puis raccourci clavier ([Ctrl] + [m])</li>
</ul>
<h5>Points négatifs</h5>
<ul>
<li>Retour dans les snippets impossible, soit on rempli de suite, soit on doit naviguer par nous même (Scribes est bien mieux pour ça)</li>
<li>Bien moins de patrons pour Ruby (contrairement à Scribes qui propose même des patrons pour Rails)</li>
<li>Le complètement des mots existants dans le document n'existe pas =&gt; corrigé avec un plugin nommé 
<em>completion</em>disponible à l'adresse http://users.tkk.fi/~otsaloma/gedit</li>
<li>Un complètement existe pour les mots clés, mais si vous vous trompez et ne voulez plus la fenêtre de complètement, ni la touche [Échap], ni des clics à l'extérieur de la fenêtre de proposition n'y fait quelque chose</li>
<li>sed me manque dans gedit 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/cry.gif" alt=":'(" />(même si on possède le remplacement et le greffon 
<em>Outils externe</em>prévu pour ça, mais non fonctionnel lors de mes tests)</li>
</ul>
<h4>Scribes</h4>
<h5>Points positifs</h5>
<ul>
<li>Une petite floppée de patrons pour le langage que j'utilise : Rails et Ruby</li>
<li>Vous vous êtes trompés dans un patron, vous voulez retourner dessus ? Une fois arrivé aux alentours du patron (à l'intérieur ou juste devant), une simple tabulation vous fait vous déplacer dans les termes modifiables (comme défini dans le patron et au moment de la saisie)</li>
<li>Vous tapez quelques lignes, selon le langage et selon le texte déjà inséré, vous avez du complètement ! (contrairement à gedit, sauf si vous activez un greffon)</li>
</ul>
<h5>Points négatifs</h5>
<ul>
<li>Comme dans le logiciel 
<a href="http://gobby.0x539.de/trac/" title="Visiter la page officielle de Gobby">Gobby</a>, si vous sélectionnez du texte, puis appuyez sur tabulation, la sélection est remplacée par une tabulation ... Les jeunes disent : ça "suxxe" (désolé du terme barbare mais tellement expressif !) =&gt; fonctionne dans la version de développement</li>
<li>Non utilisable juste avec le clavier, demande la souris pour agir, notamment lors de l'ouverture d'un fichier selon l'environnement de bureau nous n'atteignons la fenêtre de navigation QU'à l'aide de la souris</li>
<li>Si vous enregistrez un fichier avec Scribes, il enlève les droits d'exécution pour tout le monde ... (bug fixé dans la version de développement)</li>
<li>sed me manque toujours, bien qu'un système de remplacement automatique de chaînes existe. Ce qu'il faut savoir c'est que 
<a href="http://www.commentcamarche.net/faq/sujet-9536-sed-introduction-a-sed-part-i" title="Découvrir sed au travers du guide fourni par commentcamarche.net">sed ne fait pas que du remplacement</a>!</li>
<li>Pas de possibilité de commentaire (comme sous gedit)</li>
</ul>
<h3>Conclusion personnelle</h3>
<p>Après avoir testé les deux, je dois avouer que j'ai légèrement plus apprécié gedit que Scribes notamment pour le panneau de navigation et la console sous la page d'édition. Cependant le complètement était bien meilleure sous Scribes et les patrons plus développés / présents pour Ruby. Même si sous gedit les patrons pour le HTML sont plus développés.</p>
<p>Je pense que pour l'instant, l'un ou l'autre est utilisable, il ne tient qu'à vous de tester puis choisir en fonction de vos besoins.</p>
<p>Pour ma part je vais continuer de les utiliser et adopter celui qui me conviendra selon le critère suivant : celui où je développerais le plus vite 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/wink.gif" alt=";)" /></p>
<h3>Liens utiles</h3>
<ul>
<li>
<a href="http://www.gnome.org/projects/gedit/" title="Visiter la page officielle de gedit">gedit</a>
</li>
<li>
<a href="http://scribes.sourceforge.net/" title="Visiter le site officiel de Scribes">Scribes</a>
</li>
</ul>
</div>
</content>
</entry>
<entry>
<title type="html">Espace de démonstration dans le Blankoworld</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2008/09/29/espace_de_démonstration_dans_le_blankoworld/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2008/09/29/espace_de_démonstration_dans_le_blankoworld/index.html</id>
<published>2008-09-29T16:14:55+01:00</published>
<updated>2008-09-29T16:14:55+01:00</updated>
<category term="Développement" />
<category term="Nouvelle" />
<category term="BlankoWeb" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>À l'ocassion de divers essais sur des feuilles de styles, et ressentant le besoin à la fois de partager et montrer mes "oeuvres", j'ai pris la décision de créer un espace de démonstration pour mes revêtements de sites Web.</p>
<h3>Contenu</h3>
<p>À l'heure où j'écris ces lignes, la 
<a href="http://blankoworld.homelinux.com/demo/" title="Aller dans la salle de démonstration du Blankoworld">salle de démonstration</a>(nom que j'ai donné à cet espace) contient des habillements pour les outils de publication suivants :</p>
<ul>
<li>Nanoblogger</li>
<li>Ikiwiki</li>
</ul>
<p>Il y a 4 
<abbr title="Cascading Style Sheet">CSS</abbr>pour 
<a href="http://nanoblogger.sourceforge.net" title="Se rendre sur la page d'accueil du site officiel de Nanoblogger">Nanoblogger</a>, et 2 
<abbr title="Cascading Style Sheet">CSS</abbr>pour 
<a href="http://ikiwiki.info" title="Visiter le site officiel du projet Ikiwiki, outil de publication communautaire">Ikiwiki</a>dont nous reparlerons un peu dans les jours à venir.</p>
<h3>Conclusion</h3>
<p>Posséder une salle de démonstration n'est finalement pas une si mauvaise idée, cela permet à la fois de partager son travail, mais également de le faire valoir en donnant un espace de test, d'essai, finalement un espace de visualisation direct ! 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/tongue.gif" alt=":P" /></p>
<p>Je pensais que cela prendrait beaucoup de temps, qu'il me faudrait un outil pour cela. Le résultat prouve que je n'avais besoin que d'une page HTML statique que je mets à jour au fur et à mesure. Ce n'est pas comme si je faisais une feuille de style par jour ... 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/shocked.gif" alt=":O" /></p>
<h3>Liens utiles</h3>
<ul>
<li>
<a href="http://blankoworld.homelinux.com/demo/" title="Aller dans la salle de démonstration du Blankoworld">Salle de démonstration du Blankoworld</a>
</li>
<li>
<a href="http://nanoblogger.sourceforge.net" title="Se rendre sur la page d'accueil du site officiel de Nanoblogger">Nanoblogger</a>
</li>
<li>
<a href="http://ikiwiki.info" title="Visiter le site officiel du projet Ikiwiki, outil de publication communautaire">Ikiwiki</a>
</li>
</ul>
</div>
</content>
</entry>
<entry>
<title type="html">European Developer Forum 2008</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2008/09/14/european_developer_forum_2008/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2008/09/14/european_developer_forum_2008/index.html</id>
<published>2008-09-14T18:21:52+01:00</published>
<updated>2008-09-14T18:21:52+01:00</updated>
<category term="Développement" />
<category term="Nouvelle" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Ce jeudi 18 septembre se déroulera le 
<strong>European Developer Forum 2008</strong>.</p>
<blockquote>
<p>Le DeveloperForum est un événement annuel permettant aux développeurs de logiciels de se rencontrer, d’échanger et de communiquer.</p>
</blockquote>
<p>Pour en savoir plus je vous invite à lire la suite sur 
<a href="http://www.developerforum.eu/content/view/1121/1/">le site developerforum.eu</a>.</p>
<p>Cet évènement est un moment particulier pour les développeurs et concepteurs de logiciels, notamment dans le domaine Web, mais c'est aussi une occasion pour tout geek de rencontrer d'autres geeks 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/smiley.gif" alt=":)" /></p>
<p>Alors venez jeudi 18 septembre 2008 à Strasbourg, à l’UFR de Math-Info sur le campus de l’esplanade, et soyez nombreux !</p>
</div>
</content>
</entry>
<entry>
<title type="html">Optimiser son travail à l'aide d'un dépôt GIT</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2008/06/08/optimiser_son_travail_à_laide_dun_dépôt_git/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2008/06/08/optimiser_son_travail_à_laide_dun_dépôt_git/index.html</id>
<published>2008-06-08T18:28:22+01:00</published>
<updated>2008-06-08T18:28:22+01:00</updated>
<category term="Développement" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Vous possédez plusieurs ordinateurs pour travailler ? Vous avez parfois celui de votre lieu de travail, l'ordinateur portable, ou encore le fixe ? Une solution est d'avoir une clé USB, c'est pratique on met tout son travail dessus et nous pouvons l'utiliser partout ... et si nous la perdions ? Tout notre travail serait fichu !</p>
<p>Pourquoi ne pas changer de méthode et utiliser un dépôt ?</p>
<blockquote>
<p>Le dépôt coûte cher Blanko ! Et cela servirait à quoi ?</p>
</blockquote>
<p>Non pas le dépôt physique (comme le dépôt de voiture, ni le dépôt à la banque), mais le dépôt de fichiers sur un serveur ou n'importe lequel de vos ordinateurs ! Et pour cela je vous propose celui que j'utilise (forcément ! :P)</p>
<h3>Présentation de GIT</h3>
<p>Pour une brève présentation, je dirais simplement que GIT est un système permettant de gérer et de versionner des projets, des fichiers dans un même projet, de permettre la centralisation dudit projet tout en proposant de travailler en local puis d'envoyer sur ce que nous appelons un dépôt, et finalement de faire cela correctement, rapidement, et de façon très intéressante.</p>
<p>Le fonctionnement est simple :</p>
<ul>
<li>Mise en place du dépôt sur un serveur GNU / Linux (j'avoue ne pas savoir si un serveur Windows le ferait ...)</li>
<li>Récupération en local sur un ordinateur quelconque</li>
<li>Modification des fichiers récupérés ou alors ajout de fichiers supplémentaire</li>
<li>Envoi des modifications</li>
</ul>
<p>Cela ne fait pas plus, dans le sens où ce sont ces points principaux qui importent. Le reste n'est qu'options supplémentaires, tels que l'utilisation de branches, ou de balises (tags).</p>
<h3>Mon installation</h3>
<p>Sur le serveur Ubuntu dont j'ai hérité l'année passée (j'aurai dû utiliser Debian 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/cry.gif" alt=":'(" />) j'ai crée un nouveau dossier, par exemple dans 
<em>/srv/</em>, ce qui donnait un 
<em>/srv/depots</em>. C'est dans ce répertoire qu'on va ajouter un dépôt git. Donc nous procédons ainsi :</p>
<pre>
<code>mkdir /srv/depots
cd /srv/depots
git --bare init --shared=group
</code>
</pre>
<p>Ceci aura pour effet de créer un dépôt GIT vide et que ce sont les permissions appliquées au groupe d'utilisateurs qui serviront pour les droits d'accès.</p>
<p>De là nous avons un dépôt GIT fonctionnel, pensez cependant à avoir 
<em>SSH</em>sur la machine et 
<em>RSYNC</em>.</p>
<h3>Utilisation</h3>
<p>Notre dépôt GIT créé, tentons d'y accéder ! 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/grin.gif" alt=":D" /></p>
<p>Rien de plus simple, quand on connait les commandes, il suffit de faire :</p>
<pre>
<code>mkdir ~/nouveauProjet &amp;&amp; cd nouveauProjet
git clone ssh://olivier@serveur/srv/depots
</code>
</pre>
<p>
<em>NB</em>: Remplacez SERVEUR par l'adresse IP (ou le nom de domaine) de votre serveur. Vous devez absolument avoir le démon sshd configuré ainsi qu'un accès à la machine par le biais d'un compte utilisateur muni d'un mot de passe ou mieux encore d'une clé RSA publique.</p>
<p>Le dépôt sera téléchargé dans votre dossier "nouveauProjet" (vous pouvez le nommer autrement).</p>
<p>Pour ajouter des fichiers et dossiers, procédez comme d'habitude. Une fois vos modifications prêtes et considérées comme suffisamment correctes pour en faire bénéficier tout le monde, faites :</p>
<pre>
<code>git status
</code>
</pre>
<p>Après quoi lisez les fichiers et dossiez modifiés, pour ajouter la liste complète des dossiers que vous avez sous les yeux, faites :</p>
<pre>
<code>git add *
</code>
</pre>
<p>Sinon faire les fichiers l'un après l'autre en faisant :</p>
<pre>
<code>git add fichier1 fichier2 fichier3 etc
</code>
</pre>
<p>De là, faites :</p>
<pre>
<code>git commit
</code>
</pre>
<p>Pour prendre en compte vos ajouts. Un texte apparaît en haut duquel je vous suggère de mettre une description 
<em>concise et claire</em>de vos modifications.</p>
<p>Sauvez le fichier (exemple sous VIM : Echap, :x). Les modifications sont validés, mais ne sont pas encore envoyées ! Pour cela :</p>
<pre>
<code>git push
</code>
</pre>
<p>devrait envoyer l'ensemble des modifications sur le serveur.</p>
<h3>Conclusion</h3>
<p>Actuellement utilisé pour mon rapport de stage, des documentations diverses, et mon projet de stage, je trouve agréable de pouvoir travailler de n'importe où dans le monde, simplement en ayant eu une connexion rapide à un moment donné, avoir récupéré les dernières modification d'un projet ou de fichiers, puis de bosser dans mon coin avant d'en faire partager le reste du monde, ou plus globalement à mon dépôt.</p>
<p>C'est une chose à tester, il faut se prendre le temps jusqu'à ce que cela fonctionne, je vous assure le jeu en vaut la chandelle !</p>
<h3>Liens</h3>
<ul>
<li>
<a href="http://git.or.cz/index.html" title="Visiter le site officiel de GIT">GIT</a>: site officiel de GIT</li>
<li>
<a href="http://team.gcu.info/~ange/git_article/index.html" title="Parcourir le tutoriel sur GIT">Tutoriel et explications sur GIT</a>
</li>
<li>
<a href="http://www.unixgarden.com/index.php/administration-systeme/git-pour-les-futurs-barbus" title="Découvrir le tutoriel de GIT pour les barbus">Autre tutoriel sur GIT (différent mais tout aussi utile)</a>
</li>
</ul>
<h3>Mise à jour</h3>
<p>Après quelques tentatives de réutilisation de mon explication, il s'avère que plusieurs autres possibilités pour faire un dépôt GIT sont meilleures.</p>
<p>Voici un aperçu rapide des commandes utilisées 
<u>pour créer un nouveau dépôt GIT</u>:</p>
<pre>
<code>mkdir monProjet
cd monProjet
touch nouveauFichier
git init
git add .
git commit -m "Initialisation du message"
</code>
</pre>
<p>Puis on va dans un dossier prévu pour les dépôts GIT, ou tout autre endroit que nous voulons utiliser pour cela et nous continuons :</p>
<pre>
<code>cd /srv/depots/
git clone --bare /home/olivier/monProjet
</code>
</pre>
<p>Notre dépôt git est fonctionnel. Pour les permissions et d'autres explications, je vous renvoie à 
<a href="http://olivier.dossmann.net/wiki/doku.php?id=astuces:depots:git" title="Se rendre sur le Quicky Blanko pour en savoir plus sur le dépôt GIT">la page GIT sur le Quicky Blanko</a>.</p>
</div>
</content>
</entry>
<entry>
<title type="html">Alg'exec, logiciel pour programmer en français</title>
<author>
<name>Blankoworld</name>
</author>
<link rel="alternate" type="text/html" href="http://olivier.dossmann.net/joueb/archives/2008/05/03/algexec_logiciel_pour_programmer_en_français/index.html" />
<id>http://olivier.dossmann.net/joueb/archives/2008/05/03/algexec_logiciel_pour_programmer_en_français/index.html</id>
<published>2008-05-03T17:26:26+01:00</published>
<updated>2008-05-03T17:26:26+01:00</updated>
<category term="Développement" />
<category term="Logiciels" />
<category term="Libre" />
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Cette nuit je pensais à mes algorithmes toujours foireux, à moitié décousus et sans trop de validité. Puis je me remémorrais le programme que nous utilisions en BTS pour apprendre à programmer quand nous n'avions jamais vu une bribe de code : Alg'exec. Au moins là dessus mes programmes étaient réfléhis !</p>
<h3>Présentation d'Alg'exec</h3>
<p>Alg'exec est un programme écrit par M. André GUNTZ, mon professeur de réseau en 2006 à l'IUT René Cassin de Strasbourg (bah allez y faites des recherches pour me retrouver, je vous attends, le café et les buiscuits sont prêts 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/grin.gif" alt=":D" />) Il est disponible sur 
<a href="http://algexec.free.fr" title="Visiter la page officielle d'Alg'exec">http://algexec.free.fr</a>.</p>
<p>Ce logiciel permet de créer des programmes à l'aide de mots clés Français. Il n'a pas une syntaxe trop compliquée et des exemples sont fournis. Par ailleurs il contient un système permettant de lancer notre programme et d'en voir le résultat. A cela s'ajoute un système de débogage (pas à pas, boucle par boucle, etc.).</p>
<p>Pour certains il n'est pas de grande utilité, mais les professeurs de BTS utilisent ce logiciel pour apprendre les bases à leurs élèves. C'est alors à eux de se prendre en main et de choisir le langage de programmation qu'ils désirent.</p>
<p>Donc Alg'exec présente des avantages et des inconvénients, à vous de les trouver ! Pour ma part c'est notamment le fait que le programme soit propriétaire (code fermé) et que ce ne soit disponible que sous Windows (forcément c'est en VB ou .NET ce truc ...).</p>
<p>Et pourquoi ne pas l'utiliser sous GNU / Linux ? Par exemple Debian ?</p>
<h3>Utilisation de Wine pour installer Alg'exec</h3>
<p>Figurez vous que j'ai eu la bonne idée, ce jour, d'installer Alg'exec sur Wine ! Et bien ce n'était pas du gâteau, j'en ai bavé pour trouver une solution, et au final c'est tellement simple, que ça fait peur pour le temps passé à chercher !</p>
<p>Nous avons donc deux méthodes :</p>
<ul>
<li>Utiliser l'ancien Alg'exec, et donc simplement installer Wine</li>
<li>Utiliser le nouveau Alg'exec, et là faut installer d'autres choses</li>
</ul>
<h4>L'ancien Alg'exec</h4>
<p>Son adresse se trouve sur le 
<a href="http://algexec.free.fr/anc_vers/anc_vers.html" title="Lire la page de l'ancien Alg'exec">site de Free</a>.</p>
<ul>
<li>Installez Wine</li>
</ul>
<pre>
<code>
    apt-get install wine wine-utils lib32nss-mdns
</code>
</pre>
<ul>
<li>Téléchargez 
<strong>algexec1.zip</strong></li>
<li>Décompressez l'archive</li>
</ul>
<pre>
<code>
    tar xvf algexec1.zip -d algexec
</code>
</pre>
<ul>
<li>Lancez l'installeur</li>
</ul>
<pre>
<code>
    cd algexec
    wine Algexec.exe
</code>
</pre>
<ul>
<li>Lancez Algexec</li>
</ul>
<pre>
<code>
    wine ~/.wine/drive_c/Program\ Files/Alg_exec/Algexec.exe
</code>
</pre>
<p>Amusez vous bien !</p>
<h4>Le nouveau Alg'exec</h4>
<p>Là encore, c'est sur le 
<a href="http://algexec.free.fr/nou_vers/nou_vers.html" title="Se rendre sur la page de la nouvelle version d'Algexec">site de Free</a>qu'il faut se rendre.</p>
<ul>
<li>Installez Wine</li>
</ul>
<pre>
<code>
    apt-get install wine wine-utils lib32nss-mdns
</code>
</pre>
<ul>
<li>Récupérez winetricks (remballez le jeu de mot avec la trique 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/rolleyes.gif" alt=":roll:" />!)</li>
</ul>
<pre>
<code>
    wget http://kegel.com/wine/winetricks
</code>
</pre>
<ul>
<li>Installer les polices nécessaires</li>
</ul>
<pre>
<code>
    winetricks corfonts
</code>
</pre>
<ul>
<li>Faites croire que vous posséder MSIE</li>
</ul>
<pre>
<code>
    winetricks fakeie6
</code>
</pre>
<ul>
<li>Télécharger dotnetfx.exe sur 
<a href="http://www.clubic.com/lancer-le-telechargement-23052-0-microsoft-net-framework.html" title="Se rendre sur la page de téléchargement de Microsoft .NET Framework 2.0 sur clubic">Clubic</a></li>
<li>Utilisez Wine pour lancer l'installation de Dotnet</li>
</ul>
<pre>
<code>
    wine dotnetfx.exe
</code>
</pre>
<ul>
<li>Créez un dossier AlgExec dans Program Files</li>
</ul>
<pre>
<code>
    mkdir ~/.wine/drive_c/Program\ Files/AlgExec/
</code>
</pre>
<ul>
<li>Mettez dedans tout les fichiers récupérés sur le site comme indiqué sur la page officielle de la nouvelle version d'Alg'exec</li>
<li>Lancez Algexec</li>
</ul>
<pre>
<code>
    wine ~/.wine/drive_c/Program\ Files/AlgExec/AlgExec.exe
</code>
</pre>
<p>Des soucis au niveau de l'installation de Dotnetfx.exe ? Si oui, c'est que j'ai peut être oublié de vous parler de MSIE 5.0, 5.5, 6.0 et 7.0 sous Linux ! Faites en donc l'installation (pour la version 5.5 par exemple, puis recommencer à la ligne 
<strong>winetricks fakeie6</strong>.</p>
<h3>Microsoft Internet Explorer sous GNU / Linux, possible ?</h3>
<p>En faisant des recherches à droite et à gauche concernant mes soucis d'installation, je suis tombé sur 
<a href="http://www.tatanka.com.br/ies4linux/page/Fr/Page_D%27Accueil" title="Page officiel de IES4Linux">IES4Linux</a>!</p>
<blockquote>
<p>Koikssa IES4Linux ?</p>
</blockquote>
<p>Ah cela vous intéresse ? (ou pas!) IES4Linux est un script libre permettant d'ajouter Internet Explorer (MSIE) à la liste de ses logiciels sous GNU / Linux.</p>
<blockquote>
<p>Wai wai, sasserarien !</p>
</blockquote>
<p>Oh que si ! Imaginez les développeurs de sites Webs qui, dans un élan de conscience professionelle voudraient tester la compatibilité de leur site avec MSIE ? Ou encore autre chose : vous n'accédez pas à un site simplement parce que vous ne posséder pas MSIE ? Certains sites ou forums de jeux vous jette comme des malpropres simplement car vous n'avez pas MSIE. Donc oui cela sert à quelque chose.</p>
<blockquote>
<p>Et comment procédons nous alors pour l'installer ?</p>
</blockquote>
<p>Tout est décrit sur le site Internet, suffit de lire ! Hop je vous donne le 
<a href="http://www.tatanka.com.br/ies4linux/page/Fr/Installation" title="Se rendre sur la documentation pour installer IES4Linux">lien d'installation</a>.</p>
<p>Une fois installé, il suffit de lancer la commande 
<strong>sh ~/bin/ie5</strong>et MSIE se lance !</p>
<h3>Conclusion</h3>
<p>Bien que la valeur réelle d'AlgExec reste encore pour certains bien moindre, j'ai débuté là dessus en programmation informatique, ne vous en déplaise ! Mes camarades de l'époque aussi y ont eu droit. Malgré le fait que j'ai un peu galéré pour l'installer, je suis content d'avoir à nouveau retrouvé le projet IES4Linux auquel on ne pense pas tout de suite quand on veut MSIE sous GNU / Linux. Ce script simplifie la vie !</p>
<p>Donc on part sur un truc propriétaire genre AlgExec, et on se retrouve admirablement sur un truc libre qui vous permet de faire de bonnes choses 
<img src="http://olivier.dossmann.net/joueb/moods/smilies/smiley.gif" alt=":)" />.</p>
</div>
</content>
</entry>
</feed>
