Tout simplement magnifique :
fish : le shell qu’il vous faut
Depuis peu j’ai découvert un nouveau shell qui répond au doux nom de fish. J’entends déjà ceux qui vont mon dire de toute façon zsh c’est le meilleur ou encore bash ou csh ça fait tout se que je demande alors pourquoi aller voir ailleurs. Bah tout simplement car fish est le bon compromis entre zsh qui est lourd, chiant à configurer et parfois chiant à utiliser et bash qui est quand même pas mal limité notamment sur l’auto complétion.

Bon trêve de blabla voici pourquoi fish ca déchire des mamans ours :
- Une syntaxe claire et simple pas comme bash
- Une auto complétion vraiment monstrueuse et rapide pas comme zsh …
- Une configuration par défault vraiment sympa
- Pas mal de petites features vraiment cool
Bien sûr tout n’est pas parfait dans le monde merveilleux de fish :
- Quelques petits bugs un peu chiants du à sa jeunesse
- Parfois un peu trop de couleur
- Certains applications ne sont pas encore géré comme les dpkg*
Bon allez à vous de franchir le pas maintenant :
Disable bell GNU/Linux and FreeBSD
Global disable on Linux
You just have to remove the pcspkr module.
Temporary remove on all Linux distributions :
# rmmod pcspkr
Complete remove on Debian and derivate (Ubuntu, Mepsis, …) :
# echo "blacklist pcspkr" >> /etc/modprobe.d/blacklist
Turn off bell on FreeBSD
For the session :
# sysctl hw.syscons.bell=0
Full time :
# echo "hw.syscons.bell=0" >> /etc/sysctl.conf
Disable bell only in a Linux shell
Enter this command in your shell :
setterm -bfreq 0
Disable bell in Firefox
In about:config set accessibility.typeaheadfind.enablesound to false.
Aditam v0.1 released
I’m happy to announce the first offcial release of Aditam.
Download version 0.1
What is Aditam ?
It’s a remote task scheduler which facilitates mass task managing over heterogeneous network.
Due to a splited architecture, ADITAM is easily deployable in any existing infrastructure.
The project is separated in three parts :
- The tasks manager itself, in charge of scheduling and distributing the tasks. Informations are stored in database and gave to the agents when tasks are to be executed.
- The agents are installed on every server of the farm. It handles orders sent by the tasks manager and execute the tasks sent by it. Then the agent sends an activity report that is stored in database.
Data needed for tasks execution must be available locally or through a network file system. - The UI (User Interface) provides access to the management actions.
The ADITAM team developped two UI :- A console client that enables scripted calls to ADITAM or remote administration
- A web client giving access to userfrindly administration panel
Who ?
It’s an End of studies Project (Epitech Innovative Project) found in 2007 found by : Thomas Rogeat, Jérôme Schneider, Simon Courtois, Vincent Trusgnac’h and Thylda Richol.
License
Aditam is under GPLv3
Tips : Debian unstable (sid) switch to Python 2.4 by default
Edit /usr/share/python/debian_defaults
You should have something like this :
[DEFAULT] # the default python version default-version = python2.4 # all supported python versions supported-versions = python2.4, python2.5 # formerly supported python versions old-versions = python2.3 # unsupported versions, including older versions unsupported-versions = python2.3
Update the python link
# rm /usr/bin/python # ln -s /usr/bin/python2.4 /usr/bin/python
Update your python packages to python 2.4
Launch this command :
# pycentral updatedefault python2.5 python2.4
Pardus
J’ai découvert cette distribution GNU/Linux il y a relativement peu de temps avec la sortie de la version 2007.2. Je l’ai tout d’abord testé sur une VM et là surprise j’ai eu un coup de cœur pour cette distribution.
Je vais maintenant essayer de décrire Pardus 2007.3.
L’installation

L’installeur est très propre et très simple. Il n’y a vraiment pas grand chose à redire à part le manque de quelques options de geek comme le choix de ses partition et de son filesystem.
Après l’installation on se retrouve avec un système très propre et très bien intégré.
L’environnement graphique
C’est clairement sur l’aspect “Desktop” que Pardus excelle et c’est en grande partie pour cela que je l’ai choisi.
L’équipe de Pardus a choisi de se baser sur KDE et non comme la plupart des grosses distributions actuels sur Gnome. Étant un grand fan de KDE je ne peux qu’applaudir ce choix. D’autant plus que Pardus a réussi a très bien intégrer KDE ce qui n’est clairement pas monnaie courante.
A part cela on se retrouve avec d’excellents outils pour configurer notre KDE.
On peut voir à gauche kaptan qui est lancé au démarrage pour une première configuration. A droite on peut voir Tasma qui est un kcontrol amélioré.
La gestion des paquets
Voici package-manager une interface graphique découpée par catégorie et très simple à utiliser :

Elle se base sur PiSi qui est un programme en ligne qui permet de gérer, de compiler et de créer les paquets. Cette outil est vraiment très agréable et il dispose de pas mal d’options et il ne lui manque que quelques options avancées présentes dans Debian (par exemple un équivalent d’apt-file).
Quand au packaging il est très simple à réaliser et il se fait en python et en XML. Je ne vais pas m’étendre sur le sujet car je vais publier un article sur la question.
La gestion du réseau
C’est clairement l’autre grande force de Pardus. Le gestionnaire permet de créer des profiles et gère les câbles, le wifi et le rtc. L’interface pour le wifi est tout particulièrement performante avec la reconnaissance automatique du cryptage.

Les services
Pardus offre là aussi le choix entre une interface graphique et la ligne de commande.

Conclusion
Les points forts :
- d’excellents outils (aussi bien graphique qu’en ligne de commande) principalement le network-manager
- une très bonne intégration de KDE
- un bon choix logiciel
- une bonne reconnaissance des péréphiques avec firmware proprio
- de bonne performance (compilation i686 oblige)
- un excellent système de packaging
- très bonne gestion du montage des péréphiques (exemple le NTFS est monté avec ntfs-3g)
- tout les outils de Pardus sont écris en Python ce qui permet de diminuer le temps de code, d’augmenter la qualité et de rendre les outils plus facilement maintenable.
- un très bon système de base
Les points faibles :
- une mauvaise reconnaissance de l’écran pour le X.
- ils manquent des options avancés dans l’installeur
- il manque encore pas mal de paquet
- il manque encore quelques petites options avancées dans les outils mais bon là je pinaille vraiment
Pour conclure Pardus est une excellente distribution pour le desktop. Elle profite pleinement de la puissance du Python. Évidemment elle n’est pas parfaite mais la plupart des problèmes sont liés à son très jeune âge.
De mon côté c’est la première fois depuis très longtemps que je me suis installé une autre distrib que Debian comme OS principale d’un de mes PC.
Les liens utilent sur KDE 4.x
Suite à la sortie de KDE 4.0 de nombreux articles sont parus sur le web :
Configure Mailman on Debian Etch with a Postfix
Install a Mailman with a Postfix on Debian
apt-get install postfix mailman
Configure Mailman
Add or change these lines in /etc/mailman/mm_cfg.py (example vhost : lists.example.net) :
DEFAULT_EMAIL_HOST = 'lists.example.net' DEFAULT_URL_HOST = 'lists.example.net' DEFAULT_URL_PATTERN = 'http://%s/'
Configure Postfix
Example with (domain : lists.example.net)
- configure main.cf like this :
- add /etc/postfix/transport with this :
- Run this cmd :
- Restart your postfix :
- Add this vhost to your apache (only tested with a Apache v2) :
- then create the document root :
- go to : http://lists.example.net/listinfo and enjoy
# See /usr/share/postfix/main.cf.dist for a commented, more complete version smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = foo.example.net alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = lists.example.net, localhost relayhost = # Relay mailman relay_domains = lists.example.net transport_maps = hash:/etc/postfix/transport mailman_destination_recipient_limit = 1 mynetworks = 127.0.0.0/8 192.168.15.0/24 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all # Allow connections from trusted networks only. smtpd_client_restrictions = permit_mynetworks, reject_unknown_client smtpd_helo_restrictions = permit_mynetworks, reject_invalid_hostname smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
lists.example.net mailman:
postmap /etc/postfix/transport
# /etc/init.d/postfix restart
Great your postfix is now ready !
Configure the HTTP interface
<VirtualHost *:80>
ServerName lists.example.net
DocumentRoot /var/www/lists
ErrorLog /var/log/apache2/lists-error.log
CustomLog /var/log/apache2/lists-access.log combined
<Directory>
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
ScriptAlias /create /usr/lib/cgi-bin/mailman/create
ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
ScriptAlias /options /usr/lib/cgi-bin/mailman/options
ScriptAlias /private /usr/lib/cgi-bin/mailman/private
ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
</VirtualHost># mkdir /var/www/list
Change the List creator’s (authentication) password
Just launch this cmd line as root :
# mmsitepass
Add a new ML
You have two solutions :
- cmd line : newlist
- Web interface : http://lists.example.net/admin
And add the aliases (example with devel list) :
- add this to /etc/aliases
- Launch this command as root :
## devel mailing list devel: "|/var/lib/mailman/mail/mailman post devel" devel-admin: "|/var/lib/mailman/mail/mailman admin devel" devel-bounces: "|/var/lib/mailman/mail/mailman bounces devel" devel-confirm: "|/var/lib/mailman/mail/mailman confirm devel" devel-join: "|/var/lib/mailman/mail/mailman join devel" devel-leave: "|/var/lib/mailman/mail/mailman leave devel" devel-owner: "|/var/lib/mailman/mail/mailman owner devel" devel-request: "|/var/lib/mailman/mail/mailman request devel" devel-subscribe: "|/var/lib/mailman/mail/mailman subscribe devel" devel-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe devel"
# newaliases
Delete a ML
- Just delete the ML but keep th archive
- Delete the archive
- Remove the mail aliases :
# rmlist listname
# rmlist -a listname
# vim /etc/aliases # newaliases
Install Quills using buildout
Warning : this configuration is base on the development version of Quills please change it if you want a stable version.
First step edit your buildout.cfg.
The buildout section must look like this :
[buildout]
parts =
plone
zope2
productdistros
instance
zopepy
<strong>quills-products</strong>
# Add additional egg download sources here. dist.plone.org contains archives
# of Plone packages.
find-links =
http://dist.plone.org
http://download.zope.org/ppix/
http://download.zope.org/distribution/
http://effbot.org/downloads
<strong>https://svn.plone.org/svn/collective/quills.core/trunk/#egg=quills.core-dev</strong>
<strong>https://svn.plone.org/svn/collective/quills.app/trunk/#egg=quills.app-dev</strong>
[...]Now in your zope instance where you want to add Quills add this :
[instance]
[...]
# If you want Zope to know about any additional eggs, list them here.
# This should include any development eggs you listed in develop-eggs above,
# e.g. eggs = ${buildout:eggs} ${plone:eggs} my.package
eggs =
${buildout:eggs}
${plone:eggs}
<strong>quills.core</strong>
<strong>quills.app</strong>
# If you want to register ZCML slugs for any packages, list them here.
# e.g. zcml = my.package my.other.package
zcml =
<strong>quills.core</strong>
products =
${buildout:directory}/products
${productdistros:location}
${plone:products}
<strong>${buildout:directory}/parts/quills-products</strong>And now you just have to launch buidout and restart your zope server :
$ bin/builout $ bin/instance_name fg
That’s all folk !
Le champagne Darty
Le champagne Darty fait son apparition sur youtube :
