PoC éditique

Utilisation des moteurs de template FreeMarker et Thymeleaf pour produire des documents au format PDF

Contexte (1/2)

- Décommissionnement Starjet (OPT / CSB)

 

- Dilution & perte de compétences Starjet

 

- Différentes pistes "commerciales"

Contexte (2/2)

Recherche d'une solution alternative :

 

- Intégrée au socle de développement de l'OPT

 

- Performante

 

- Economique

ALTERNATIVE

L'OPT souhaite étudier les moteurs de template, objet de cette étude, et plus particulièrement FreeMarker.

 

L'OPT souhaite également lever un certains nombre de difficultés éventuelles : 

 

- l'intégration de code-barre

- l'intégration de graphiques (histogramme)

- le marquage optique pour l'impression et la mise sous pli.

ETUDE

La présente étude devra :

 

- confirmer la faisabilité technique

 

- fournir un PoC à minima

 

- estimer les coûts de mise en oeuvre

FAISABILITE TECHNIQUE

fonctionnement général

Outils candidats

Par ordre alphabétique :

 

- FreeMarker,

- Mustache,

- Pebble,

- Rocker,

- Thymeleaf,

- Trimou, et

- Velocity

Outils candidats

Outils candidats

Outils candidats

Top 3 (par ordre alphabétique) :

 

- FreeMarker

- Mustache

- Thymeleaf

Levée des difficultes

Remarques générales :

 

 - Utilisation de HTML / CSS / JS vs. Java (1)

 

 - Limitation de la prise en charge CSS

(1) d'un commun accord avec l'OPT, l'utilisation du JavaScript est à proscrire.

Levée des difficultes

fonctionnement détaillé utilisé dans le cadre du PoC

Levée des difficultes

- Code-barre : cf. code

- Histogramme : cf. code

 

Compte-tenu des limitations de la prise en charge CSS level 3, ces deux points sont résolus par une génération d'image à la volée avec les outils idoines dans le code Java. Les images sont ensuite insérées dans le template.

 

Une attention particulière doit être apportée aux dimensionnement du code-barre pour une lecture optique efficace.

Levée des difficultes

- Marquage optique (OMR)

 

C'est l'opération qui pose le plus de difficultés et qui est dépendante de la solution utilisée par le prestataire en charge de l'impression et de la mise sous pli, la CSB en l'occurrence.

 

Après contact pris auprès de M. Jean-Louis Billard de la CSB, celui-ci nous confirme que cette opération pourrait être prise en charge par la CSB, sous réserve de disposer d'un élément discriminant les différentes factures (code-barre ?).

 

Solution à privilégier.

Levée des difficultes

Mises en oeuvre supplémentaires (cf. code) :

 

- Utilisation des fragments (réutilisabilité).

 

- Tableau avec rupture sur plusieurs pages (FreeMarker).

 

COUTS

- Templating : de 1j à 5j

 

- Traitement des données et liaison avec le template : de 1j à 5j

 

- Génération PDF : 0,5j

 

- Temps hors dév / Maintenance : % tps dév / abaques OPT ?

 

- OMR : délai de 15 jours / template pour que la CSB soit opérationnelle

Benchmarks

Cf. tableaux des résultats JUnit / JMH dans le rapport d'étude.

 

Bien que Thymeleaf dispose de meilleurs résultats JUnit que FreeMarker, ce dernier montre une meilleure homogénéité dans l’évolution des temps d’exécution sur des gros volumes.

JMH confirme ces résultats avec un temps moyen d’exécution par opération apportant des gains de plus de 20 % pour FreeMarker (0,044 s/op) par rapport à Thymeleaf (0.057 s/op). Les résultats JMH montrent aussi des marges d’erreurs moins importantes sur FreeMarker.

CONCLUSION

MERCI de votre attention

QUESTIONS

Made with Slides.com