The 2006-02-09 at 11:45 by Loïc d'Anterroches filed under News.
Aujourd’hui je viens de découvrir IPython, ou plutôt, je viens de faire le pas de l’installer et de faire sa configuration minimale pour une utilisation avec mon éditeur préféré. Pour être simple, c’est assez incroyable. Je l’utilise conjointement avec emacs et je ne pense pas revenir en arrière pour le développement. IPython permet d’avoir un shell et python avec autocompletion, de jolies couleurs, une intégration du débugueur, etc. Vous n’avez plus besoin d’avoir un shell ouvert à côté pour faire des manipulations de fichiers, quand une exception survient vous avez le droit à la pile d’exécution et emacs est positionné sur la ligne incriminée.
Cela vaut la peine de l’essayer, le package s’appelle tout simplement ipython dans debian ou ubunutu.
The 2006-02-07 at 10:00 by Loïc d'Anterroches filed under News.
Si vous utilisez Gnome, vous avez peut-être rencontré le besoin d’avoir certaines variables d’environment définies pour vos applications, et pas seulement pour les commandes utilisées dans le shell. La solution est de créer un fichier .gnomerc dans votre répertoire HOME avec par exemple :
export MA_VARIABLE="Contenu de ma variable"
Vous pouvez aussi faire un include de votre .bashrc. C’est bien pratique pour avoir votre PYTHONPATH directement dans emacs sans devoir lancer emacs depuis le shell.
The 2006-02-06 at 19:37 by Loïc d'Anterroches filed under News.
Depuis maintenant 5 ans, je fais évoluer le CMS Plume. C’est sympa, mais cela prend du temps, temps que je n’ai plus vraiment, surtout qu’à ce jour, ce CMS remplit tous mes besoins. Je me pose donc très sérieusement la question de laisser filer ce projet et par la magie du libre, le donner à quelqu’un qui pourra en prendre bien soin. Je vais aller jusqu’à la prochaine version stable mais ensuite j’ai d’autres projets plus intéressants pour moi.
Il faut aussi dire que je me sens limité par le langage, PHP est un langage agréable, mais avec lequel je me sens bloqué. Et oui, une fois qu’on a goûté à la puissance de Python, c’est très difficile de s’en passer.
Si vous aimez coder en PHP, si vous aimez le travail propre, si vous connaissez la programmation orientée objet, si vous aimez les gens, si vous aimez les technos web, alors merci de me contacter sur diaeresis chez gmail.com, c’est avec plaisir que je vous montrerai la maison.
Et si vous vous posez la question de ce à quoi je pense pour mes autres projets, c’est un mélange de thermodynamique, base de données, modélisation et autres petites joyeusetés.
The 2006-01-30 at 16:53 by Loïc d'Anterroches filed under News.
Aujourd’hui, j’ai reçu de nouveaux jouets. Un clavier usb ultra-nav et un replicateur de ports pour mon portable. Le clavier est bon, mais pas exactement la même qualité que le clavier du portable. Par contre, la distance gagnée entre moi et l’écran améliore vraiment les conditions de travail. Comme à son habitude, le support est immédiat dans Ubuntu Linux, pas besoin de charger de drivers, du vrai plug and play.
Je n’ai pas encore testé la possibilité de connecter un écran via le port DVI, j’ai un Samsung 19" qui prend la poussière à la maison, je ferai cela en rentrant, cela veut dire dans un mois environ… car l’autre nouvelle est que je travaille maintenant pour Atomistix. Je vais donc rester quelques semaines au Danemark avant de revenir travailler depuis l’Allemagne.
The 2006-01-19 at 10:44 by Loïc d'Anterroches filed under News.
SWIG permet d’encapsuler du code écrit en C/C++ pour le rendre accessible depuis de nombreux autres langages dynamiques comme Python. On récupère souvent des listes de chaînes de caractères en python. Voici une petite recette pour faire tout cela, sachant que dans votre fonction en C++ vous avez un CStringArray.
Tout d’abord, il vous faut dans votre fichier d’interface de SWIG (ici SWIG 1.3) déclarer un nouveau typemap:
%typemap(python, out) char ** {
int len,i;
len = 0;
while ($1[len]) len++;
$result = PyList_New(len);
for (i = 0; i < len; i++) {
PyList_SetItem($result,i,PyString_FromString($1[i]));
}
}
Ce typemap s’applique à toutes les fonctions retournant un type char**. Ensuite voici un example de fonction C++ que vous pourriez avoir dans votre code:
char** Test::charListOut()
{
static char *test[15000];
CStringArray MyData;
... Ici vous mettez vos données dans le tableau MyData ...
CString* tmp = MyData.GetData();
int nrec = MyData.GetSize();
for (int i=0; i<nrec; i++) {
test[i] = tmp[i].GetBuffer(512);
}
return &test[0];
}
Comme vous pouvez rapidement constater, la longueur maximale de la liste sera de 15000 éléments. À vous d’ajuster, voir de faire une déclaration dynamique.
Ensuite dans votre code python, si votre module s’appelle test et contient la class Test qui vient d’être encapsulée:
from test import Test a = Test() b = a.charListOut() print b
Et voilà ! Tout simple quand on a la solution. N’étant pas un codeur en C/C++ de qualité, j’ai pris pas mal de temps pour trouver la solution permettant de transférer le CStringArray dans mon char **. J’espère que cela pourra aider d’autres…
The 2006-01-12 at 08:33 by Loïc d'Anterroches filed under News.
Vraiment toujours surpris par Ubuntu Linux. Dans ma version Hoary, mon graveur de DVD externe ne fonctionnait pas directement. Dans la nouvelle version, Ubuntu Breezy, cela fonctionne directement out of the box, pas de configuration nécessaire. Je vais commencer à être exigeant avec Windows maintenant, surtout quand tout marche sous Linux, sans toucher au moindre fichier de configuration, sans devoir installer/télécharger des drivers à n’en plus finir. En dehors de la disponibilité de certaines applications, particulièrement au niveau accessibilité pour les aveugles, MS Windows n’a plus beaucoup d’intérêt.
Sinon, je me demande comment font les gens qui ont une famille pour avoir le temps de coder.
The 2006-01-11 at 21:29 by Loïc d'Anterroches filed under News.
Et oui, cela faisait longtemps, bien longtemps que vous attendiez une nouvelle version de Plume CMS, voici donc une nouvelle version de test. Cette version est une version non encore totalement francisée, mais avec l’aide de nombreux contributeurs cela va vite être fait.
Sinon on peut trouver le support de PHP4 et PHP5, MySQL 3 et MySQL 4, les commentaires pour les ressources, une gallerie d’images via le code wiki, un système de hook pour faire des plugins performant, etc…. Un gros travail a été fait sur le coeur, si vous regardez le code, vous trouverez un code très propre et extrêmement documenté.
The 2006-01-09 at 16:33 by Loïc d'Anterroches filed under News.
Veuillez me pardonner, mais avec la nouvelle année le site bouge. Bon, le design ne va pas changer, mais le moteur en dessous, oui il change. Donc si d’un seul coup rien ne va plus, ne vous inquiétez pas, c’est normal !
Pour les détails techniques, je change d’hébergement et je passe à la version de développement de Plume CMS.
The 2006-01-04 at 08:51 by Loïc d'Anterroches filed under News.
Et voilà, encore une année au compteur, on repart pour un petit tour autour du Soleil. Profitez bien de toutes les faces du Soleil, d’une face de la Lune et de la richesse de vos rencontres au fil de l’année à venir.
The 2005-12-22 at 12:22 by Loïc d'Anterroches filed under News.
Si vous n’avez pas encore contacté votre député à propos de la loi dite DADVSI, faites un tour sur EUCD.INFO et lisez le dossier spécial de Libération À Noël, on verrouille l’Internet. C’est Noël, faites un cadeau à vos enfants, agissez !
The 2005-12-19 at 14:26 by Loïc d'Anterroches filed under News.
avec 130 km/h de vent dans une tempête de neige n’est pas une bonne idée. On avance bien, mais pas forcément dans la bonne direction, d’ailleurs on avance même en n’étant plus sur le vélo.
The 2005-12-14 at 12:15 by Loïc d'Anterroches filed under News.
Depuis un certain temps déjà, les pages portfolio du site du journal Le Monde m’ennuient. Pourquoi ? Parceque je suis sous Linux et je n’ai pas la police de caractère Arial d’installée. Le résultat est que je peux voir les photos, mais je n’ai pas accès aux descriptions. Si vous regarder le source de la page, Le Monde utilise une applet flash qui va chercher les informations à afficher dans un fichier XML. Simple et efficace, mais en flash…
La bonne nouvelle est que Firefox est une petite merveille pour les développeurs par ses possibilités d’extensions. Aujourd’hui je vous propose d’installer Greasemonkey une extension qui permet de modifier dynamiquement des pages webs. Après son installation, vous pouvez installer le script Le Monde Portfolio, qui permet de remplacer l’applet en flash par la liste des images, comme vous pouvez le voir sur l’image suivante.
Télécharger le script Le Monde Portfolio pour Greasemonkey. Le script est disponible sous la licence GNU GPL.
The 2005-12-11 at 14:46 by Loïc d'Anterroches filed under News.
Depuis quelques jours, je joue avec Django. Django est un framework pour le développement d’applications web. J’aime beaucoup le langage Python, c’est donc avec plaisir que je teste ce qui se fait avec ce langage. Cela me donne quelques idées sympa pour Plume CMS, même si PHP n’est pas Python.
Entre autres choses, je suis maintenant docteur, marié et mon travail de consultant se porte bien, puisque je suis déjà occupé à 100% d’ici à fin août. La cerise sur le gâteau est que je peux travailler depuis l’endroit qui me plaît sur cette vaste planète. Pour le moment, je suis en Allemagne, au début de l’année prochaine je serai de retour au Danemark, ensuite je devrais alors tester le sud de la France, histoire de pouvoir revoler.
The 2005-12-02 at 09:05 by Loïc d'Anterroches filed under News.
Comment dire… tout marche. Même pas besoin de bidouiller quoique cela soit. La seule bidouille est si vous voulez installer les drivers propriétaires. J’ai publié les résultat de mes tests du T41p sur le Wiki d’Ubuntu. Contrairement à Hoary, j’ai refait une installation complète en gardant juste mon /home. Ce n’est pas impossible de faire une mise à jour en changeant juste les sources, c’est juste que j’avais pas mal bidouillé depuis Warty et je voulais revenir sur une configuration propre.
Comme toujours, je conseille vraiment cette distribution Linux.
The 2005-10-29 at 13:32 by Loïc d'Anterroches filed under News.
Après 45 minutes de présentation, plus de 2 heures de questions sans pause. Des questions d’un niveau exceptionnel. Un plaisir de pouvoir répondre, une fatigue incroyable à la fin. Vous pouvez m’appeler Docteur. Mon éducation est terminée, et j’ai encore tout à apprendre, chouette !
The 2005-10-23 at 13:31 by Loïc d'Anterroches filed under News.
Aujourd’hui, je mets à jour Windows XP sur mon portable. J’ai une petite bulle qui met dit que la dernière fois que j’ai cliqué sur une icône de mon bureau remonte à fin 2004. Ma partition Windows prend la poussière… avec Ubuntu Linux en dual-boot, c’est facile à comprendre. J’ai découvert que sans demander mon avis, le système à installé 2 paquets alors que la procédure d’installation ne me donnait comme information que 1 paquet. Il devait y avoir une petite note écrite en tout petit. Toujours est-il que Microsoft vient de contrôler si ma version de Windows est une version pirate ou non via leur système Genuine Advantage. Impression de ne pas contrôler son propre système, comme si votre voiture décidait toute seule quand aller voir votre garagiste.
Vivement que je puisse utiliser un deuxième écran sous Linux avec ce portable, cela m’évitera de devoir utiliser Windows pour faire des présentations. Des personnes ont réussi à utiliser un écran externe avec un IBM T41p et il semble aussi une docking station. Cela devrait m’occuper pour l’hiver…
The 2005-10-22 at 14:01 by Loïc d'Anterroches filed under News.
Les standards avancent doucement mais sûrement, c’est certain. Ma dernière découverte, en cherchant un opérateur de qualité pour ma future installation en Allemagne, m’a fait découvrir ces spécifications pour accéder à la facturation en ligne :
Browser Voraussetzungen
L’emphase est de moi, c’est de l’Allemand mais cela se comprend bien. Oui, le groupe Arcor demande un navigateur supportant le DOM pour accéder au site de la facturation en ligne. Cela me fait sourire, car si effectivement c’est clair pour moi et cela me fait plaisir (ma banque au Danemark me demande un ActiveX et Internet Explorer, grrr…) je me demande bien ce que va comprendre un utilisateur lambda. Qui connait le DOM ?
Sinon, une offre plutôt sympa pour quelqu’un ayant ses connaissances dispersées majoritairement en Europe. J’ai toujours du mal à me faire aux connexions VoIP qui ont une fâcheuse tendance à couper ou avoir un son de très mauvaise qualité juste au moment où quelque chose d’important est dit.
The 2005-09-21 at 18:27 by Loïc d'Anterroches filed under News.
Sous la belle image de la sécurité (cela vend bien en ce moment), Google vous propose de contrôler l’intégralité de vos communications sur Internet. Qui a dit Big Brother is watching you ?
The 2005-08-22 at 21:16 by Loïc d'Anterroches filed under News.
Si vous avez l’édition du dimanche du très sérieux Frankfurter Allgemeine Zeitung vous avez pu lire avec plaisir, selon une source sûre, un bel article sur Mozilla Firefox. Ils parlent même de l’extension ScrapBook. Vous pouvez le lire en ligne mais en accès payant.
Le FAZ fait régulièrement des articles du qualité sur le logiciel libre en général. Ils ont manifestement un groupe de journalistes qui savent de quoi ils parlent. Ils arrivent même à discuter des subtilités entre le mouvement Open Source et le mouvement GNU, le tout sans lancer des monstres poilus… Je vous recommande particulièrement l’édition du dimanche.
The 2005-07-19 at 14:42 by Loïc d'Anterroches filed under News.
J’aime Python. Un langage très agréable à lire et écrire avec une disponibilité de nombreux modules. Python pourrait être utilisé presque partout, mais il lui manquait quelque chose pour entrer dans l’arène du web.
Python est un langage interprété comme Perl et PHP, mais contrairement à PHP et à l’instar de Perl, s’il est utilisé avec le serveur web Apache, il utilise le mode CGI. En pratique cela veut dire que l’interpréteur Python est chargé en mémoire, puis le script à exécuté est chargé à son tour puis exécuté et le résultat est envoyé au client et cela à chaque requête. PHP peut lui facilement tourner comme module d’Apache, cela veut dire que l’interpréteur PHP n’est pas chargé à chaque requête.
Une solution à ce problème est mod_python, un module d’Apache qui se charge de garde Python en mémoire entre les requêtes. Il n’a pas la stabilité de mod_perl, mais fonctionne plutôt bien.
Un autre point qui pèse contre l’utilisation de Python est le fait que on ne peut pas mélanger du Python et de l’HTML comme cela est possible avec PHP. La possibilité de mélange PHP et HTML offre une grande souplesse. Pour Python il faut donc trouver le bon système de gabarits pour faire cela.
Le dernier point est peut-être le fait que Python n’est pas beaucoup supporté par les hébergeurs alors que tous les hébergeurs proposent le couple PHP et MySQL.
Par contre, le langage Ruby, montre avec Ruby on Rails qu’indépendement de tous ces problèmes, une infrastructure de qualité permet de doper l’utilisation d’un langage pour le web.
Dites bonjour à Django, Django, c’est Ruby on Rails pour Python avec toutes les bibliothèques Python pour vous. Django c’est aussi une infrastructure (framework) testée sur de nombreux sites. Django, c’est l’entrée de Python pour tout le monde sur le web. Et bien entendu, cela fonctionne avec Apache et mod_python, Postgresql ou MySQL.
Plus je lis les descriptions, et surtout la rapidité de développement avec Django, plus je me dis que mes projets vont bientôt utiliser cette brique. En effet ce sont des projets qui dépendent beaucoup de Python.