- netpbm est une bibliothèque de processus de traitement d'image à l'instar de ImageMagick, mais sous la forme de filtre unix.
Sous Ubuntu, la compilation nécessite le paquet libsvga-dev (apporte à des programmes en console la capacité de traiter des ressources graphiques, donne un accès au hardware video). Attention également à correctement positionner libX11.so pendant le script de configure.
- pour compter le nombre de champ d'une ligne via un délimiteur en particulier:
echo $line |tail -1 |awk '{print NF}'
- un script Greasemonkey pour désactiver l'effet de fade in sur la page Google: http://userscripts.org/scripts/show/63436
Depuis quelques jours, je m'intéresse à de la génération automatique d'une hiérarchie de topics en utilisant Flickr.
Pourquoi Flickr ? pour ses données textuelles (le tagging social des images par les utilisateurs du website) et ses données images. J'intègre tout cela à mon modèle de donnée pour construire des collections d'image, et j'explore ces collections avec des outils que j'ai développé il y a quelques mois, je voudrais pouvoir explorer facilement le dataset et gérer les documents (retrait d'image ou de tag).
C'est ainsi que comparativement à mes autres expérimentations, le modèle textuel associé à mes images contient:
- des documents faiblement taggés (weakly tagged).
- des informations textuelles qui ne sont pas forcément en anglais, ni basé sur un alphabet latin.
Jusqu'à présent mes images étaient annotées en anglais et avec l'objectif explicite de construire un jeu de donnée image pour la vision par ordinateur, on peut donc dire que ses images étaient annotées par des
iconographes de l'ordinaire en le sens que les annotations sont pertinentes (i.e. fiable, c'est pour cela que je dis
iconographe) et portent sur des objets de la vie de tous les jours (d'où
iconographe de l'ordinaire).
Le sujet de ce billet est le second point, Java gère très bien l'UTF, mais il est évident que l'index des fonts disponibles pour les UI graphique est délégué à l'installeur de Java sur la machine, car on ne peut pas localiser les fonts de façon standard pour tous les
OS pour lesquels Java est disponible.
Sur ma machine, j'installe toujours Java à la main, dans
/opt, je trouve cela plus propre, je suis contre ce qui est fait pour java-6-openjdk par exemple (mettre les fichiers de configuration de Java dans
/etc... pourquoi vouloir complètement intégrer Java à l'
OS, je trouve que c'est particulièrement microsoftien comme façon de faire... ).
Le fichier
~jrehome/lib/fontconfig.properties qui renseigne Java sur les fonts disponibles sur le système n'est donc pas renseigné quand on installe Java à la main: dans le cas d'Ubuntu il suffit de piocher le fichier installé pour java-6-openjdk
/etc/java-6-openjdk/fontconfig.properties et le copier dans
~jrehome/lib/fontconfig.properties.

Hier j'ai dû installer une FedoraCore sur ma machine perso, juste pour vérifier que mes problèmes avec MonetDB ne viennent pas du système Ubuntu (ça m'aurait étonné, mais un développeur m'a assuré que mes problèmes n'avait pas été rencontrés sur une machine Fedora). Et ben que neni, MonetDB en XRPC sur une machine GNU/Linux n'aime pas du tout du tout quand les demandes d'indexations se font très nombreuses... comme sous ma ubuntu 8.04.
Et passer de Ubuntu à FedoraCore10, ça fait un choc! SELinux est activé avec un nombre incroyable (incroyablement débile je trouve, pour une distrib Desktop), de restrictions... Bref, FedoraCore est plutôt déplaisante au premier abord...
Il existe
displayconfig-gtk, qui permet de configurer le display courant, mais l'application ne supporte que l'extension de bureau et le mirror (i.e. le clone).
Ces tests ont été effectués sur une machine avec une NVIDIA GeForce 7 Series, et le driver NVIDIA 169.12 du paquet Ubuntu
nvidia-glx-new.
*-display
description: VGA compatible controller
product: G72M [Quadro NVS 110M/GeForce Go 7300]
vendor: nVidia Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list
configuration: driver=nvidia latency=0 module=nvidia
Pour obtenir les informations systèmes sur GNU/Linux, il existe
sysinfo qui est très pratique, (sinon
lshw).
Pour installer un driver NVIDIA, il existe le très pratique
envyng (dispo dans les dépôts Ubuntu).
En réalité trois approches sont possibles:
- TwinView ou Xinerama: extension de bureau, soit avec deux écran virtuels, soit un écran virtuel réparti sur les deux écrans physiques.
- separate-x-screen: un seul server X mais deux xscreen panels sur le server, c'est ce qu'on pourrais appeler le vrai multi-head display sous GNU/Linux, i.e. un seul display, plusieurs xscreens, en l'occurrence dans mon cas, j'ai le display :0.0 et :0.1.
Un display peut être décrit "as a workstation consisting of a keyboard a pointing device (such as a mouse) and one or more screens", et un xscreen est la représentation d'un écran physique.
- le mode clone.
Le mode TwinView m'embête beaucoup, soit à cause de la résolution d'écran, à cause des notifications qui se font pas sur le bon écran, ou bien le fullscreen qui se fait sur l'écran principal uniquement... Le problème avec le mode TwinView est qu'il faut paramétrer un écran comme "écran principal", c'est ainsi que le fullscreen ne se fait que sur l'"écran principal", même si l'application est affichée sur l'autre écran en réalité!
Je me suis donc configuré en separate-x-screen, et j'essaye de déplacer des fenêtres d'un xscreen à un autre (je me place dans un multi-head display) (et pas forcément déplacer des applications d'un display à un autre, i.e. un server X à un autre, mais juste d'un xscreen à un autre sur le même serveur X).
Deux programmes peuvent faire cela:
- xmove.
- teleport: avec cet outil les applications lancées sur le serveur X doivent supporter le déplacement inter-display, et en réalité ce n'est le cas de quasi-aucune application X
Pour faire des notifications Desktop depuis Java sur un système GNU/Linux:
- Un moyen de faire est d'utiliser le
TrayIcon introduit dans Java1.6 pour ajouter une icône de notification dans le System Tray (nommé notification area sous GNU/Linux, et Taskbar Status Area sous Windows), puis utiliser la méthode:
TrayIcon.displayMessage(caption, text, TrayIcon.MessageType.INFO);.
Cette approche a le mérite d'être multi-plateforme.
voir http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/systemtray/
- Utiliser libnotify:
- soit par un script python par exemple:
#!/usr/bin/python
from pynotify import *
import sys
def notify(title="", message=""):
n = Notification(title, message)
n.show()
#n.set_hint("x", 0)
#n.set_hint("y", 0)
init("cli notify")
if len(sys.argv)>2:
notify(sys.argv[1], sys.argv[2])
else:
notify()
voir http://roscidus.com/desktop/node/336.
- soit en utilisant une commande système avec
notify-send (apportée par le paquet libnotify-bin sous Ubuntu).
Notes: pour changer le thème de libnotify, cela peut être fait directement dans le gconf-editor (apps > notification-daemon), la variable theme, par défaut à "ubuntu", peut être mise à "normal".
Pour les recherches sur le domaine WordNet
KThesaurus utilise le processus
wn, ainsi il suffit de placer le chemin vers sa propre compilation de WordNet dans la variable d'environnement PATH pour que KThesaurus l'utilise (plutôt que celle du système ou de la distribution utilisée).
Pour le
configure:
./configure prefix=/home/nicolas/WordNet/install --with-tcl=/usr/lib/tcl8.5/ --with-tk=/usr/lib/tk8.5
Un
billet bien pratique.
Pour régler la précision de
bc, ajouter de nouvelles fonctions dans un fichier de configuration,
~/.bc par exemple, il faut déclarer la variable shell:
Löve est un moteur de jeu 2D, le projet veut apporter du développement rapide de jeu et du prototypage en Lua.
Installer les paquets suivants:
- devIL.
- libphysfs.
- libboost.
Comme je travaille avec un ami sur un même bout de code pour un petit projet prospectif, j'ai déployé un subversion sur mon serveur.
Voici un mémo de quelques tests:
La machine utilisée tourne sous Ubuntu8.04.
Pour un usage en local:
- installer le paquet subversion.
- pour créer un repo:
$svnadmin create projectName
- pour le checkout:
$svn co file:///path/to/the/repository
- pour flagger un fichier comme nouveau dans le repo (et donc à ajouter sur le repo distant)
- pour commiter:
$svn co fileToCommit -m "message"
Si échec du dernier commit et intégration nécessaire, il faut récupérer la version plus récente présente sur le serveur (pour faire la fusion à la main):
SVN va alors créer 3 fichiers: file.mine (copie de la version modifiée en local), file.r1 (version locale avant modification), file.r3 (version du serveur, donc plus récente que file.r1).
Quand l'intégration est effectuée (fusion de file.mine et r3) alors il faut flagger le conflit comme résolu (et recommiter le fichier ensuite):
$svn resolved fileResolved
flags possibles:
C : conflict (fichier conflictuel)
A : added (fichier ajouté dans le projet)
D : deleted (fichier supprimé du projet)
G : fusion (fichier plus récent sur le repo et version locale modifiée depuis le dernier checkout mais la fusion ne pose pas de conflit)
M : modified (modifications sur un fichier qui n'a pas été modifié localement, alors le fichier locale est écraser par sa version du repository).
- pour créer une nouvelle branche à partir du trunk:
$svn cp http://.../trunk http://.../branches/mybranch
Rien de particulier, il suffit soit de lancer le deamon à la main, soit de faire un script à placer dans
/etc/rc1.d/K20svnserve et
/etc/rc2.d/S20svnserve (ou placer le script dans
/etc/init.d, et utiliser l'outil Debian
rcconf).
#!/bin/sh
case "$1" in
start)
start-stop-daemon --start --chuid www-data:www-data --exec /usr/bin/svnserve -- -d -r /home/subversion/usvn/svn
;;
stop)
start-stop-daemon --stop --exec /usr/bin/svnserve
;;
restart)
$0 stop
$0 start
;;
esac
exit 0
En réseau avec Apache sur le port 80:
- installer les paquets
subversion, subversion-tools, libapache2-svn
- charger le module
$a2enmod dav_svn
- rendre le repo accessible par apache:
Éditer
/etc/apache2/mods-available/dav_svn.conf
<Location /svn>
DAV svn
Require valid-user
SVNParentPath /home/subversion/repo/
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/subversion/conf/htpasswd
AuthzSVNAccessFile /home/subversion/conf/access
</Location>
- gérer les utilisateurs avec
$htpasswd /home/subversion/conf/passwd nicolas
- gérer les droits en éditant le fichier
/home/subversion/conf/authz
[groups]
developer = nicolas
[projectName:/]
@developer = rw
* = r
En réseau avec USVN:
C'est la solution utilisée à la date de rédaction du billet. Plus léger et pratique qu'un Trac, mais certes bien moins puissant (ce n'est même pas comparable en fait, Trac étant un bug tracker), USVN ne propose pas de wiki, ni d'exploration du code (mais on peut naviguer dans l'arborescence du dépôt dans une interface Web).
USVN, UserfriendlySVN est un projet de l'Epitech distribué sous licence CECILL, qui permet la gestion de repository
SVN par une application
PHP (création, gestion des droits), en fait c'est très partique pour créer des dépôts
SVN à distance et gérer les droits d'accès.
- installer les paquets
libapache2-mod-php5 php5-sqlite sqlite3
- activer le module
$a2enmod rewrite
- récupérer l'archive de USVN et la copier dans /var/www, la décompresser et modifier le propriétaire des fichiers
$chown -R www-data: usvn
- vérifier le /usvn est accessible sur votre website, et utilisez l'application php pour l'installation.
Eclipse et SVN:
Avec Eclipse Ganymede, un projet Eclipse est né pour intégrer
SVN dans eclipse,
subversive, mais le plugin subclipse fonctionne aussi avec Ganymede.
- installer le plugin subclipse disponible sur Tigris.
Par défaut, une dépendance (buckminster) est nécessaire à l'installation du plugin (et semble poser problème), mais l'installation du plugin peut s'effectuer en décochant l'option "Integrations (Optional)".
- un "new project" puis "checkout projects from SVN", et ça roule tout seul.
Avec Subversive:
- installer le plugin subversive depuis les dépôts Eclipse
http://download.eclipse.org/technology/subversive/0.7/update-site/.
- installer un SVN connector, par exemple celui de Polarion:
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
On y trouve une implémentation de Polarion, SVNKit, et une autre de Tigris, JavaHL.
Cependant, il semble que si vous avez des projets anciennement gérer avec subclipse, le plugin subversive n'arrive pas à reprendre la main dessus...
Je dois me pencher un peu plus sur le système de sauvegarde et de restauration que je peux mettre autour de mon site web perso.
Tout d'abord parce que Serendipity m'a lancé une action automatique ce matin, bien dérangeante, il a recrée le .htaccess à la racine de son répertoire d'installation.
Ce fichier est installé par défaut lors de l'installation de Serendipity, et à moins d'une configuration aux petits oignons de Apache, le mieux est de supprimer ce fichier (sinon le weblog est inaccessible,
Internal error).
J'ai commencé à bidouiller mes fichiers parce que je croyais que cela venait d'une modification sur l'url de base d'accès au weblog, que je venais de faire.
Résultat, le constat est celui-ci, il faut que je mette en place une politique de sauvegarde, de synchronisation des fichiers.
Et aussi, une procédure de déploiement de tout le site web, rapide, sans douleurs...
SQLite:
La DB du weblog.
Il me faut un système d'exploration de la base, sous Linux, je n'ai pas trouvé de système qui fonctionne bien, le mieux pour le moment est encore d'utiliser
SQLite Administrator, qui est une appli windows mais fonctionne très bien avec Wine sous Linux.
Cependant, cette appli ne gère pas l'encodage des caractères apparemment, l'unicode n'est pas compris.
(C'est une application Delphi je pense, en tout cas, elle utilise JVCL Jedi Visual Components Library qui est une library pour Delphi et C++, je suis toujours épaté par la qualité des appli codées en Delphi, comme StarUML).
(Cela me fait penser qu'il peut être possible de lancer StarUML sous Linux, se serait une chouette de bonne idée).
Synchronisation:
- rsync
- unison
- fullsync (appli java)
Après quelques tests:
- DIA: pas pratique pour faire des diagrammes UML, (et pas d'alternative aux liens en zigzag! du moins pas sans bidouillage)
- UMBRELLO: pas pratique non plus, très strict, ne permet pas de bidouiller les schémas ou alors j'ai pas vu l'option...
- BOUML: (ne pas oublier libqt3-compat-headers le paquet de compat avec qt1/qt2 pour avoir qlist.h dans l'installation de QT).
- gaphor: en python, je n'arrive pas à faire fonctionner la dernière version, me demande des fichiers de zope...
- TCM: aussi sexy qu'une affiche de recrutement pour kolkhoze soviétique...
OpenObex est une implémentation libre du protocole Obex, Object Exchange, qui est utilisé dans nombre d'appareil mobile.
http://dev.zuckschwerdt.org/openobex/
http://www.tech-edv.co.at/programmierung/en/gplsw.html#download
http://www.markup.fr/sony_ericsson_v600i_sous_linux
http://ludomatic.com/blog43.html
Il est utilisé par exemple, pour la communication avec le Ericsson v600i.
L'utilisation en ligne de commande est très simple, et un paquet est dispo dans les dépots Ubuntu.
En cherchant un moyen de streamer ma webcam depuis mon soekris, je suis tombé sur gspca, un driver (un module) pour webcam tel que la logitech notebook (et un bon paquet d'autres).
L'auteur de ce driver, a coder tout un tas de petits outils fort sympathique: spcaview, spcaserv etc.
Les auteurs de gspca sont des français: Ecole Centrale d'Electronique ECE, un docteur en électronique de l'université Pierre et Marie Curie (Michel Xhaard), et le professeur d'informatique Sylvie Xhaard.
$spcaserv -w 5000 -d /dev/video0
par exemple permet de streamer la webcam locale, accéssible depuis le v4l video0, sur le port 5000.
$spcaview -w 192.168.0.1:5000
par exemple permet de visualiser la webcam dont le flux est streamé sur la machine 192.168.0.1 sur le port 5000.
C'est assez léger au niveau charge CPU, et puis j'ai été assez bluffer par les sources sans configure, juste un make qui se compilent sans mot dire.
Au premier abord, j'ai essayé de streamer mon flux avec VLC, mais il n'arrive pas a streamer car il n'arrive pas a packetiser le flux brut issu du v4l video0, du coup je fais préalablement un transcodage en mp4v puis streaming, mais sur le soekris c'est suicidaire! la machine n'est pas assez puissante.
En conclusion, j'arrive a streamer ma webcam, mais l'affichage est tout foiré, parasité, c'est pas utilisable, ou alors, il faut trouver une option de configuration de spcaserv pour spécifier l'encodage ou juste la palette, a voir...
(Cependant, sur une autre machine, plus puissante que le soekris, l'image est OK...)
De plus, le flux de sortie n'est pas lisible par VLC, il faut utiliser l'outil fourni $spcaview -w 192.168.0.1:5000
Il y a plusieurs type de fichier en flux de sortie: yux, jpg.
Mais même une sortie jpg, ne s'affiche pas dans une page
HTML.
téléchargement de gspca
http://mxhaard.free.fr/download.html
spcaview & spcatools howto
http://mxhaard.free.fr/sview.html
un rapide tutoriel
http://www.funix.org/fr/linux/webcam.htm
J'ai également tester camserv.
Fichier de configuration /etc/camserv/camserv.cfg, le copier dans $HOME.
Mettre à jour le fichier de config avec les bons fichier v4l, et un numéro de port non déjà assigné.
Cependant, je n'arrive pas a m'en servir avec VLC, j'ai réussi a avoir
une image, c'est tout. bof, bof quoi.
En fait, il semblerait que c'est VLC qui ne lit pas correctement le MPJEG.
$camserv ./camserv.cfg
Cependant, dans une page
HTML, ça fonctionne très bien, une balise

par exemple, et une image (MJPEG ???) rafraîchie toute les secondes est affichée dans la page
HTML.
A noté que localhost ou 127.0.0.1 n'est pas accepté, obligé de mettre l'adresse réseau locale... ne je sais pas pourquoi, c'est peut être à gérer dans le fichier de configuration camserv.cfg...
camserv est dispo dans les dépots debian.
page officielle
http://cserv.sourceforge.net/
J'essaye de faire en sorte de pouvoir ghoster le système de mon soekris net4801 (debian etch), cependant j'ai quelques ennuis.
Je me disais un truc avec partimage, mais avec ce dernier on ne peut cloner un filesystem déjà monter (et on ne peut pas vraiment démonter le /, hahaha).
Du coup, j'ai cherché des alternatives, la première qui me vient à l'esprist c'est d'installer un second debian sur le soekris, destiné à la rescue.
1. Ce qui est assez pratique finalement car pas de chargement d'image en réseau ou de NFS.
Certes, c'est la solution de la facilité, et cela consomme 1GIB pour le système.
2. La seconde alternative, c'est de faire un netboot avec g4u, qui est une application mais aussi un système démarrable depuis des disquettes (ça existe encore ?), ou cd, le tout basé sur netbsd.
J'ai testé en utilisant le tutoriel suivant: http://www.tuxdocs.net/wiki/index.php/G4u_configure_for_pxe_boot
Je pense n'avoir rien oublié (indiquer le fichier de boot dans dhcp.conf, récuperer les fichiers indiqués dans le tuto), mais cela ne fonctionne pas, la séquence de boot sur le soekris s'amorce, puis il se fige.
Du coup, comme je ne trouve pas rapidement de solution, j'ai pas vraiment de temps, je vais installer 2 systèmes sur le soekris (eve et eve-rescue).
Infos sur g4u (ghost 4 unix):
http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/g4u.html
3. Une autre alternative est d'utiliser une clé
USB, installer une TRK dessus, et de booter ma soekris dessus, mais un ghost avec partimage de /, et la coller dans home.
=> Impossible, le net4801 ne boote pas sur l'
USB, le matériel est capable de le faire mais le BIOS ne contient pas le code pour (apparement le code pour booter sur l'
USB est assez lourd...)
edit 06-12: finalement pas de ghost, avec 2 systèmes sur le soekris, dont un qui fait le ghost de l'autre, la création du ghost prend énormément de temps (pour une install standard de debian ~40min pour une image ghost gzippée).
Une solution serait de voir si je peux faire une copie à chaud du système et copier les fichiers à travers scp...
Affaire à suivre!

L'envoie d'un signal HUP demande à un processus père de tuer tous ces fils comme pour le signal TERM, mais contrairement à ce dernier, le processus père ne s'arrête pas.
on redémarre inetd avec un signal HUP.
BOOTP parait bien plus simple à utiliser que DHCP, notamment pour le fichier de configuration de bootp /etc/bootp, qui peut ressembler à ceci:
aldebaran.foo.com:ha=006008C7A3D8:ip=192.168.1.100:bf=/tftpboot/vmlinuz.nb<p/>
Constat à propos de mysql:
C'est horriblement lent sur mon soekris net4801, je pense à tester un SGBD genre msql qui est fait pour les petits systèmes et les embedded, produit par HuguesTechnologies qui a l'air d'avoir du succès et de gros client (hp, general electric ...).
C'est apparemment, une base de donnée très connue, et php intègre de nombreuses fonction pour interroger des bases msql.
UserGuide de msql, voir
http://www.ysa.org.au/man/msql/manual.html
Cependant, wordpress ne fonctionne qu'avec MySQL, voir
http://wordpress.org/support/topic/84520
Un lien intéressant, qui m'aurait fait gagner beaucoup de temps, une comparaison des moteurs de weblogs par requirements:
http://www.blogbasics.com/blog-comparison-1.php
Du coup j'essaye plutôt SQLite, qui est supporté par serendipity, et de plus il y a un projet pour WordPress SQLite, voir
http://hasin.wordpress.com/2006/08/11/wordpress-sqlite-update-one/, de même qu'il y a un projet SPIP pour SQLite.
A propos de Serendipity:
Utiliser le plugin
Simple Cache, pour très nettement augmenter la navigation sur le site: voir
http://spartacus.s9y.org/index.php?mode=bygroups_event_en
Serendipity est apparemment très supporté par une communauté, le nombre de plugins de Seredipity est impressionnant, et de plugins intéressant, pourtant le code de Serendipity est assez particulier, il utilise un système de template qui n'est pas facile de visualiser rapidement.
Liens:
-
Un article sur linuxfocus à propos de etherboot [http://www.linuxfocus.org/Francais/September1998/article63.html]
-
installation de svn sous debian [http://jay.bertrand.free.fr/blog/index.php?/archives/27-Installer-Subversion-sous-Debian.html]
-
redémarrage de la freebox en ligne [http://perso.orange.fr/doumai/Free/FreeBox.htm]
Regarder aussi dans un numéro de linuxmag, je me rappelle d'un circuit de watchdog pour pc je crois... à voir...
-
configuration d'apache pour .htaccess
http://www.glatozen.org/apachehtaccess.php
http://cchatelain.developpez.com/articles/web/apache/htaccess/
L'utilitaire htpasswd en ligne de commande, très pratique pour ajout/retirer un utilisateur en ligne de commande, avec une crontab
http://httpd.apache.org/docs/1.3/programs/htpasswd.html
-
ajouter un user dans un htpasswd
#htpasswd -mb ./htpasswd toto supertoto
-
retirer un user dans un htpasswd
#sed '/^toto:/d' htpasswd > htpasswd.new;mv htpasswd.new htpasswd
Une page d'erreur Apache affiche les mod installés, pourtant mod_python n'est pas indiqué sur mon serveur, exemple:
Apache/2.2.4 (Unix) mod_ssl/2.2.4 OpenSSL/0.9.8e DAV/2 mod_pubcookie/3.2.1 mod_perl/2.0.2 Perl/v5.8.7 Server at x.x.x.x Port 80
-
ssh et la copie de fichier entre machine [http://www.ac-creteil.fr/reseaux/systemes/linux/debian/deb-tp-ssh.html]
-
la gestion des users dans mysql [http://dev.mysql.com/doc/refman/5.0/fr/adding-users.html]
-
Pour un server edonkey, le paquet mldonkey des dépot debian est impec'
$mlnet est un client/server edonkey, plusieurs interfaces existent: web, telnet etc.
Il suffit de lancer le client $mlnet, faire un $telnet localhost 4000 pour configurer le client, et entrer:
>set allowed_ipds "127.0.0.1 192.168.0.11"
>save
>q
Ainsi, une machine peut accéder au client web sur le port 4080.
Le client web est vachement bien écrit (en javascript!), et avec style!
Et puis, ce qui est intéressant aussi, est que mldonkey est muti-network, il comprend bittorent par exemple.
un tutoriel rapide sur mldonkey http://www.debianaddict.org/article61.html
-
Pour un Wiki MoinMoin:
traduction fr du wiki http://wiki.python.org/moin/MoinMoinVF
il pourrait être également intéréssant de faire du SSO. une authentification sur la racine du site => authentification automatique sur le wiki ou le weblog etc...
(règle de gestion de droits aussi).