Flux RSS

lundi 28 novembre 2005

Freebox en mode routeur

Hier soir, pour préparer mon passage en WiFi, j'ai passé la FreeBox en mode routeur. Re-merci à Royale qui a vérifié depuis chez lui que mon serveur Web était toujours accessible, et qui a aussi lancé un petit scanner de ports (nmap pour les intimes) pour vérifier que tout allait bien :-)

Maintenant, il faut que je trouve un Access Point sympa qui sache faire le bridging Wifi<->Ethernet. Si vous avez des suggestions...

mardi 22 novembre 2005

RSync

Ne jamais jamais jamais jamais utiliser rsync pour sauver son home, parce que par défaut, ça ne sauve pas les répertoires cachés. J'ai perdu mes mails, comme ça. Mais pourquoi je n'ai pas fait de xfsdump comme sur mon serveur, hein ? Pourquoi ?

lundi 21 novembre 2005

SlickJab

Ce WE, j'ai terminé (enfin, ça marche, il ne me reste plus qu'à commenter le code et passer un coup de Valgrind dessus) SlickJab, une librairie en Qt4 qui permet de se connecter à un serveur Jabber, puis d'émettre et de recevoir des messages en utilisant les signaux et slots de Qt4, c'est la classe. Ça donne quelque chose du genre:

...
JabberClient lCli = new JabberClient (<user>, <password>, <server>, <resource>, <QObject parent>);
connect (lCli, SIGNAL(authOk()), this, SLOT(...));
connect (lCli, SIGNAL(authFailed(int pCode, const QString &pMessage)), this, SLOT(...));
connect (lCli, SIGNAL(disconnected()), this, SLOT(...));
connect (lCli, SIGNAL(messageReceived(const QString &pId,const QString &pType, QDomNode pContent)), this, SLOT(handleMessage(...)));
...
lCli->sendRawMessage (<recipient>, <raw type>, <raw data>)....
lCli->sendXmlMessage (<recipient>, <raw type>, <DOM node>)....
...

J'ai testé, ça marche du tonnerre, entre deux programmes utilisant ma librairie, et entre un programme utilisant ma librairie et un client de messagerie instantannée. Je vais donc pouvoir faire du RPC totalement asynchrone en mode connecté, j'ai enfin mon framework de communication, à la fois simple, fonctionnel et fiable. Je dis enfin, car des frameworks, j'en ai testé un sacré paquet, de Corba à Ice, en passant par SOAP sur Http, XML/RPC, etc etc...En parlant SOAP, d'ailleur, je me demande si je n'intègre pas dans mon framework SOAP Over XMPP Jabber Enhancement Proposal 0072, ce ne serait pour moi qu'une modif de mes outils de génération de code (toutes les interfaces de RPC sont définies dans un document XML, et des feuilles XSLT permettent la génération de toute la glue de communication, sans toucher à l'implémentation!)

Cette librairie, je la sortirai sous licence GPL, quand je voudrais donner un petit coup de pouce publicitaire aux produits de ma future boite.

mardi 15 novembre 2005

Construire des interfaces utilisateurs

L'interface utilisateur est un élément crucial, c'est elle qui fait que l'utilisateur adhère ou pas à un produit. Je m'intéresse actuellement au sujet, car je serais bientôt confronté à ce problème, dans ma future entreprise. J'ai trouvé deux liens très intéressants:

Apple Human Interface Guidelines

User Interface Design for Programmers

Il faut aussi que j'étudie ce que fait le concurrence, ça peut aider.

Dés que j'ai le nom de ma future entreprise (je brainstrome toujours dessus), je vais réserver les noms de domaine et créer un blog dédié à mon aventure professionnelle.

lundi 7 novembre 2005

Les greylists avec Postfix

Les greylists, pour combattre le SPAM, c'est super! J'adore le concept, la mise en place avec Postfix, le résultat.

Mais késako, une greylist ?

Greylists are pure gold when it comes to rejecting junk email. Whenever a client attempts to send mail to a particular recipient, the greylist server will attempt to find that client’s address and the recipient’s address in its database. If there is no such entry then one will be created, and Postfix will use a standard SMTP error message to tell the client that the recipient’s mailbox is temporarily unavailable and to try again later. It will then continue to reject similar attempts until the timestamp is of a certain age (mine is set to five minutes). The theory behind this is that almost no special-purpose spam sending software will actually attempt to re-send the message, but almost every legitimate mail server in existence will gladly comply and send the queued message a short time later. This simple addition cut my incoming junk email load by over 99% at the small cost of having to wait an extra five minutes to receive email for the first time from a new contact. It has worked flawlessly with the many mailing lists that my clients and I subscribe to and has not caused any collateral problems that I am aware of. If you take nothing else from this article, let it be that greylisting is a Good Thing and your customers will love you for using it.

Extrait de l'article Filtering spam with Postfix, un must-read pour tout bon Geek utilisant Postfix.

La mise en place sur une Mandriva LE 2005:
Installer postgrey: urpmi postgrey
Lancer Postgrey: /etc/init.d/postgrey start
S'assurer que Postgrey se lancera si reboot: chkconfig --add postgrey
Edition de /etc/postfix/main.cf pour rajouter:

smtpd_recipient_restrictions =
reject_unauth_pipelining,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_rbl_client relays.ordb.org,
reject_rbl_client list.dsbl.org,
reject_rbl_client sbl-xbl.spamhaus.org,
check_policy_service unix:extern/postgrey/socket,
permit

(notez aussi au passage l'utilisation des blacklists).
Redémarrer Postfix: /etc/init.d/postfix restart
Et voila!