dotclear 2.0 est sortie

dotclear2.0

Et bien voilà, comme promis dotclear 2.0 version finale est sortie ce 1 août 2008 (oui, je suis à la bourre pour le billet) et depuis le temps que les utilisateurs l’attendaient, j’étais bien obligé de faire mon petit billet pour fêter l’évènement et faire la pub de ce moteur de blog sous licence libre.

On remarquera que pour l’occasion, l’équipe de dotclear a décidée de changer le logo, donc fini les 3 points de couleurs, ceux-ci étant remplacés par une « feuille » virevoltante au-dessus du « d » de dotclear.

Concernant toutes les nouveautés, et il y en a un paquet, je vous laisse aller consulter de billet d’Olivier sur le site officiel dotclear, que l’on ne peut que remercier, ainsi que toute l’équipe pour leur boulot fantastique qui a fait de dotclear ce qu’il est aujourd’hui.

Pour le coup, je vais donc effectuer la migration sur le blog de test qui est actuellement en version dotclear 2 RC1 pour voir toutes ces nouveautés et cibler les points importants pour la migration sur le blog officiel.

Le principal inconvénient étant de migrer les 41 extensions actuellement utilisées sur ce blog tournant sous dotclear 2 beta 7. Je pense que ça ne va pas être une mince affaire, mais en prenant les plugins par priorité et importance, je pense arriver assez rapidement à migrer le blog sous dotclear 2.0 pour la rentrée même si tous les plugins n’y sont pas.

AstroMenace, du ShooThemUp comme je les aime

astromenace

C’est à la lecture du billet suivant que j’ai découvert le jeu AstroMenace de Viewizard.
Je n’ai pas l’habitude de m’attarder sur les jeux étant donné que je ne joue que très rarement sur PC, mais ma petite faiblesse pour les shoot them up, entre autre il existe aussi Chromium sous Linux, qui est très beau mais aussi très dur, m’a poussé à voir ce que donnait ce petit jeu de vaisseau spatial inter galactique, yeah ! qui se nomme AstroMenace
Ce jeu n’est pas « libre » mais c’est un freeware qui vous laisse le choix d’une petite contribution financière, donc à v’ote bon coeur…

Continue la lecture

wxWidgets ou l’art de programmer en C++ multiplateforme sous ubuntu

wxWidgets

C’est dans le cadre de ma participation à un projet open-source, dont je vous donnerai plus d’informations prochainement, que j’ai dû faire connaissance avec wxWidgets dont je ne connaissais que le nom. C’est donc l’occasion de vous partager mon premier contact avec cette ‘bibliothèque’ de programmation sous licence LGPL.

Les présentations

Pour la présenter, cette bibliothèque wxWidgets fournie un grand nombres d’API (Application Program Interface), utilisées pour le développement d’applications supportant des interfaces Homme-Machine multi plates-formes comme Linux, Windows ou Mac.
Cette bibliothèque n’est pas nouvelle, elle a déjà bien 10 ans d’existence et a considérablement évoluée depuis, d’ailleurs elle s’appelait auparavant wxWindows, mais sous la pression de microsoft à cause du « windows » dedans, fut rebaptisée wxWidgets.

Mais pour m’intéresser à cette bibliothèque, il m’a fallu comprendre et connaitre les avantages à tirer d’une telle librairie comparée à d’autres, comme Qt, Gtk ou java :

Premièrement, cette bibliothèque utilise elle-même les bibliothèques natives des plates-formes cibles sur laquelle elle est installée, garantissant ainsi le look et l’homogénéité du système sur lequel l’application développée avec wxWidgets est installée. Ainsi, le programmeur écrit une seule version de son code et peut normalement le compiler sous toutes les autres plateformes Linux, Windows ou Mac supportées par wxWidgets, via un compilateur C++, et son application fonctionnera de la même façon sur chacune des plate-formes, avec la même apparence mais avec le thème graphique de l’OS cible.

Deuxièmement, ce n’est pas un langage interprété et cela garantie une certaine rapidité à l’exécution : en effet, à la compilation, les fonctions de la librairie wxwidgets utilisées par l’application ont été traduites en fonctions optimisées de l’OS, elles ne sont pas « traduites » à l’exécution comme des langages tel python. En plus, cette librairie est écrite en C++ et très orientée programmation objet et le fait de devoir compiler l’application avec de très nombreuses API et d’avoir ainsi la possibilité de rester un peu plus prêt du matériel de la machine que l’on utilise, ne désoriente pas le développeur C embarquée que je suis 😉 .

Bon, il n’y a pas que des avantages à cela évidement, le poids du logiciel compilé s’en ressent (car nécessite les librairies d’abstractions wxWidgets dédiées à l’OS machine lors de l’exécution du programme) et le langage objet peut paraître lourd et contraignant pour certains.

Enfin, la licence est sous GNU Lesser General Public License (LGPL), une variante de la GPL permettant à des logiciels non GPL d’être compilés avec du code libre… je ne m’étendrais pas plus sur la licence, c’est surtout la communauté wxWidgets qui est très nombreuse et très active : en gros, on trouve aujourd’hui tout ce dont on a besoin pour développer ses applications wxWidgets facilement et rapidement, au travers du site wxWidgets, des tutoriels, des exemples ou des nombreux forums.

Au final, pourquoi ce choix de wxWidgets ? de toute façon je n’avais pas le choix étant donné que le programme sur lequel je dois m’attaquer est déjà développé en wxWidgets, donc autant y aller en voyant les bons côtés, les mauvais s’inviteront d’eux-même 😎 .

Installation et utilisation

Je vais détailler ici l’utilisation de wxWidgets sous ubuntu Hardy Heron 8.04.
Bon, déjà n’espérer pas juste à devoir installer un .deb (ou un setup.exe sous windows) et pouvoir ainsi compiler votre premier programme ‘Hello world’ en un clic. Mais ce n’est pas non plus trés compliqué.

Il faut savoir avant toute chose que la bibliothèque wxWidgets va devoir être compilée pour créer justement « la » bibliothèque adaptée à votre OS car je rappel que l’avantage est avant tout d’être multi-platforme. Avant la compilation du package, j’ai installé au préalable plusieurs autres paquets via les dépôts officiels de synaptics, entre autres :

  • libgtk2.0-dev
  • libgtk2.0-0
  • libwxgtk2.8-dev
  • libwxgtk2.8-dbg
  • libwxgtk2.8-0
  • wx2.8-headers
  • libwxbase2.8-dev
  • libwxbase2.8-dbg
  • libwxbase2.8-0

sont les plus importantes, et je ne sais pas si elles sont vraiment toutes nécessaires, en tout cas je peux compiler sans difficulté sur ma Hardy.

Je vous laisse le soin de suivre le tuto ubuntu fait pour l’installation et la compilation du package wxWidgets, les commandes sont reprises ci-dessous mais je vous conseil de télécharger la dernière version stable 2.8.8 via un terminal sous votre compte utilisateur:

 cd
wget https://switch.dl.sourceforge.net/sourceforge/wxwindows/wxGTK-2.8.8.tar.gz

« Détarez » le fichier et rendez-vous sous votre répertoire d’installation qui devrait se nommer /wxGTK-2.8.8

 cd wxGTK-2.8.8

Et les commandes suivantes :

 ./configure
make
sudo make install

Et si tout c’est bien passé, le final :

 sudo ldconfig

Voilà, vous devriez à présent être capable de compiler les samples (exemples) disponibles avec la librairies, pour tous les compiler d’un coup, faire:

 cd samples
make

pour exécuter un sample, aller dans son répertoire, comme par exemple « menu »:

 cd menu
./menu

Et voilà, vous avez compilé et exécuté votre première application wxwidgets, elle est pas belle la vie 🙂

ressources:
https://www.unixgarden.com/index.php/…
https://doc.ubuntu-fr.org/wxwidgets
https://www.framasoft.net/article1633.html
https://www.wxwidgets.org/
https://articles.mongueurs.net/magazines/linuxmag70.html

Le « bug du a » sous ubuntu Hardy Heron

bug

Bon, je vous sors ce bug étant donné que c’est encore tout chaud et qu’il m’a fait tout bizarre et fait perdre quelques précieuses minutes o_O

Nota : ça peut aussi accessoirement servir de « farce pourrie » à faire à son meilleur ami qui a une session terminal sur votre serveur Ubuntu Hardy Heron.

Description :
comment faire perdre la lettre ‘a’ minuscule des saisies clavier d’un utilisateur sous le terminal

Je ne vais pas vous expliquer le pourquoi du comment étant donné que j’ai pas cherché et que je ne comprends pas pourquoi ceci provoque cela ! je vous laisse le soin de me trouver l’explication… Je vous donne uniquement le processus pour générer ce bug dont voici la recette.

Ouvrez un terminal et entrez la commande suivante ( si vous ne connaissez pas « vi », préférez un autre éditeur tel gedit et remplacez vi par votre éditeur préféré) afin d’éditer le fichier caché .inputrc dans votre session utilisateur :

 vi ~/.inputrc

et créez ensuite l’alias suivant dans le fichier:

 alias cd..="cd .."

sauvegarder et quittez, et fermer le terminal pour le relancer!

A présent, sous le même utilisateur, essayez un peu de saisir la lettre ‘a’… étonnant non ?! 🙂 alors que les autres lettres du clavier fonctionnent, même le ‘A’ majuscule…
j’ai reproduit ce bug sur 2 distributions ubuntu différentes pour être sure, vous devriez avoir le même problème que moi (jespère…).
Par contre j’ai pas essayé sous d’autres distributions Linux.

Pour corriger le bug, supprimez l’alias en supprimant la ligne que vous avez ajouté au fichier .inputrc

Donc là, je sais que vous allez me dire que c’est pas dans ce fichier mais dans le fichier .bash_profile de l’utilisateur que l’on ajoute des alias pour modifier son profile, et vous aurez raison, mais quand vous en avez plein la tête après une journée de boulot et que vous créez des alias par automatisme comme pour ajouter ici un alias de ‘cd ..’ (grand classic) en une seule petite ligne de commande:

 echo alias cd..="cd .." >> ~/.bash_profile

Le temps que vous pensiez à autre chose, le .bash_profile se transforme en .inputrc …
Et puis vous continuez votre travail en pensant avoir bien créé votre alias pour la prochaine fois.
Et la prochaine fois que vous ouvrez votre session Terminal (le lendemain par exemple), vous vous retrouvez comme un couillon à chercher pourquoi vous avez perdu la lettre ‘a’ en pestant contre son Linux qui marche jamais ( ironie « on » ) comme on voudrait, jusqu’à consulter l’history des commandes effectuées pour finalement retrouver le fautif : moi-même et mon moment de solitude… 😀

Passage au journal de kwaker21

Modify.png

Si vous voulez savoir ce que je pense de dotclear, allez faire un tour sur le journal de kwaker21, il m’a sympathiquement proposé une petite Interview au travers d’une série de questions concernant ce moteur de blog qu’est dotclear, et j’y ai répondu.

Vous y verrez aussi l’avis d’autres utilisateurs de dotclear, comment dire… d’un autre niveau de notoriété dans la blogosphère (non, je rougie pas), tel Nicolas Perriault de « Prendre un Café » ou Ludovic Toinel de « Blog de Geeek ».

Si vous êtes vous aussi un utilisateur de dotclear invertébré invétéré et que vous avez des choses à dire, passez lui faire coucou, son blog et tout récent mais il a l’esprit libre et motivé ! Et « un esprit libre de plus dans un monde propriétaire » (dixit costalfy), faut l’encourager car c’est bien!

Subscribe to comments : Abonnement par email aux commentaires du blog

Email.png

Suite au billet de taltan, je me suis finalement décidé à installer l’extension Subscribe to comments sous mon blog dotclear en version 2 beta 7, en attendant patiemment la version dotclear 2.0 final qui devrait arriver cet été.

Cette extension Subscribe to comments de Moe permet de s’abonner par email aux commentaires du billet selctionné du blog afin d’être informé de toutes les interventions ayant eu lieu sur le-dit billet, juste en cochant cette petite case.

Abonnement_email

Cette extension est disponible sur le site des plugins officiels de dotclear.

Remarque : je n’ai pas réussi à l’installer via les interfaces d’administration « Extensions » sous dotclear2 beta 7, et j’ai du passer par FTP pour copier le contenu du package zippé directement dans le répertoire /plugins du blog…
Ensuite, l’extension ne s’affichant toujours pas, j’ai dû aller modifier le fichier post.html en y ajoutant les lignes suivantes entre les balises <fieldset> et </form> :

Attention : à cause du format wiki, je ne peux acoller les 2 parenthèses successives ouvrantes et fermantes, { { et } }, il faudra enlever cet espace lors de votre copier/coller
Et pensez aussi à sauvegarder vos fichiers originaux avant toute modification afin de pouvoir facilement les restaurer.

  <tpl:SubscribeToCommentsIsActive>
<p><input type="checkbox" id="subscribeToComments" name="subscribeToComments" { {tpl:SubscribeToCommentsFromChecked} } />
<label for="subscribeToComments">{ {tpl:lang Receive following comments by email} }</label>
<tpl:SubscribeToCommentsLoggedIf>
<strong><a href="{ {tpl:SubscribeToCommentsFromLink} }"{ {tpl:lang Logged in} }</a></strong>
</tpl:SubscribeToCommentsLoggedIf>
</p>
</tpl:SubscribeToCommentsIsActive>

Sauvegarder et effacer le cache (extension erasecache) au cas où et ça devrait fonctionner…

Tutorial : Ajouter du SWAP sous Linux

Pie_Chart.png

On peut se demander à quoi sert le SWAP aujourd’hui sur nos distributions Linux, sur des machines possédant souvent 1024Mo de RAM, voir beaucoup plus… Mais alors, le swap, qu’est-ce que c’est et à quoi ça sert ? et en a-t-on encore réellement besoin ? doit-on dire « le » ou « la » swap ? (pour cette dernière, j’en sais rien, je dirais « le » 😉 ), c’est au travers de ce billet que j’ai voulu apporter ma réponse.

Explications

Le swap sous Linux est nécessaire pour faire fonctionner son système de manière optimale, même avec beaucoup de mémoire. L’espace de swap permet au système d’y inscrire toutes les données temporaires nécessaires aux fonctionnement des programmes en cours d’exécution : en gros, on y trouve tout ce qui est utilisé pour la mémoire virtuelle.

L’ajout de SWAP peut être intéressant pour des systèmes sous Linux nécessitant d’avoir de fortes disponibilités en termes d’exécution de programmes particulièrement gourmands en ressources mémoires : serveur d’échange de fichiers, serveur de calculs, logiciels de traitement vidéos, 3D…
Par exemple, si un programme n’est pas utilisé pendant un certain temps (plusieurs heures ou plusieurs jours), Linux peut décider de le placer en espace « swap ». Ceci ayant pour avantage de libérer de l’espace en RAM et augmenter la taille du cache disque, et donc d’augmenter les performances des accès aux disques et ainsi accroître les performances globales du système.
Autre cas ou le swap a son importance : les fonctions d’hibernation. En cas de mise en hibernation, Linux copie les données contenues dans la mémoire vive sur le swap, et éteint l’ordinateur. A la remise en marche, il retrouve les données en swap dans l’état où il les a laissé, les programmes retrouvent toutes leurs données utilisées auparavant et reprennent le travail là où ils en étaient, d’où un gain de temps : en RAM (mémoire vive), toutes les données auraient été effacées et les applications auraient dues se réinitialiser.

Si l’utilisateur a de nouveau besoin de réutiliser le programme « passé » en swap, il ne faudra que quelques fractions de secondes pour que le tout repasse en RAM, d’où l’importance de bien tailler cet espace de swap.

Par convention, il est recommandé que la taille de SWAP fasse entre x1,5 à x2 de la mémoire RAM disponible sur la machine:
Ainsi, pour 1024 Mo (1Go) de RAM, il est recommandé de réserver 2048 Mo (2Go) de SWAP.
Bien sure, on peut se passer de swap mais si la mémoire physique (RAM) arrive à saturation, le système risque de se bloquer complètement.
Donc je vous conseille de toujours faire un petit swap. Mais alors comment faire lorsque l’on ne l’a pas prévu au départ lors de l’installation ou mal « taillé » ? pas de panique, avec Linux il est très simple d’ajouter ou redimensionner sa taille de swap, et cela directement au travers d’une console à l’aide de quelques lignes de commandes.

La pratique

Ici, on va voir comment rajouter de la swap directement à l’aide du shell. Évidemment, il existe des outils graphiques tel Gparted sous Ubuntu pour faire ce travail, mais je trouve qu’avec un peu d’habitude, il est plus rapide et sécuritaire de le faire en lignes de commandes.

important Modifier les partitions après l’installation est toujours une opération risquée. Assurez-vous d’avoir sauvegardé toutes vos données sur un autre support au préalable.

Déjà, 2 solutions s’offrent à nous : soit une partition complète de swap, dîtes « partition d’échange », soit un fichier « swapfile » ou fichier d’échange.
En effet, on peut créer un swap sans pour autant avoir une partition dédiée. A la place, un simple fichier sur une partition traditionnelle (montée sur / par exemple) est suffisante. On peut même combiner une partition de swap et un « swapfile », si la première s’avère trop petite.
Il est préférable de se servir d’une partition d’échange plutôt que d’un fichier d’échange, pour des raisons que je ne détaillerais pas plus (notion de blocs disques contigus,…).
Cependant, on se retrouve souvent sur une machine déjà configurée avec des partitions spécifiques, et pas forcement avec encore suffisamment d’espace disque non-formaté disponible pour se créer une partition. C’est là que le swapfile devient intéressant, et c’est la solution que l’on va développer dans les lignes suivantes.

1. Préparation

Ouvrons tout d’abord une console afin d’entrer nos commandes en se connectant en super-administrateur avec un:

 sudo su

Viennent quelques commandes qui vont être utiles pour connaitre la configuration actuelle du système (swap disponible, espace libre, etc…):
Connaitre l’espace de swap actuel:

 more /proc/swaps

Connaitre les informations mémoire du système (CTRL+C pour sortir):

 more /proc/meminfo

Connaitre l’espace disque disponible des différentes partitions:

 df -ah

2. Créer un fichier

Pour créer ce fichier d’échange, il va falloir utiliser la commande dd pour convertir et copier des volumes de données.
Il va aussi falloir connaitre le nom, l’emplacement et la taille du fichier de swap que l’on va créer.
Placez-vous déjà dans votre espace utilisateur, aussi appelé « home directory » en entrant les commandes suivantes dans une console:

 cd
pwd

Ensuite on va créer le fichier file.swap d’une taille de 512Mo à l’aide de la commande suivante:

 sudo dd if=/dev/zero of=/file.swap bs=1024 count=512000

Explication : la commande dd crée et copie des zéros dans le fichier file.swap contenant 512000 blocs de 1024 octets chacun, soit un fichier approximatif de 512 Mo (voir 524 Mo).

Vous pouvez « flusher » le nouvel espace créé dans le système de fichier par la commande:

 sync

3. créer le système de fichier pour le fichier d’échange

On utilise à présent « mkswap » pour formater le fichier en tant qu’espace d’échange ou de « swap »:

 sudo mkswap /file.swap 512000

Il ne faut pas oublier de passer la taille du fichier à la commande mkswap, de la même taille que celle définie lors de la création du fichier.

4. activer ou désactiver le fichier d’échange à la volée

Il est à présent possible d’activer ou désactiver ce fichier d’échange à l’aide de 2 simples commandes.
La commande :

 sudo swapon /file.swap

active la partition de swap et s’ajoute à l’existante si elle existe. la commande « more /proc/swaps » vue plus haut devrait vous montrer le nouvel espace de swap nommé file.swap.

La commande :

 sudo swapoff /file.swap

désallouera l’espace utilisé par le fichier d’échange et celui-ci pourra être effacé en toute sécurité.

PS:
Je complèterai ce billet pour la gestion de partitions de swap ainsi que l’auto-montage dés que j’aurais un peu plus de temps.

Formation RHCT : mission accomplie !

C’est avec grand plaisir que je vous annonce que je suis Red Hat Certified Technician !

Tout ça accompagné d’un joli diplôme à s’imprimer soit même.

Je ne m’étendrais pas plus sur le sujet étant donnée que les clauses de confidentialité sont « extrêmement » strictes (un fichier de 7 pages!) et qu’il semble que l’on ne doit même pas en faire la pub.
Cependant, la validité de l’obtention du certificat peut être consulté sur le site Centrale Red Hat.
J’ai rajouté une petite section Red Hat dans mon CV histoire de le valoriser, ça me fait penser qu’il faudra que je réorganise tout le reste du CV quand j’aurais un peu plus de temps ;-).

Voilà, je suis assez content et fier pour un exam que j’ai trouvé pas si évident que ça je trouve 8-)…

Red Hat est une marque déposée, soumis aux droits d’utilisations suivants : Copyrights & Trademarks
Copyright (c) 2003 Red Hat, Inc. All rights reserved. Red Hat is a registered trademark of Red Hat, Inc.

Révolution dans les noms de domaine

adresselongue

Une petite révolution se prépare dans l’attribution des noms de domaine suite à la déclaration de l’Icann (Internet corporation for assigned names and numbers) ce lundi 23 juin à Paris.

Dès 2009, les internautes pourront acquérir des adresses composées de mots courants dans leurs extensions tels que .cestmonsite ou .cestmoiquiailaplusgrosse pour en finir avec les .com, .fr ou .eu… ou encore des noms propres avec des caractères caractères cyrilliques, chinois et autres caractères biduliques…

Mais il ne faut pas rêver non plus car tout ce qui est nouveau est aussi très cher ! il faudra donc être prêt à dépenser quelques dizaine, voir centaine de milliers de dollars, avec toutes les règles et contraintes à respecter qui s’en suivent : respect des marques et domaines existants, respect public et moral dans le nommage, etc… sans oublier que l’Icann percevra les droits pour chaque nom de domaine créé est qu’il est sous influence américaine, ceci fini pour nous faire revenir à la réalité et nous dire que pour le particulier, c’est pas pour tout de suite.

Cependant, cette volonté de révolutionner le petit monde de l’internet va de paire avec l’intégration de l’IPV6 dans la vie courante (comme Free le fait déjà avec ses clients pour ceux qui le souhaite), car tout comme le nombre d’adresses quasi-illimité que permettra la nouvelle version du protocole de l’internet, le choix de son nom de domaine devrait être lui aussi beaucoup plus souple.

Donc sans être vraiment une révolution, on ne fait que reprendre l’existant pour le faire évoluer, l’accès d’internet au grand public a radicalement changé le visage d’internet ces dix dernières années, avec environ 170 000 noms de domaine en « . fr » achetés par des particuliers, et 1 millions pour les extensions en « .eu » !

Moi je dis, gardez votre .org ou .fr, ce sera un collector dans dix ans…

source:
lemonde.fr

Dotclear 2 RC2 disponible

DotclearNewlogo

Juste pour signaler que dotclear 2 RC2 est sortie le 21 juin 2008 et se retrouve disponible en téléchargement sur le lien suivant.

Parmi les ajouts par rapport à la RC1, on trouvera:
– un nouveau gestionnaire de média : pour pouvoir transférer plusieurs fichiers en simultané.
– Réorganisation de la gestion de configuration du blog : définition des tailles d’images insérées, nommage automatique, etc…
– Options de référencement : permettant de gérer plus finement l’indexation de son blog.
– Nouvel antispam FairTrackbacks
– Langues disponibles sous forme de plugins

Donc un grand merci à toute l’équipe dotclear qui fait vraiment du bon boulot.
Je suis actuellement en train de voir et tester pour migrer mon blog de la version beta 7 vers la 2.0, qui se passe sans problème en suivant la documentation disponible sur le site. Seuls quelques plugins semblent actuellement récalcitrants à la migration, qui je l’espère seront rapidement compatibles avec la version finale de dotclear 2.0 qui devrait sortir cet été.

Pour toute question ou suggestion, n’hésitez pas à vous rendre sur le forum dotclear 2.