Main menu:

Site search

Categories

septembre 2025
L M M J V S D
1234567
891011121314
15161718192021
22232425262728
2930  

Archive

Faut-il avoir peur de Mono?

Il y a une grosse semaine, il y a eu sur plusieurs blogs un mouvement contre Mono et un appel à désinstaller d’Ubuntu tout ce qui a trait à Mono.

Alors, Mono, c’est quoi?
C’est la contrepartie Open Source de .Net de Microsoft. C’est en fait un framework complet de développement. A la base, .Net, c’est bien sûr Microsoft mais les spécifications notamment du langage C# ont été normalisées dans un standard ECMA (Ecma-334 et Ecma-335). Le fait que ce soit Microsoft qui soit à la base de ce standard en fait-il quelque chose à bannir?
Personnellement, je ne crois pas. Le seul problème que je vois est que .Net étant un produit Microsoft il y a un risque que même standardisé, Microsoft y apporte les modifications qu’il veut du moment que cela serve ses intérêts et que finalement, le projet Mono doive suivre pour rester compatible mais sans avoir son mot à dire. Et puis, il y a les brevets déposés par Microsoft et qui concernent .Net ou C#. Est-ce compatible avec l’idée qu’on se fait d’un logiciel libre?

It’s up to you. Si vous voulez vous débarrasser de Mono, il suffit de désinstaller les librairies Mono installées par défaut dans Ubuntu:

$ sudo apt-get remove --purge mono-common libmono0

Sachez néanmoins qu’en faisant cela, vous vous priverez de logiciels comme F-Spot, Tomboy ou même Banshee. Ok, je sais, il y a des équivalents au moins aussi intéressants à utiliser à la place (gThumb, Digikam, RythmBox…).

Suppression de l’ancienne zone de menu dans Gimp 2.6

Toolbox-wilberDans Gimp 2.6, le menu qui se trouvait dans la toolbox a été fusionné avec celui qui apparaît dans le fenêtre de l’image. Résultat, il y a une zone au dessus des outils qui est celle que le menu occupait dans les versions précédentes de Gimp et qui reste visible avec Wilber (la mascotte de Gimp) en background. Si vous trouvez, comme moi, que ce n’est vraiment pas très esthétique et qu’en plus, cela prend de la place, réjouissez-vous, il y a moyen de s’en débarrasser. C’est même assez simple dans la mesure où il suffit d’éditer le fichier de configuration gimprc qui se trouve dans votre home
toolbox sans wilber ou celui qui se trouve dans /etc/gimp/2.0/ si vous voulez que la modification se fasse pour tous les utilisateurs (system wide comme disent les anglophones). Il vous faudra, en fait, ajouter à ce fichier gimprc une simple ligne pour que wilber disparaisse de la boîte à outil. Commencez par éditer le fichier ~/.gimp-2.6/gimprc avec votre éditeur favori. Attention, ce fichier se trouve dans un dossier caché comme en atteste le point devant gimp-2.6. Tapez ceci dans un terminal ou double-cliquez sur le fichier gimprc dans Nautilus après lui avoir fait afficher les fichiers cachés:

$ gedit ~/.gimp-2.6/gimprc

et ajoutez la ligne:

(toolbox-wilber no)

Le fichier doit ressembler à quelque chose comme:

# GIMP gimprc
# 
# This is your personal gimprc file.  Any variable defined in this file takes
# precedence over the value defined in the system-wide gimprc:
# /etc/gimp/2.0/gimprc
# Most values can be set within GIMP by changing some options in the
# Preferences dialog.

(monitor-xresolution 95.000000)
(toolbox-foo-area yes)
(toolbox-image-area yes)
(theme "Small")
(web-browser "firefox %s")
(toolbox-wilber no)

# end of gimprc

Si vous voulez que la modification soit faite pour tous les utilisateurs, éditez le fichier /etc/gimp/2.0/gimprc et, à la ligne 588 décommentez la ligne et modifiez le yes en no.

Ajouter quelques effets visuels sans utiliser Compiz

Une particularité de Metacity, le gestionnaire de fenêtre de Gnome, est qu’il peut être configuré pour afficher des ombres autour des fenêtres ou des menus, une animation lorsqu’on clique sur une icône de programme dans le tableau de bord et même une prévisualisation des programmes lorsque vous faites un Alt+Tab (du plus bel effet, je dois dire).

Tout ceci est réalisé sans faire appel aux capacités de votre carte graphique contrairement à Compiz. Autrement dit, c’est votre processeur qui fait le boulot.
A noter un bref défaut lors du re-dessin de la fenêtre.
Et puis forcément, Compiz doit être désactivé pour utiliser cette particularité de Metacity. Pour désactiver Compiz, rendez-vous dans le menu Système/Préférences/Apparence et dans l’onglet Effets visuels, choisissez aucun.
Maintenant, pour activer les effets visuels de Metacity, ouvrez l’éditeur de configuration depuis le menu Applications/Outils système. Ouvrez dans la partie de gauche la clef Apps/Metacity/general et dans la partie de droite, activez la clef compositing_manager (cochez la petite case à côté).

Si vous préférez la ligne de commande:

$ gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true

Pour désactiver ces effets visuels, remplacez true par false dans la ligne ci-dessus.
(D’après tombuntu)

C++ – le problème des variables temporaires

Imaginons une fonction retournant un std::string par valeur:

std::string foo()
{
  return std::string();
}

Lors du return, le compilateur crée une variable temporaire et celle-ci existe jusqu’à ce que la fonction se termine. Cela ne pose pas de problème si vous utilisez cette variable temporaire de cette manière:

std::string str = foo();

Une copie de la variable temporaire est assignée à str et lorsque la fonction se termine, la variable temporaire est détruite. Sa valeur a été transmise par copie à str. Tout va bien.

Un problème peut se présenter si vous assignez cette variable temporaire à une référence non constante:

const std::string& str = foo();

Le type de retour de foo() spécifie qu’un string est retourné par valeur. C’est à dire qu’une copie de la variable temporaire est créée et liée à votre référence et sa durée de vie est égale à celle de la référence. Il faut bien comprendre que la variable temporaire créée lors du return n’est pas la même que celle créée par copie et liée à la référence.

Par contre, lier une variable temporaire à une référence non constante n’est pas permis par la norme:

std::string& str = foo();   //illégal

La norme précise qu’une variable temporaire liée à une référence est une rvalue (expression à droite du signe =) et donc on ne peut pas lui assigner une valeur ni la modifier. En conséquence lier une variable temporaire à une référence non constante viole cette règle. Et ce n’est donc pas permis.

Le code de bonne pratique veut donc que vos références soient constantes par défaut. Ne les rendez non constantes que si c’est absolument nécessaire. Et si vraiment vous devez modifier une référence, pourquoi ne pas utiliser un pointeur?

Sauvegarde et restauration de la config d’un switch Cisco

Dans le cadre de mon boulot, je dois configurer et maintenir plusieurs commutateurs (switch) Cisco de type Catalyst 6500, 3750 et 2950.
Comme la configuration de base de ces switches est toujours la même, j’ai cherché un moyen de faire la configuration d’un des switches et de la recopier sur les autres. Je sais que les switches Cisco sont capables de se connecter à un serveur TFTP. Il suffit donc d’installer un serveur TFTP sur mon PC Ubuntu et je pourrai sauvegarder, restaurer et recopier mes configurations.

TFTP (Trivial File Transfert Protocol) est une forme simplifiée de FTP. Le transfert de fichier se fait en UDP sur le port 69 alors que le protocole FTP utilise TCP sur le port 21. TFTP ne prévoit aucun mode d’autentification ni de sécurisation des données. Il est donc limité à un usage sur des réseaux privés.

Installation de TFTP sur Ubuntu

Il faut d’abord installer les paquets suivants: tftpd, tftp et xinetd

$ sudo aptitude install xinetd tftpd tftp

Ensuite, il faut créer le fichier de configuration /etc/xinet.d/tftp et y mettre ceci:

$ sudo gedit /etc/xinet.d/tftp

Contenu du fichier:

service tftp
{
  protocol = udp
  port = 69
  socket_type = dgram
  wait = yes
  user = nobody
  server = /usr/sbin/in.tftpd
  server_args = /tftp
  disable = no
}

Dans ce fichier de config, il est précisé que le serveur se sert du répertoire /tftp qui se trouve à la racine. Ce répertoire n’existe pas encore, il faut donc le créer, lui donner des droits d’accès pour chacun et spécifier que le nom d’utilisateur est nobody:

$ sudo mkdir /tftp
$ sudo chmod 777 /tftp
$ sudo chown nobody /tftp

Maintenant que tout est prêt, on démarre le serveur:

$ sudo /etc/init.d/xinetd start

Sauvegarde et restauration de la config Cisco

Connectez-vous en telnet sur votre switch Cisco. Introduisez le mot de passe éventuel et passez en mode enable. Pour sauvegarder votre config sur votre serveur TFTP, c’est à dire copier la running-config du switch dans le répertoire /tftp de votre serveur TFTP sur votre PC Ubuntu, il suffit d’introduire la commande suivante au prompt de votre switch:

switch#copy system:running-config tftp://192.168.8.10/configswitch

Cette commande demande à l’IOS du switch de copier la config du switch vers le serveur TFTP qui se trouve à l’adresse 192.168.8.10 (c’est l’adresse de votre PC sur lequel vous avez installé le serveur TFTP) et de lui donner le nom de fichier configswitch. Il est évident que vous donnez le nom que vous voulez à ce fichier. Le switch vous demandera de confirmer l’adresse et le nom de fichier et une fois la commande exécutée, vous retrouverez le fichier configswitch dans le répertoire /tftp de votre PC.

Pour restaurer une configuration c’est à dire envoyer vers le switch la config qui se trouve dans un fichier dans le répertoire /tftp de votre PC, introduisez ceci dans le Cisco:

switch#copy tftp://192.168.8.10/configswitch system:running-config

C’est le même principe que ci-dessus mais dans l’autre sens.

Si les demandes de confirmation du switch vous embêtent, vous pouvez les supprimer en tapant ces commandes-ci:

switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config)#file prompt quiet
switch(config)#^Z
switch#write

En ce qui concerne la configuration du serveur TFTP, je vous renvoie à la page de documentation d’Ubuntu-fr correspondante.

Ecrire des mails sous Hotmail avec Firefox et Ubuntu

La question est encore revenue sur la mailing list d’Ubuntu: avec Firefox sous Ubuntu, il est impossible d’écrire des mails dans Hotmail. On peut lire ses mails mais pas en écrire.
La solution est très simple: ouvrez firefox, tapez about:config dans la barre d’adresse et changez la clef general.useragent.vendor pour y mettre Firefox (avec la majuscule) au lieu de Ubuntu.
Vous pouvez maintenant à nouveau profiter pleinement de votre adresse Hotmail.