Le blog d’un libriste qui a la niaque !
Prog
La je cause de prog, enfin un peu. Pis de ruby aussi un peu. Enfin, beaucoup.
Rétrospective 2009 en 12 photos
23/12/09
Janvier
Je commençais la nouvelle année avec le 40D en lieu et place de mon 350D. Et … ça apportait de la motivation !
Février
Où j’ai appris ce qu’étaient les fantasques !
Mars
Courzieu, ses rapaces, ses loups … et ses visiteurs !
Avril
Oui je fais de super autoportraits.
Mai
L’archi devient mon dada, tout comme le jeu graphique dans mes photos.
Juin
Je joue encore et toujours avec les lignes !
Juillet
Du portrait, pendant la fête médiévale de Pérouges
Août
Des photos de vacances, mais avec du bokeh !
Septembre
Des amis qui se sont mariés, plein de souvenirs. C’était bien.
Octobre
Une séance bis pour les photos de mariés des amis dont je parle juste au-dessus, mais surtout … des portraits !
Novembre
Pas de photos puisque … j’ai changé de compte Flickr !
Du tri, du rangement, du nettoyage. De plus de 3400 photos publiques à 330 et quelques. D’un coup ma galerie en jette beaucoup plus. Je me prépare à mettre de la qualité photo dans ma galerie à ce moment là. Mais on va donc mettre une autre photo d’Octobre, hein, tant qu’à faire :
Les amis mariés en question, donc :)
Décembre
Ca y est, j’entame la sélection dure et stricte. Je garde un pourcentage beaucoup plus faible de photos, et j’en envoie sur Flickr encore moins. Mais finalement, grâce à une idée de Thanh, je me lance dans un « Bokeh 365 Project ». Le bokeh c’est le flou de mise au point utilisé de manière artistique. Ce qui fait qu’au final mon compte tout neuf s’est surtout rempli avec ce mois de décembre. La sélection (difficile) de ce mois :
Le type de photo est assez disparate, je ne me suis toujours pas trouvé un style ou un domaine photographique de prédilection. Mais j’espère bien que ça va bientôt venir.
A comparer au best-of 2008.
Un projet intéressant : Markdoc
17/11/09
Découvert via @brunobord, ce projet Markdoc créé par Zachary Voase m’intéresse pour plusieurs raisons :
- C’est du markdown
- Ca n’utilise pas de bdd
- Ca se conserve très bien avec du git ou autre système de contrôle de versions.
- On édite du markdown avec notre éditeur préféré, et c’est tout.
- C’est du python !
Comparé au dokuwiki que j’utilise actuellement, y a plusieurs avantages, donc le fait que c’est du Markdown qui est utilisé pour la syntaxe, et aussi qu’il n’y a qu’à faire un tarball du dossier « static » (où sont stockés les fichiers HTML générés) pour avoir une version offline lisible dans un navigateur du wiki.
De plus, c’est assez geek donc puisque entièrement texte, donc versionnable. Je vais regarder ça de plus près, car si en plus ça sait gérer une arborescence en dossier pour les pages en fonction du classement en dossier dans les sources markdown, je pense que mon dokuwiki va disparaître …
HTML 5, comme le 4 ? Non, carrément mieux !
28/10/09
Plus qu’une évolution, HTML 5 est une véritable refonte de l’HTML.
XHTML abandonné faute d’utilisation (à la base cela devait permettre aux développeurs web d’ajouter leurs propres balises en les déclarant correctement), le W3C a décidé de totalement revoir HTML4.
Depuis quelques temps déjà, les spécifications étaient disponibles, les navigateurs modernes le supportent (excepté un… devinez lequel). Mais qu’est-ce que ça apporte de plus ? Trois mots : concision et sémantique.
Et voici une série d’articles de Mark Pilgrim rédigés comme un livre, qui vous présente, en anglais, HTML 5 et entre autres
une conversion d’HTML4 vers HTML5 et les gains autant en concisions qu’en sémantique !
Si LateX vous dit « Fatal format file error; I’m stymied »
24/08/09
Une seule solution :
fmtutil –all
En gros, le soucis vient de fichiers cache générés par LateX qui sont pas forcément regénérés lors d’une mise à jour de tout ou partie de LateX.
J’ai bloqué 15 minutes sur le problème en pensant que ça venait de mes formats d’image … Pis j’ai googlé l’erreur, quoi…
Le problème Mono.
7/07/09
Comme beaucoup d’utiliseurs de GNU/Linux, mon environnement de bureau est Gnome.
Depuis quelques temps, cependant, quelque chose me chagrine : de plus en plus de petites applications inclues dans Gnome sont codées en Mono, port linux compatible de la plateforme .Net de chez Microsoft. Dans la pratique, cela donne des applis codées plus facilement qu’en C mais qui ajoutent encore des dépendances, et donc du poids, à Gnome.
De plus, on pourrait évoquer le fait que Microsoft peut tout à fait trouver ce port illégal car violant un brevet. Imaginons. Dans 5 ans, beaucoup des petites applis de Gnome qui simplifient la vie sont codées avec Mono. Et là, Microsoft se rendant compte de l’importance de ces outils pour le passage à GNU/Linux, décide de réagir face à la violation de son brevet américain sur .Net. Ce qui se passerait, c’est que tous ces petits outils ne seraient plus installés par défaut sur toutes les distributions, car violant les brevets dans certains pays. Et c’est ça de perdu pour les utilisateurs lambda/débutants …
La question que je me pose donc est la suivante : Pourquoi ces outils ont-ils été codés en Mono ?
Peu importe les raisons, à mon sens, car le problème est le même : si beaucoup d’applications utiles à Gnome sont codées en Mono, que Mono devienne un langage plus utilisé encore qu’aujourd’hui dans Gnome, que deviendra Gnome le jour où Microsoft embêtera tout le monde avec ses brevets ?
Je peux comprendre l’envie de coder facilement, d’avoir un langage pour des applications portables, mais Mono n’est pas la solution optimale si l’on prend en compte les éventuels soucis juridiques à venir. Je n’ai rien contre le fait d’avoir des applications en Mono du moment que des alternatives dans des langages ou des plateformes libres sont le choix par défaut.
Python avec Glade/PyGTK ou QtDesigner/PyQT répond aux mêmes besoins de simplicité de code, de concision du programme, de portabilité, tout en étant libre de toute contrainte juridique. Pourquoi dans ce cas ne pas faire ces applications actuellement codées sur Mono en Python ?
Dans la sphère du libre, beaucoup de gens critiquent la réaction que Richard Stallman a eu face à « l’invasion » Mono dans Gnome, disant qu’il voit le mal partout et qu’il est déconnecté du monde réel. Autant il est effectivement souvent à côté de la plaque, autant sa réaction sur Mono est tout à fait justifiée !
Bref, à mon humbre avis, les applis par défaut de Gnome ne devraient pas être dans des langages dont la liberté au niveau juridique n’est pas certaine.
Edit :
Il se trouve que Microsoft a fait un contrat disant en gros « si vous utilisez bien que ça, ça, ça et ça, pas de poursuites, jamais ». Il semble que les applications en Mono (et Mono lui même) soit couvertes par ce contrat contre tout soucis.
Cela dit, je vais reposer ma question : pourquoi Mono quand Python avec Qt, GTK ou Wx (On ne trolle pas au fond), on fait pareil ?
PHP 5.3 est là, mais je ne l’attendais pas…
30/06/09
En tant que développeur, PHP est le langage que j’utilise le plus.
Au boulot, en dehors, c’est toujours PHP. PHP 5 avait apporté de nombreuses nouvelles choses pour une syntaxe pour la POO plus claire.
Mais maintenant que j’ai pu goûter à Python, à Ruby, des langages vraiment objets, puissants, à la syntaxe moins laxiste, j’ai de plus en plus de mal avec PHP qui, sans framework, reste fonctionnel quand bien même tout est mal codé …
J’en avais déjà parlé, même si j’ai peu de temps pour m’y mettre, python me plait. Je ne le maitrise pas encore aussi bien que PHP, il faut dire que des notions comme les générateurs, les itérateurs, l’introspection … c’est pas facile à prendre en main tout ça. Et malgré toute cette puissance, python reste remarquablement concis, et la version 3 qui casse la compatibilité avec la version 2.x pour des raisons de nettoyage continue dans ce sens.
Python est un langage de plus très adéquat pour apprendre la programmation, complètement objet, qui permet de poser sans difficulté et sans bidouilles du code pour suivre certains design patterns, idéal pour programmer en suivant la programmation orientée par les tests (Test-Driven Development ou TDD), ou encore les méthodes agiles, l’eXtreme Programming (XP), de même que la programmation orientée aspect (POA) et que sais-je encore …
De plus, alors que PHP est limité au Web, Python n’est limité à rien, il tourne même sur de l’embarqué, car la debian en ARM (l’architecture de beaucoup de systèmes embarqués et plus récemments de la plupart des smartphones) contient python dans les dépôts…
Bref, même si je suis heureux de voir le développement de PHP continuer, le langage n’a pas une philosophie globale autre qu’être accessible aux débutants comme aux développeurs chevronnés, ce qui empêche de pouvoir juger sur le court terme du niveau exact d’un nouveau développeur PHP qu’on vient d’engager, on peut avoir de grandes disparités entre différents modules d’une application car plusieurs manières de faire existent pour un même traitement…
J’attends un peu PHP 6, mais j’attends surtout de pouvoir utiliser Python dans un cadre professionnel. Je sais que certains geeks parisiens ont cette chance, j’espère que cela va s’étendre…
Python (entre autres) sur Android !
9/06/09
J’en ai rêvé, google l’a fait.
Ca s’appelle Android Scripting Environment, ça a accès (selon leurs dires) à la plus grosse partie des API pour faire mumuse avec le système, et ça supporte Python, Lua, BeanShell, et en prévision Ruby et Javascript (sisi).
Et tout ça sous Apache Public Licence.
Je plonge là-dedans dès que possible !
Edit : On en parle sur Google Open Source Code Blog !
Le site du W3C se prépare une peau neuve !
7/04/09
Et c’est par là.
Y a aussi une réorganisation du contenu, et c’est pas plus mal, parce que dans l’ancien, parfois, je me perdais un poil.
(via Alsacréations)
Une communauté python accueillante !
16/03/09
Après avoir été guidé dans l’apprentissage par quelques amis (apprentissage qui ne fut pas vraiment long, le plus long sera d’apprendre les petites spécificités et particularités du langage), avoir trouvé des gens sympathiques sur le salon de discussion #afpy sur le serveur irc.freenode.net, me voilà sur le planet de l’afpy !
Donc bonjour à tous ceux qui me liront par ce biais. Je me suis réellement mis à python y a peu de temps, donc ne vous attendez pas à une ribambelle de billets pour l’instant. Mais ça devrait venir un jour, n’ayez crainte.
En tout cas, bien à vous.
Dis papa, comment t’es devenu un monsieur qui a une peluche d’éléphant et une peluche de serpent ?
13/03/09
Et si aujourd’hui en ce vendredi ensoleillé, je vous racontais ma vie et pourquoi/comment je suis devenu développeur avec PHP ? J’ai pas d’enfant, mais un jour, il me posera quand même peut-être cette question, si on suppose qu’entre temps j’ai acheté les peluches des mascottes de mes langages préférés…
Les débuts plutôt basiques …
TI-83. Obtenue en troisième. Je vois qu’on a une partie concernant les programmes et je fais joujou avec des jeux qu’on m’a passé. Je me dis que c’est passionnant. A l’époque je savais pas encore si j’allais partir en informatique ou dans le journalisme, plus tard.
J’ai commencé donc mes premiers petits programmes en basic, le premier assez abouti était un morpion ! On est en 1999. Je suis content de moi, mais ça me semble un poil compliqué sur certains aspects, mais j’aime bien me creuser la tête, je poursuis, et je continue en commencant HTML chez moi dès la fin de l’année de première (Donc été 2001, le moment où j’ai eu mon premier pc sous windows ME !).
C Compliqué la programmation !
Bon en fait non, c’est juste une manière de penser, mais quand vous arrivez en BTS Info, que vous n’avez programmé que sur votre calculatrice en Basic, et fait un peu d’HTML (pas propre du tout), coder en C sous linux sur un terminal X avec emacs, c’est quand même assez sec !
Donc, en 2002, je découvre le C, et surtout linux. Mandrake 7.2 sur les postes de l’école. Avec le windows ME, j’envisage de tester ça à côté, parce que ça a l’air bizarre et que je suis curieux. Fin de la première année de BTS, je suis en dual-boot windows/debian.
La deuxième année de BTS, on enchaine sur le C++. J’adore comment c’est pensé, même si je trouve ça bien compliqué pour pas grand chose (les pointeurs … notion qui compris à un moment, se disperse dans votre cerveau après quelques années de non-utilisation…).
Été 2004, fin de la deuxième année de BTS, j’ai fait du C et du C++, sous windows et linux à chaque fois. Je me rends compte que linux a l’air d’être vachement mieux doté en outil gratuits de développement, et je suis sous la noname, qui va bientot (je ne le sais pas encore à l’époque) devenir ubuntu. Et j’abandonne windows à ce moment là. Cet été ça fera donc 5 ans sans windows.
PHP, l’éléphant permissif…
Y a de ça 5 ans, je débutais en PHP en même temps que je faisais du C++. Une debian avec apache, mysql et php à la maison, c’est cool. J’ai bien appris, puis j’ai continué pendant l’année de licence pro, en même temps que j’ai découvert Java. Java, langage qui me plait malgré la lourdeur des programmes produits, car plus haut niveau. Le web m’intéresse déjà beaucoup (je me suis mis aux CSS à cette époque), et PHP5 devient mon langage préféré à l’époque.
Alors que je trouvais C et C++ trop bas niveau, et Java trop lourd, PHP me convenait très très bien pour le web. Un poil trop permissif, mais du coup très très souple…
S’ensuit l’été 2005, où je commence à contribuer à la traduction d’ubuntu en français, et où je participe à l’aide sur un salon de discussion francophone (#ubuntu-fr :p). Je fais aussi du PHP5. Puis vint la soutenance de stage en septembre 2005 … Et là, le diplôme obtenu, coucou le chômage…
Jusqu’en avril 2006, où je suis embauché dans une petite boîte bossant sur un intranet pour avocats, où je me retrouve vite seul, l’autre développeur partant pour créer sa propre société. J’ai appris et peaufiné beaucoup et donc, en avril, cela fera trois ans que je vis de mes développements PHP.
Ruby, une vraie perle (et pas perl)
Courant 2006, pas longtemps après avoir commencé à travailler, j’entends parler de Ruby. Pas de RoR comme plein d’autres. Non, Ruby, qui avec quelques outils permet de vite faire des petites applications graphiques. Je commence à penser à faire autre chose que du web, me mettre à acquérir beaucoup de connaissances sur le développement d’applications desktop sous Linux. Mais pris par le travail, et finalement pas trop motivé pour faire des applications desktop, ainsi que ma pratique du jeu de rôle s’intensifiant en même temps, je finis par laisser Ruby de côté fin 2007 après un peu plus d’un an où j’ai fait joujou avec Glade, Sqlite, RoR, etc …
J’adore dans Ruby sa syntaxe, sa manière d’être pensé et de fonctionner. Mais les performances de RoR me semblent peu intéressantes, et les librairies sont finalement peu nombreuses comparé à un langage équivalent que je rejette pour l’instant à cause de sa syntaxe que j’aime pas du tout alors : Python.
Et ce fut la morsure…
Un an passe, un peu plus, Ruby laissé de côté, pas de réadhésion à RubyFrance, je me recentre sur PHP et sur les différents frameworks… Et puis à plusieurs reprises, on me reconseille d’essayer Python. J’étais vraiment effrayé par cette syntaxe où seule l’indentation délimite les blocs. Pas d’accolade fermante, pas de end, rien.
Et pis y a peu, genre 2 semaines, motivé pour vraiment découvrir, je me lance.
Comment dire ? Python est un langage concis, efficace, et lisible, et lorsqu’on s’habitue à sa syntaxe (pas de ; comme en Ruby, mais aussi pas de marqueur de bloc autre que l’indentation), on se demande pourquoi les autres langages ont des syntaxes si compliquées…
Je ne connais pas encore bien tout, mais avec les nombreuses librairies, le nombre d’utilisateurs plus grand, et donc l’aide plus facile à trouver, la documentation plus importante, le fait que beaucoup de petites choses sous linux sont codées en python, tout ça me motive. Pire, je vois souvent des gens qui en font, qui peuvent me conseiller, je deviens accroc à plein de petites spécificités du langage…
Au final, sur tous les langages sur lesquels je suis passé, 3 retiennent mon attention :
- C++ : Pour sa puissance, sa rapidité. Les programmes C++ sont souvent les plus rapides.
- PHP : Pour le web, c’est le plus répandu. Il permet un peu de faire n’importe quoi, et sans framework on peut vraiment arriver à des scripts loufoques, mais heureusement, les frameworks PHP sont vraiment bien fait.
- Python : très légèrement plus performant que Ruby, les applications sont un poil plus réactives que les mêmes en Ruby (je pense à une application GTK qui lance des dés que j’ai faite dans les deux langages).
A terme, il me semble évident d’abandonner PHP car même si PHP6 comble beaucoup des manques de PHP5, les hébergeurs n’y passeront pas avant longtemps… et quitte à utiliser un langage qui soit peu répandu, je préfère désormais utiliser python plutôt que PHP, qui avait comme avantage d’être installé quasiment sur tous les hébergeurs mutualisés…
La (triste mais vraie) conclusion
Même si au boulot je risque de rester encore pas mal de temps sous PHP5 je sais qu’à titre personnel j’ai de plus en plus de mal à me dire de démarrer un nouveau projet dans ce langage, surtout depuis que je connais python, car c’est vraiment le langage qui correspond à ce que je cherchais, parce qu’il est pas complexe, qu’il permet des choses vraiment puissantes, et les programmes codés avec ont une réactivité et des performances appréciables. De plus, il y a nombre de modules supplémentaires et de tutoriaux/documentations en ligne .
Bref, même si je ne le maitrise pas du tout encore autant que PHP5, je ne désespère pas. Ce langage me plait, et une fois que je le connaitrai je passerai plus à autre chose …













Commentaires récents