Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

DLFP - Dépêches  -  Trois outils pour développeur : MailHog, Tokei et Pandoc

 -  Avril 2018 - 

Dans cette dépêche, je vais vous présenter trois outils que j’utilise de temps en temps et qui pourraient servir à d’autres développeurs :

  • MailHog permet d’attraper des courriels pour les examiner ;
  • Tokei compte les lignes de code d’un projet ;
  • Pandoc est un couteau suisse pour manipuler des fichiers et les transformer d’un langage de balisage à un autre.

MailHog

MailHog (sous licence MIT) permet d’attraper des courriels envoyés par une plate‐forme de développement et de les afficher dans une interface Web. Pour cela, il fournit un serveur SMTP et un remplaçant au binaire sendmail, libre à vous de choisir le moyen qui vous convient le mieux. Il offre également, en option, la possibilité de transférer vers un vrai serveur SMTP les courriels et un outil de type chaos-monkey pour tester les cas d’erreurs d’envoi de courriels.

L’interface Web de MailHog avec trois courriels capturés

Je m’en sers quand je développe sur la partie serveur de Cozy Cloud. Cela permet de tester des fonctionnalités qui nécessitent l’envoi de courriels sans avoir à se compliquer la vie à configurer un vrai serveur d’envoi de courriels. En bonus, on évite de prendre le risque d’envoyer des courriels vers de vrais comptes d’autres personnes et on ne perd pas de temps à attendre que le courriel arrive, en attente d’un traitement anti‐pourriel.


Tokei

Pour estimer la taille d’un projet, le nombre de lignes de code peut être une métrique intéressante. Il existe plusieurs projets pour faire ça, celui que je trouve le plus pratique est Tokei (sous licence Apache ou MIT). Voici ce qu’il affiche pour le dépôt principal de code de LinuxFr.org :

-------------------------------------------------------------------------------
 Language            Files        Lines         Code     Comments       Blanks
-------------------------------------------------------------------------------
 CoffeeScript           10          770          642           31           97
 Dockerfile              1           70           49            4           17
 HTML                   24         2660         2161            4          495
 JavaScript             11         2686         2025          394          267
 Markdown                1          187          187            0            0
 Rakefile                2           33           24            3            6
 Ruby                  262        11593         8338         1500         1755
 Ruby HTML               1           47           46            0            1
 Sass                   47        27317        23467         1583         2267
 Shell                   4           68           50            4           14
 SVG                    41        10886        10865           17            4
 TeX                     1           53           43            0           10
 Plain Text             44          531          531            0            0
 XML                     1           11           11            0            0
 YAML                    4          173          160            4            9
-------------------------------------------------------------------------------
 Total                 454        57085        48599         3544         4942
-------------------------------------------------------------------------------

Par rapport à cloc, Tokei a plusieurs avantages :

  • il est beaucoup plus rapide (0,03 seconde pour Tokei contre 3,2 secondes pour cloc sur le dépôt principal de LinuxFr.org) ;
  • il est plus précis : cloc utilise des expressions rationnelles, alors que Tokei a de vrais analyseurs (en particulier, un début de commentaire dans une chaîne de caractères comme printf("/*") peut bien induire en erreur cloc) ;
  • il ignore par défaut les fichiers listés dans .gitignore (par exemple, quand j’ai lancé cloc sur l’exemple ci‐dessus, il a compté les fichiers dans tmp/cache et j’ai dû le relancer avec des options pour qu’il fasse ce que j’en attendais).

Pandoc

Il existe de nombreux langages de balisage : HTML, Markdown, reStructuredText, textile, DocBook, <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgc3R5bGU9IndpZHRoOiA1LjE0M2V4OyBoZWlnaHQ6IDIuMTQzZXg7IHZl%0AcnRpY2FsLWFsaWduOiAtMC41NzFleDsgbWFyZ2luLXRvcDogMXB4OyBtYXJn%0AaW4tcmlnaHQ6IDBweDsgbWFyZ2luLWJvdHRvbTogMXB4OyBtYXJnaW4tbGVm%0AdDogMHB4OyBwb3NpdGlvbjogc3RhdGljOyAiIHZpZXdCb3g9Ii0zIC03MDUu%0ANjc2NTIwODk5NjM0MiAyMTg5LjU3Nzc3NzIxMDkxMyA5NDcuMjExNjQ0MTU0%0ANzg5MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVm%0AcyBpZD0iTWF0aEpheF9TVkdfZ2x5cGhzIj48cGF0aCBpZD0iU1RJWFdFQk1B%0ASU5JLTRDIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNTU5IDE4MGwtNTggLTE4%0AMGgtNTA5djE2YzU2IDYgNjQgMTUgODIgNzhsMTIyIDQzOGM4IDI3IDExIDQ3%0AIDExIDYyYzAgMjkgLTE1IDM5IC03NyA0M3YxNmgyNzN2LTE2Yy02MCAtNCAt%0AODUgLTIwIC0xMDEgLTc3bC0xMjAgLTQyOWMtNiAtMjMgLTEwIC00MCAtMTAg%0ALTU0YzAgLTMxIDIzIC00MSAxMDUgLTQxYzEwMCAwIDEzMSA1IDE4MCAzOGMz%0AMiAyMSA1NCA1NCA4MiAxMTJaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJN%0AQUlOSS00MSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTU2NCAwaC0yNDV2MTZj%0ANjMgMyA3NyAxOSA3NyA1M2MwIDggLTEgMTcgLTIgMjZsLTIwIDEzMWgtMjIw%0AbC01OSAtMTExYy0xNCAtMjYgLTIyIC01MCAtMjIgLTY2YzAgLTE5IDE1IC0z%0AMSA2MiAtMzN2LTE2aC0xODZ2MTZjNDYgOSA1OSAyNiAxMzQgMTU2bDI4NSA0%0AOTZoMjZsOTIgLTU1M2MxNCAtODQgMjUgLTk1IDc4IC05OXYtMTZ6TTM2OSAy%0ANjJsLTQ1IDI2M2wtMTQ5IC0yNjNoMTk0WiI+PC9wYXRoPjxwYXRoIGlkPSJT%0AVElYV0VCTUFJTkktNTQiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik02MzMgNjUz%0AbC00NCAtMTY0bC0xNyAyYzIgMTcgMyAzMyAzIDQ2YzAgNTMgLTM2IDgxIC0x%0AMDEgODFoLTU4bC0xMzcgLTQ5MGMtNiAtMjEgLTE0IC00NCAtMTQgLTY2YzAg%0ALTMxIDEyIC0zOSA1MyAtNDNsMzUgLTN2LTE2aC0yODh2MTZjNjkgNiA5MiAy%0AMSAxMDcgNzVsMTQzIDUyN2MtMTU4IDAgLTE5MCAtMTYgLTIzOCAtMTI0bC0x%0AOCA0bDQyIDE1NWg1MzJaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlO%0ASS00NSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYzNCA2NTNsLTMxIC0xNTRs%0ALTIyIDJjMiAxNyAzIDMzIDMgNDZjMCA2MCAtMzUgNzMgLTE5MiA3M2MtNTcg%0AMCAtNjcgLTQgLTczIC0yNmwtNjYgLTIzM2g3OGM5MCAwIDEwMSAxMiAxMzkg%0AOTdsMTggLTRsLTY4IC0yMzJsLTIwIDVjNSAyMiA3IDM0IDcgNTJjMCAxNyAt%0AMiAyNiAtNyAzMWMtMTEgMTAgLTM4IDE1IC03OCAxNWgtNzhsLTMyIC0xMTJj%0ALTI1IC04OCAtMzYgLTEzNCAtMzYgLTE0NmMwIC0yNCAyMyAtMzQgNzkgLTM0%0AIGM5OCAwIDE1MiAxMiAyMDMgMzljMzIgMTcgNTYgNDUgOTQgOThsMTYgLThs%0ALTYyIC0xNjJoLTUwN3YxNmM1NiAxMCA2NSAxNiA4MSA3NGwxMjMgNDQyYzYg%0AMjAgMTEgNTIgMTEgNjRjMCAyNyAtMTUgMzUgLTc3IDQxdjE2aDQ5N1oiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU5JLTU4IiBzdHJva2Utd2lkdGg9%0AIjEwIiBkPSJNNjU1IDY1M3YtMTZjLTQzIC0xNCAtNzUgLTM3IC0xMjUgLTk1%0AbC0xNjkgLTE5NGwxMDEgLTI1NWMyNCAtNjAgMzcgLTY5IDEwNSAtNzd2LTE2%0AaC0yNzF2MTZjNjAgMSA3NyAxMyA3NyAzN2MwIDEzIC02IDMxIC0xNCA1MWwt%0ANjcgMTY1bC0xNTEgLTE3MmMtMTQgLTE2IC0yMyAtMzQgLTIzIC00OGMwIC0y%0AMiAxOCAtMzMgNjYgLTMzdi0xNmgtMjEzdjE2YzU2IDEwIDgzIDQwIDIyMCAy%0AMDBsODMgOTdsLTEwMyAyNTUgYy0xOSA0OCAtMzcgNjQgLTk1IDY5djE2aDI2%0AM3YtMTZjLTU1IC03IC03MSAtMTYgLTcxIC00MWMwIC0xMyA1IC0yOSAxNiAt%0ANTZsNTkgLTE0N2wxNDUgMTY3YzE0IDE2IDIxIDMxIDIxIDQzYzAgMTkgLTE4%0AIDMyIC02MSAzNHYxNmgyMDdaIj48L3BhdGg+PC9kZWZzPjxnIHN0cm9rZT0i%0AYmxhY2siIGZpbGw9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjAiIHRyYW5zZm9y%0AbT0ibWF0cml4KDEgMCAwIC0xIDAgMCkiPjx1c2UgaHJlZj0iI1NUSVhXRUJN%0AQUlOSS00QyIgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS00QyI+PC91c2U+%0APGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjM5LDApIj48dXNlIHRyYW5zZm9y%0AbT0ic2NhbGUoMC43MDcxMDY3ODExODY1NDc2KSIgaHJlZj0iI1NUSVhXRUJN%0AQUlOSS00MSIgeD0iMCIgeT0iMjk2IiB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU5JLTQxIj48L3VzZT48L2c+PHVzZSBocmVmPSIjU1RJWFdFQk1BSU5JLTU0%0AIiB4PSI1MDQiIHk9IjAiIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTkktNTQi%0APjwvdXNlPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMDIsMCkiPjx1c2Ug%0AaHJlZj0iI1NUSVhXRUJNQUlOSS00NSIgeD0iMCIgeT0iLTIxNiIgeGxpbms6%0AaHJlZj0iI1NUSVhXRUJNQUlOSS00NSI+PC91c2U+PC9nPjx1c2UgaHJlZj0i%0AI1NUSVhXRUJNQUlOSS01OCIgeD0iMTUyNiIgeT0iMCIgeGxpbms6aHJlZj0i%0AI1NUSVhXRUJNQUlOSS01OCI+PC91c2U+PC9nPjwvc3ZnPg==%0A" alt="\LaTeX">, MediaWiki markup, OrgMode, EPUB, etc. Et ces langages ont parfois plusieurs variantes (exemple : CommonMark et GitHub Flavored Markdown pour le Markdown). Bref, ce n’est pas toujours facile de connaître les différents langages et de passer de l’un à l’autre. Pandoc (sous licence GPL v2 ou plus) permet de convertir un texte de la plupart de ces langages vers un autre langage, ou d’autres choses comme du PDF ou de l’OpenDocument.

Je m’en sers, par exemple, pour écrire des présentations en Markdown et en générer une version PDF via la classe Beamer pour <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgc3R5bGU9IndpZHRoOiA1LjE0M2V4OyBoZWlnaHQ6IDIuMTQzZXg7IHZl%0AcnRpY2FsLWFsaWduOiAtMC41NzFleDsgbWFyZ2luLXRvcDogMXB4OyBtYXJn%0AaW4tcmlnaHQ6IDBweDsgbWFyZ2luLWJvdHRvbTogMXB4OyBtYXJnaW4tbGVm%0AdDogMHB4OyBwb3NpdGlvbjogc3RhdGljOyAiIHZpZXdCb3g9Ii0zIC03MDUu%0ANjc2NTIwODk5NjM0MiAyMTg5LjU3Nzc3NzIxMDkxMyA5NDcuMjExNjQ0MTU0%0ANzg5MyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZGVm%0AcyBpZD0iTWF0aEpheF9TVkdfZ2x5cGhzIj48cGF0aCBpZD0iU1RJWFdFQk1B%0ASU5JLTRDIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNTU5IDE4MGwtNTggLTE4%0AMGgtNTA5djE2YzU2IDYgNjQgMTUgODIgNzhsMTIyIDQzOGM4IDI3IDExIDQ3%0AIDExIDYyYzAgMjkgLTE1IDM5IC03NyA0M3YxNmgyNzN2LTE2Yy02MCAtNCAt%0AODUgLTIwIC0xMDEgLTc3bC0xMjAgLTQyOWMtNiAtMjMgLTEwIC00MCAtMTAg%0ALTU0YzAgLTMxIDIzIC00MSAxMDUgLTQxYzEwMCAwIDEzMSA1IDE4MCAzOGMz%0AMiAyMSA1NCA1NCA4MiAxMTJaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJN%0AQUlOSS00MSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTU2NCAwaC0yNDV2MTZj%0ANjMgMyA3NyAxOSA3NyA1M2MwIDggLTEgMTcgLTIgMjZsLTIwIDEzMWgtMjIw%0AbC01OSAtMTExYy0xNCAtMjYgLTIyIC01MCAtMjIgLTY2YzAgLTE5IDE1IC0z%0AMSA2MiAtMzN2LTE2aC0xODZ2MTZjNDYgOSA1OSAyNiAxMzQgMTU2bDI4NSA0%0AOTZoMjZsOTIgLTU1M2MxNCAtODQgMjUgLTk1IDc4IC05OXYtMTZ6TTM2OSAy%0ANjJsLTQ1IDI2M2wtMTQ5IC0yNjNoMTk0WiI+PC9wYXRoPjxwYXRoIGlkPSJT%0AVElYV0VCTUFJTkktNTQiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik02MzMgNjUz%0AbC00NCAtMTY0bC0xNyAyYzIgMTcgMyAzMyAzIDQ2YzAgNTMgLTM2IDgxIC0x%0AMDEgODFoLTU4bC0xMzcgLTQ5MGMtNiAtMjEgLTE0IC00NCAtMTQgLTY2YzAg%0ALTMxIDEyIC0zOSA1MyAtNDNsMzUgLTN2LTE2aC0yODh2MTZjNjkgNiA5MiAy%0AMSAxMDcgNzVsMTQzIDUyN2MtMTU4IDAgLTE5MCAtMTYgLTIzOCAtMTI0bC0x%0AOCA0bDQyIDE1NWg1MzJaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlO%0ASS00NSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYzNCA2NTNsLTMxIC0xNTRs%0ALTIyIDJjMiAxNyAzIDMzIDMgNDZjMCA2MCAtMzUgNzMgLTE5MiA3M2MtNTcg%0AMCAtNjcgLTQgLTczIC0yNmwtNjYgLTIzM2g3OGM5MCAwIDEwMSAxMiAxMzkg%0AOTdsMTggLTRsLTY4IC0yMzJsLTIwIDVjNSAyMiA3IDM0IDcgNTJjMCAxNyAt%0AMiAyNiAtNyAzMWMtMTEgMTAgLTM4IDE1IC03OCAxNWgtNzhsLTMyIC0xMTJj%0ALTI1IC04OCAtMzYgLTEzNCAtMzYgLTE0NmMwIC0yNCAyMyAtMzQgNzkgLTM0%0AIGM5OCAwIDE1MiAxMiAyMDMgMzljMzIgMTcgNTYgNDUgOTQgOThsMTYgLThs%0ALTYyIC0xNjJoLTUwN3YxNmM1NiAxMCA2NSAxNiA4MSA3NGwxMjMgNDQyYzYg%0AMjAgMTEgNTIgMTEgNjRjMCAyNyAtMTUgMzUgLTc3IDQxdjE2aDQ5N1oiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU5JLTU4IiBzdHJva2Utd2lkdGg9%0AIjEwIiBkPSJNNjU1IDY1M3YtMTZjLTQzIC0xNCAtNzUgLTM3IC0xMjUgLTk1%0AbC0xNjkgLTE5NGwxMDEgLTI1NWMyNCAtNjAgMzcgLTY5IDEwNSAtNzd2LTE2%0AaC0yNzF2MTZjNjAgMSA3NyAxMyA3NyAzN2MwIDEzIC02IDMxIC0xNCA1MWwt%0ANjcgMTY1bC0xNTEgLTE3MmMtMTQgLTE2IC0yMyAtMzQgLTIzIC00OGMwIC0y%0AMiAxOCAtMzMgNjYgLTMzdi0xNmgtMjEzdjE2YzU2IDEwIDgzIDQwIDIyMCAy%0AMDBsODMgOTdsLTEwMyAyNTUgYy0xOSA0OCAtMzcgNjQgLTk1IDY5djE2aDI2%0AM3YtMTZjLTU1IC03IC03MSAtMTYgLTcxIC00MWMwIC0xMyA1IC0yOSAxNiAt%0ANTZsNTkgLTE0N2wxNDUgMTY3YzE0IDE2IDIxIDMxIDIxIDQzYzAgMTkgLTE4%0AIDMyIC02MSAzNHYxNmgyMDdaIj48L3BhdGg+PC9kZWZzPjxnIHN0cm9rZT0i%0AYmxhY2siIGZpbGw9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjAiIHRyYW5zZm9y%0AbT0ibWF0cml4KDEgMCAwIC0xIDAgMCkiPjx1c2UgaHJlZj0iI1NUSVhXRUJN%0AQUlOSS00QyIgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS00QyI+PC91c2U+%0APGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjM5LDApIj48dXNlIHRyYW5zZm9y%0AbT0ic2NhbGUoMC43MDcxMDY3ODExODY1NDc2KSIgaHJlZj0iI1NUSVhXRUJN%0AQUlOSS00MSIgeD0iMCIgeT0iMjk2IiB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU5JLTQxIj48L3VzZT48L2c+PHVzZSBocmVmPSIjU1RJWFdFQk1BSU5JLTU0%0AIiB4PSI1MDQiIHk9IjAiIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTkktNTQi%0APjwvdXNlPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMDIsMCkiPjx1c2Ug%0AaHJlZj0iI1NUSVhXRUJNQUlOSS00NSIgeD0iMCIgeT0iLTIxNiIgeGxpbms6%0AaHJlZj0iI1NUSVhXRUJNQUlOSS00NSI+PC91c2U+PC9nPjx1c2UgaHJlZj0i%0AI1NUSVhXRUJNQUlOSS01OCIgeD0iMTUyNiIgeT0iMCIgeGxpbms6aHJlZj0i%0AI1NUSVhXRUJNQUlOSS01OCI+PC91c2U+PC9nPjwvc3ZnPg==%0A" alt="\LaTeX">. Ça m’a également servi, par le passé, pour convertir un wiki d’un format à un autre.

Commentaires : voir le flux atom ouvrir dans le navigateur

par Bruno Michel, Davy Defaud, Nils Ratusznik, patrick_g

DLFP - Dépêches

LinuxFr.org

L’informatique sans écran

 -  21 avril - 

Lors d’un Noël de ma tendre jeunesse pré-adolescente est arrivé un « ordinateur » dans le foyer. Ce PC (Intel 386) a été installé dans le bureau et a (...)


Entretien avec GValiente à propos de Butano

 -  16 avril - 

GValiente développe un SDK pour créer des jeux pour la console Game Boy Advance : Butano.Cet entretien revient sur son parcours et les raisons (...)


Nouveautés d'avril 2024 de la communauté Scenari

 -  11 avril - 

Scenari est un ensemble de logiciels open source dédiés à la production collaborative, publication et diffusion de documents multi-support. Vous (...)


Annuaire de projets libres (mais pas de logiciels)

 -  9 avril - 

Les communs sont une source énorme de partage !S’il est plutôt facile dans le monde francophone de trouver des ressources logicielles (Merci (...)


Les enchères en temps réel, un danger pour la vie privée mais aussi pour la sécurité européenne

 -  7 avril - 

Les enchères en temps réel, ou Real-Time Bidding (RTB), sont une technologie publicitaire omniprésente sur les sites web et applications mobiles (...)