Lyx, thème complet sur GitHub

jeudi 9 janvier 2014 :: perrick :: Projets Open Source :: aucun commentaire :: aucun trackback

Puisque certains ont demandé les sources Lyx de la thèse de Peggy, je viens de les mettre sur GitHub : thesavelyx. A consommer sans modération... Et si ça sert de cadeau de Noël en retard pour certains, tant mieux ! Bonne et libre année 2014 à tous.

Lyx, retour d'expérience d'une thèse en philosophie

mercredi 18 décembre 2013 :: perrick :: Projets Open Source :: 3 commentaires :: aucun trackback

Peggy vient de déposer à l'imprimeur sa thèse de philosophie, fruit de 5 années de travail. Dès le début, je lui avais conseillé de prendre Lyx, un processeur documentaire qui encourage une écriture fondée sur la « structure » de vos documents (WYSIWYM) et pas simplement sur leur affichage (WYSIWYG).

Au final, j'ajouterai de nouvelles conditions dans le choix de prendre Lyx (au lieu de OpenOffice) pour écrire sa thèse en sciences humaines : soit vous avez un informaticien à demeure, soit c'est votre deuxième thèse avec Lyx. A moins bien sûr que votre faculté propose son propre thème Lyx...

Pour les plus téméraires, voici quand même quelques liens qui m'ont beaucoup aidé et quelques trucs que j'ai découvert au passage.

  1. Pour travailler à plusieurs, les sous-documents Lyx sont géniaux.
  2. Pour gérer le contenu de la bibliographie, Zotero, c'est top; surtout avec la synchronisation entre plusieurs ordinateurs.
  3. Pour intégrer un texte de présentation de la bibliographie, j'ai fait appel à deux hacks : le premier fut d'ajouter une variable Latex dans l'environnement {thebibliography} (grâce à cette question : Text before references, but after bibliography title with BibTeX). Et pour gérer les accents sans me prendre la tête de l'encodage, j'ai surchargé cette variable dans le Préambule Latex avec renewcommand{\myprenote}{Cette bibliographie sélective réunit les ouvrages cités dans ce travail ou consultés pour sa préparation.}.
  4. Pour supprimer les références (numéro) de chaque livre dans la bibliographie, je suis passé par cette question Replace or remove bibliography numbers.
  5. Pour forcer l'initialisation des numéros des notes de bas de page, j'ai trouvé cette commande \setcounter{footnote}{0} à mettre dans un Code Latex aux bons endroits.
  6. Pour afficher les références bibliographiques dans l'ordre que je voulais (Nom Prénom Particule, i.e. Romilly Jacqueline de), je me suis basé sur DIY Your BibTeX Style File et beaucoup de tâtonnements.
  7. Pour gérer finement les titres de chaque chapitre, j'ai bataillé ferme : le titre de chaque chapitre s'affiche en fait 3 fois avec des contraintes différentes. Au début de chapitre, il faut pouvoir maîtriser précisement les retours à la ligne : l'insertion d'un passage à la ligne fer à gauche est la solution. Sauf que dans la table des matières, il faut supprimer ces retours à la ligne : l'utilisation d'un Titre court résoud le problème. Sauf que l'entête de chaque page successive, il faut mettre un titre plus court : l'insertion d'une commande Latex \chaptermark{Titre plus court pour l'entête} fontionne, merci Fancy Heading too long pour l'astuce.
  8. Pour changer le titre de la bibliographie (mettre Références bibliographiques par exemple), j'ai trouvé une réponse grâce à ce fil de discussion References instead of Bibliography.
  9. Pour avoir une couverture au cordeau, j'ai préféré importer un fichier PDF directement en utilisant les typographies classiques Latex.
  10. Pour forcer l'utilisation de la typographie Serif, j'ai utilisé la commande \addtokomafont{disposition}{\rmfamily} dans les classes de document (fichier *.cls).
  11. Pour ajuster la citation de début de chapitre (justifié, marge de 50% à gauche, pas de ligne en dessous, auteur précédé une long tiret), je suis arrivé au code ci-dessous :
    
    \newcommand{\justified}{%
      \rightskip\z@skip%
      \leftskip\z@skip}
    
    \setkomafont{dictumtext}{\flushleft\itshape\small}
    \setkomafont{dictumauthor}{\normalfont}
    \renewcommand*\dictumwidth{.75\textwidth}
    \renewcommand*\dictumauthorformat[1]{--- #1\bigskip\bigskip\bigskip\bigskip}
    \renewcommand*\raggeddictumtext{\justified}
    \renewcommand*\dictumrule{}
    
    

Je suis aussi largement redevable à Phil Ewels et à Matthieu Perreira da Silva pour leurs sources, templates et autres retours d'expérience.

Et si jamais l'expérience devait se renouveller, je forcerais l'utilisation d'un outil de gestion de de code source (Git ou SVN, peu importe) car si Lyx n'est pas un vrai fichier texte, la bibliographie (bibtex), les templates (bst, cls, et layout) en sont bien. Et les derniers jours, les sauvegardes se sont multipliées sur ordinateur, sur disque dur externe, sur clef USB, par email, etc. avec son lot de stress à chaque échange de fichiers.

PS : au final la thèse est très jolie. Pour le fond, elle attend la soutenance courant février 2014.

Lolix, le retour

lundi 16 décembre 2013 :: perrick :: Projets Open Source :: aucun commentaire :: aucun trackback

En attendant la v2 de Lolix (qui a atteint un premier pallier de financement sur Ulule en moins de 24h), la v1 est revenu en ligne.

J'en ai donc profiter pour y mettre nos deux offres de stage... Celle pour Opentime et celle pour Lozeil. J'ai découvert aussi le pourquoi des rustines et de la v2 (par exemple, les textes ne sont pas complets ;-).

N'empêche, c'est bien de voir un projet comme celui renaître par la mobilisation de ses utilisateurs.

Les apéros PHP de retour à Lille

jeudi 12 décembre 2013 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Cela faisait bien longtemps - depuis avril 2013 - qu'on avait pas vu un apéro PHP à Lille. Grâce à Olivier, c'est réparé : le prochain aura lieu lundi 16 décembre 2013 au Café du Bois, 34 Rue de la Baignerie. Et pour faire bonne figure, il y aura même une mini-conférence par Patrick Allaert.

Et comme les bonnes nouvelles n'arrivent pas seules, l'apéro de janvier 2014 est lui aussi dans le pipe... Comme quoi ;-)

Deux offres de stage chez No Parking

mercredi 11 décembre 2013 :: perrick :: No Parking :: un commentaire :: aucun trackback

C'est la saison des stages qui se profile pour 2014 : chez No Parking, nous avons deux offres en cours. Une pour Lozeil (nouveau produit, pleins d'API à intégrer et un lancement commercial à préparer).

Et une autre pour Opentime (avec comme mots d'ordre, l'export et l'internationalisation, les frites et la samba).

Comme d'habitude, c'est pour faire et apprendre le PHP avec les bonnes méthodes (tests unitaires, intégration continue, déploiement automatique), c'est basé à Euratechnologies / Lille et il y a un voyage à Lyon (pour le PHP Tour) en bonus. Bien sûr le hashtag #onpk dans votre candidature sera du plus bel effet (ça fait grimper tout en haut de la pile ;-).

Au passage j'invite les lecteurs réguliers (et donc en CDI depuis longtemps) à aller faire un tour sur le projet de financement coopératif pour Lolix v2. J'y ai déjà contribué : normal, le service était stable et la plupart de mes meilleurs candidats sont passés par là ; à commencer par la prochaine recrue en CDI qui revient chez nous début janvier.

Petit Euler deviendra grand

mercredi 30 octobre 2013 :: perrick :: Développement :: aucun commentaire :: aucun trackback

J'ai découvert le Projet Euler en 2009. J'avais pris le temps de résoudre à l'époque les 7 premiers problèmes de cette plateforme pour mathématiciens / informaticiens. Quatre longes années plus tard, j'ai repris le fil : le nombre de questions disponibles est désormais largement plus important, ça devient vertigineux. Par contre l'équipe qui gère le site a eu la bonne idée d'ajouter des badges et des niveaux...

Je suis donc fier d'afficher mes 2 premiers badges, après 20 bonnes réponses :

Je suis surtout content de refaire un petit peu de maths ! Le CRUD, c'est bien mais écrire de "vrais" algorithmes, c'est pas mal non plus...

Toctok, nouveau projet en Open Source

mardi 29 octobre 2013 :: perrick :: Projets Open Source :: aucun commentaire :: aucun trackback

Cela faisait bientôt 5 mois que le projet trainait dans un coin de mon ordinateur... Toctok est désormais en ligne. Il s'agit d'un mini-programme en CLI (avec PHP bien sûr) totalement inutile et donc particulièrement savoureux ;-) Le principe est archi-simple : Toctok se connecte sur une compte IMAP, parse le sujet du dernier email et en fonction d'une expression rationnelle il lance un fichier MP3.

Nous nous en servons pour l'instant chez No Parking dans le processus d'intégration : une fois le commit effectué, le serveur d'intégration continue envoie un email, puis Toctok prend le relais : au final, on entend le gazouillis de quelques oiseaux quand les tests sont passés avec succès ou bien le cri rauque d'un rhinocéros dans le cas contraire.

Bien sûr ça tourne sur un serveur dédié dans le bureau sur un fabuleux Rapsberry Pi dernier cri !

Et comme c'est aussi un véritable projet Git (mon premier en l'occurence), il est aussi disponible sur GitHub.

Forum PHP 2013 à Paris (Montrouge), c'est pour bientôt...

mercredi 23 octobre 2013 :: perrick :: PHP :: aucun commentaire :: aucun trackback

Le Forum PHP 2013 approche et il promet d'être un bon cru. J'y ai repéré quelques points intéressants... Déjà, on pourra entendre Andi Gutmans : c'est assez rare pour être souligné (d'ordinaire, c'est Zeev qui prenait le micro). Après on retrouvera bien sûr quelques têtes d'affiche : Derick Rethans, Stefan Koopmanschap ou Enrico Zimuel. Et puis des trucs qui ressemblent à des pépites : Your PHP can fly, par Baptiste Adrien ou DIY et happy hacking avec PHP & Raspberry Pi, par Ronan Guilloux, le genre de conférences que j'espère rafraichissantes.

Bien sûr il y a aussi un lot bien costaud de retours d'expérience (M6, BlablaCar, CommentFaitOn, Box.com ) et des sujets pointus (programmation évènementielle, NoSQL Haute disponibilité, Behat, ElasticSearch, driver MySQL natif, etc.). Mais comme d'habitude, ce sera surtout l'occasion de recroiser des têtes plus ou moins connues, de parler des projets, des changements de boîte ou des évolutions de produit... Bref un bon moment en perspective, seul bémol : la salle est légèrement plus petite que l'année dernière et donc ça va se remplir encore plus vite : mon petit doit me dit qu'il reste moins de 40 places.

Vive la crise et joyeux anniversaire...

lundi 14 octobre 2013 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Aujourd'hui LinkedIn m'a envoyé un joli message...

Résultat, je ne sais pas si je dois me désoler ou rire d'un tel télescopage...

Liste de lectures - troisème

vendredi 27 septembre 2013 :: perrick :: Livres :: aucun commentaire :: aucun trackback

Troisième vague de huit bouquins lus, la plupart pendant les vacances d'été à l'ombre d'un chêne au bord d'une piscine quelque part en Bourgogne.

  1. Les horizons terrestres, de André Lebeau
    Au delà du constant toujours aussi préoccupant sur l'état de notre planète et des défis qui l'attende, c'est la perspective que s'offre ce géophysicien qui est le plus intéressant : les racines du futur. Au lieu de suivre le chemin chaotique du quotidien dont l'horizon lointain s'arrête à 25 ans (le temps de l'emprunt bancaire), l'auteur va chercher d'ici mille ans le futur qu'il souhaite à l'humanité et cherche à tracer quelques voies pour y parvenir. Ce renversement permet de s'affranchir de la tyrannie du temps présent et de poser quelques jalons. Parmi ces derniers, j'ai été particulièrement intrigué par trois lignes de force que je n'ai pas souvent entendu - toujours à l'échelle longue : l'importance de l'éducation des filles (pour régler la question démographique), l'alternative entre le recyclable solaire - éolien, photovoltaïque - et la fusion des atomes légers (pour aller au delà de la transition énergétique) et le retard des sciences sociales liées aux questions "globales" ou systémiques (pour sortir de l'ornière idéologique du libéralisme). Amazon
  2. Tolède XIIe-XIIIe - Musulmans, chrétiens et juifs : le savoir et la tolérance
    Après Venise et Amsterdam, j'ai donc plongé via ce volume de la collection Autrement / Série Mémoires. J'ai découvert un champ historique que je ne connaissais que très peu : l'Espagne médiévale. Avec Le Cid et Cluny dans des rôles inattendus : le héros guerrier sort de la figure proposée par Racine alors la ville bourguignonne y fait sentir sa puissance - largement éclipsée depuis. Et puis bien sûr le rôle des musulmans et des juifs dans la transmission - via la traduction - de la pensée greco-arabe. Amazon
  3. Le vol du frelon, de Ken Follett
    On sait évidemment dès la quatrième de couverture que Harald réussira à transmettre sa découverte aux anglais à bord d'un biplan. C'est bien écrit : efficace et haletant, avec ce qu'il faut de rebondissements et de contrastes. Et les remerciements démontrent de la qualité de la documentation. Bref un roman d'espionnage parfait pour les vacances. Amazon
  4. Génération Pigeons, de Jean-David Chamboredon et Olivier Jay
    Une chronique à chaud du mouvement des "Pigeons" qui réussira à faire chauffer la toile pendant quelques semaines en septembre 2012. Au delà de la caricature vestimentaire (la barbe de 3 ou de 5 jours ?), la galerie de portraits est suffisamment large pour brosser une image pertinente de ce mouvement éphémère. Reste l'impression amère que cette vague d'entrepreneurs - avec toute la bonne volonté du monde - n'aura pas réussi à se faire entendre beaucoup plus que les militants d'Occupy Wall Street : les nouvelles formes de pouvoir ou de contre-pouvoir 2.0 sont encore loin de faire le poids une fois la réaction épidermique passée. Amazon
  5. Dragons, de Marie Desplechin
    Encore une fois, je ne suis pas déçu de cette collection de l'Olivier. Cette fois-ci le texte suit le rythme des marées de l'île de Batz, une histoire trouble où se mêlent le vrai et les histoires, la folie et le surnaturel. Amazon
  6. Mathémagique, balades mathématiques, de David Acheson
    De temps en temps, il fait bon se replonger dans la délicieuse abstraction de ses 20 ans. Ce volume n'échappe pas à la règle : c'est tellement beau les maths, on en mangerait bien plus souvent. Amazon
  7. Le monde en 2030 vu par la CIA
    Entre quatre mondes possibles, du plus pessimiste (avec un repli de toutes les grandes puissances sur leur "pré carré") au plus optimiste (une coopération mondiale sur les grands sujets : eau, climat, énergie), la CIA ne semble pas trop se mouiller. Bien sûr, l'Amérique resterait le pivot du monde d'après, celui qui peut tout faire basculer - surtout si c'est vers un monde "meilleur". Sauf que d'autres cercles de prospectivistes (comme le LEAP et son "horizon 2020") sont largement plus alarmistes, à la fois sur la puissance réelle des USA et sur les équilibres en construction. Décidément le chemin du futur s'éclaire très mal avec nos vaines bougies et nos allumettes trop humides. Amazon
  8. Manifeste convivialiste - Déclaration d'interdépendance
    Un autre de ces petits livres qui essaye de penser le présent. Cette fois-ci en apportant un nouveau concept, celui du "convivialisme" ou la valorisation de la relation et de la coopération. Un nouveau mot pour essayer de penser la synchronisation des autres mouvements (qu'ils soient politiques, économiques, écologiques ou même religieux) et pour leur donner un manifeste commun ! Il ne reste plus qu'à faire émerger les forces vives pour porter une telle ambition et là encore la venelle de cet avenir est peu balisée pour l'instant. Amazon

La limite des 50% sur une recherche FULL TEXT avec Mysql

mardi 17 septembre 2013 :: perrick :: MySQL :: 2 commentaires :: aucun trackback

Un mot qui est trouvé dans la moitié des enregistrements d'une table n'est pas efficace pour trouver les document appropriés. En fait, il trouvera sûrement beaucoup de documents inappropriés à la recherche. On sait tous que cela arrive souvent lorsqu'on recherche quelque chose sur internet en utilisant un moteur de recherche. Extrait de la documentation MySQL pour Recherche en texte intégral (Full-text) dans MySQL

Sauf que dans le cas du petit corpus de questions / réponses que compose la section FAQ d'Opentime et encore plus dans le minuscule corpus généré pour mes tests unitaires, ce seuil de 50% m'a fait arracher les cheveux pendant 2h. Et la solution pour outre-passer cette limitation est sur la page suivante de la documentation : il suffit d'ajouter l'option IN BOOLEAN MODE. Elle permet - entre autres - de ne pas utilise pas le seuil de 50%. Problème : elle ne trie pas automatiquement les lignes par ordre de pertinence décroissante. Heureusement qu'il y a encore d'autres astuces possibles : MySQL match() against() - order by relevance and column.

Lozeil, c'est parti...

vendredi 13 septembre 2013 :: perrick :: No Parking :: aucun commentaire :: aucun trackback

J'avais annoncé que No Parking publierait rapidement les sources de notre prototype Lozeil, c'est chose faite... Nous mettons désormais à disposition :

Bien sûr il y a du code PHP & JS. Pour le reste, la documentation est encore tout à fait inexistante, le graphisme moche, les fonctionnalités partielles, le numéro de version indéterminé. C'est pourtant ce que nous utilisons pour nos premières démonstrations ici ou là. Et les avis sont encourageants, c'est le principal. Par contre je n'ose même pas vous suggérer de télécharger le code et de le tester en local. A moins que vous ayez un besoin urgentissime d'un logiciel de pilotage de trésorerie...

Pendant ce temps, ceux qui "savent" vous demandent ardemment de lire leur propre code ou se demandent comment la NSA pourrait effectivement détruire nos murailles cryptographiques.

Facebook et HTTPS

vendredi 6 septembre 2013 :: perrick :: Connexe(s) :: aucun commentaire :: aucun trackback

Je reviens un tout petit peu sur l'annonce reprise en français désormais par LeMonde.fr de la fin de la protection relative du chiffrement des communications. Nous savons désormais que 1/ la NSA est capable de lire le contenu des éléments qui circulent via HTTPS et que 2/ Facebook - entre autres - fait parti du programme. Et si on ajoute quelques dates au passage, ça fait froid dans le dos...

Dire qu'on se demandait alors pourquoi ça prenait tellement de temps...

Lozeil, pour maintenant et pour plus tard

vendredi 6 septembre 2013 :: perrick :: No Parking :: aucun commentaire :: aucun trackback

Cela fait bientôt 10 ans que je bosse sur Opentime, d'autres collaborateurs y ont apporté leur pierre aussi. Après avoir arrêté la prestation il y a 3 ans, puis goûté au monde du e-commerce, tout en s'appuyant sur notre logiciel de gestion du temps en Saas, il était temps pour No Parking de créer un nouveau logiciel qui soit plus proche de nos véritables savoir-faire que sont les outils pour entreprises (les fameux progiciels). Depuis maintenant deux mois, une partie de l'équipe travaille sur ce nouveau concept qui devait sortir en janvier 2014 avec une version en mode Saas et une version purement Open Source. Le nom qu'on a choisi, Lozeil, et dont on a acheté le domaine, devrait vous donner une idée du domaine qu'on explore : la gestion de trésorerie. Bien sûr il est en PHP, bien sûr il y a des touches de Javascript, bien sûr il est testé unitairement.

D'un tout autre côté, les révélations de l'affaire Snowden commencent à faire le bruit que je ne voulais pas entendre : que les grands sites américains soient de la partie (et aient largement bénéficié d'investissements très importants au passage), ce n'est finalement pas une surprise. Sauf qu'on a appris hier que The NSA Is Breaking Most Encryption on the Internet, on ne parle plus des méta-données type fadettes mais bien du coeur de la confiance sur internet. Je crois littéralement que si j'ai eu du mal à m'endormir cette nuit, c'était à cause de cette lecture à 22h hier soir.

We need to take it [the internet] back est le titre de la chronique de Bruce Schneier. Elle fait suite entre autre à The NSA Is Commandeering the Internet. La direction est la même : les sociétés technologiques doivent se batter pour leurs utilisateurs, sinon elles risquent de les perdre. C'est vers ça qu'il faut aller.

Et le rapport avec No Parking ou Lozeil me direz-vous ? C'est simple : le code source Lozeil sera mis en Open Source dès la semaine prochaine. Les clients qui utiliseront ce logiciel doivent pouvoir nous faire suffisament confiance pour y importer leurs lignes de banque. C'est cette confiance que nous souhaitons gagner via du code ouvert et partagé. Pour maintenant et pour plus tard, nous aurons l'occasion d'en reparler.

Sauter pour mieux reculer avec Opera

mardi 27 août 2013 :: perrick :: Navigateurs :: aucun commentaire :: aucun trackback

Fin mai 2013, Opera sortait son nouveau navigateur : la version 15. Une version un peu particulière à plus d'un titre mais principalement parce que c'est la première à se baser sur WebKit / Chromium. Comme Opera reste mon navigateur de prédilection, j'ai patienté un petit peu (histoire de laisser du temps aux bugs grossiers d'être corrigés), surtout que le système de mise à jour automatisé ne proposait pas de migration.

Hier, j'ai pris mon courage à demain et j'ai testé cette nouvelle version : la seule bonne nouvelle, c'est que le rendu est reconnaissable (merci WebKit / Chromium). Mais tout le reste est catastrophique, à commencer par les favoris. La fonctionnalité a disparu du logiciel et l'extension "Bookmarks Manager" n'y fait rien (cela oscille entre pathetic et pure crap). Et que dire de la suppression des autres avantages qu'Opera avait en natif : un speed-dial de bonne facture, des raccourcis de recherche configurables, des panneaux (historique, notes, favoris, etc.).

Bref je suis vite revenu en arrière.

J'ai l'impression que l'équipe d'Opera n'a pas retenu la leçon de Netscape / Mozilla entre 1998 et 2002 : une ré-écriture massive qui a fait perdre un temps considérable. Il me reste désormais à attendre que Opera 16, 17 ou 42 retrouve un niveau acceptable, en croisant les doigts pour que le web ne fasse pas trop de progrès dans les 4 années à venir ;-)