• Petit guide d'utilisation des profils Spring

    profil

    Un profil, dans Spring Framework, permet de regrouper des beans, puis de les activer ou désactiver et de les configurer par ensembles. Et si la notion profil fait partie de Spring Core, il y a aussi des spécificités pour Spring Boot.

    Par exemple, dans un profil test, on activera une datasource qui accède à une base de données embarquée alors qu’en profil prod, on accèdera à une base de données externe.

    Dans cet article, je vous propose de faire un petit récapitulatif des techniques pour configurer les beans en fonction du profil et pour choisir les profils actifs.

  • Comment utiliser Jekyll pour un wiki ?

    Jekyll

    J’utilise Jekyll pour ce blog depuis plusieurs mois déjà (cf. Migration du blog). Ma motivation, c’était de quitter Blogger et reprendre ma liberté.

    Cette année, j’ai décidé d’utiliser Jekyll pour faire un wiki, ou quelque chose qui y ressemble. A priori, ce n’est pas fait pour ça, mais en jouant un peu avec les templates, on peut arriver à un résultat correct.

    Jekyll

    Mais pourquoi utiliser Jekyll alors qu’il y a des très bons moteurs de wiki libres ou open source ? Ça fait des années que j’utilise MediaWiki et ça marche très bien. Pour l’hébergement ça n’est pas très compliqué, on trouve des offres correctes et à bon marché incluant du PHP et une base de donnée MySQL.

    Ce qui m’embête, c’est que ça demande un minimum de maintenance : montée de version de PHP, du moteur de wiki, de la base de données. Jekyll, avec ses pages statiques, m’évitera ça. Et comme j’ai déjà fait connaissance avec lui, ça va me faciliter le travail.

  • Adieu Powerpoint

    J’ai remarqué que ces derniers temps, le contenu des articles populaires ne correspondaient pas à leur titre. J’ai donc fait pareil. Alors oui, cet article parle de slides et de présentations, mais pas de Powerpoint puisque je ne l’utilise plus depuis une quinzaine d’années.

    Impress vs Powerpoint vs Keynote

    J’aurais pu l’utiliser puisque j’ai euun laptop sous MacOS X et il existe une version pour cet OS. Par contre, je ne sais pas si elle est de bonne qualité, je n’ai jamais voulu essayer.

    Je n’ai jamais voulu essayer MS Powerpoint ou Apple Keynote parce qu’ils produisent des fichiers que je suis incapable d’utiliser sous Linux. La portabilité des fichiers est un point fondamental. Donc pour faire des slides sous MacOS / Linux, j’utilise OpenOffice / LibreOffice Impress.

    Ça n’a jamais été un logiciel extraordinaire, mais j’ai fait tous mes supports de cours avec. J’ai souvent pesté contre l’outil, il m’a fait perdre du temps, mais tant qu’il faisait le boulot, je l’ai conservé. Et puis que prendre à la place ?

    Cette année j’ai craqué. Je n’en peux plus d’Impress : plantages, pertes de mise en forme, incompatibilité entre la version Linux et MacOS. Je laisse tomber. Mais que prendre à la place ?

  • Migration du blog

    De Blogger…

    J’ai démarré ce blog en 2010 sur Blogger. L’intérêt de la plateforme, c’était de pouvoir démarrer sans effort : rien à installer, rien à déployer et un minimum de configuration.

    Le revers de la médaille, c’est que l’éditeur WYSIWYG n’est pas très pratique pour un blog orienté développement, surtout pour les extraits de code.

    Ça faisait des mois que j’envisageais de changer de plateforme, mais comme tout travail non prioritaire, je reportais au lendemain. L’été dernier, j’ai enfin pris le temps de m’en occuper.

    … à Jekyll

    Il existe pas mal d’alternatives à Blogger. La plus populaire est certainement Wordpress. Il y a aussi plein de générateurs de sites statiques, et ça, ça me plait bien. Le principal intérêt, c’est pour le déploiement : un simple serveur Web, sans base de données ou runtime.

    Parmi les générateur, il y a aussi pas mal de possibilités. J’ai choisi de ne pas trop chercher. J’ai pris la une solution mainstream avec Jekyll.

  • Comment faire du CORS avec Tomcat ?

    Avec la mode des single page applications, il est devenu courant de faire du CORS. On met le front-end et le back-end dans des projets séparés et on les teste dans des runtimes séparés.

    Pour mon projet actuel, le back-end est en Spring MVC 4 qu’on déploie dans Tomcat et le front-end est en Angular 4 qu’on exécute avec ng serve.

    Dans ces conditions, le navigateur charge l’application sur http://localhost:4200 et les données sur http://localhost:8080. Le navigateur devra refuser ces dernières si le serveur n’a pas explicitement autorisé leur exploitation depuis une autre origin.

    image/svg+xml internet ex-pleureur nom prénom n° CB OK http://localhost:4200/ Web Server Front-end App Server Back-end http://localhost:8080/

    Si vous cherchez une explication plus sérieuse, je vous suggère une visite de MDN.

    Nous avons ce fonctionnement en développement. Pour la prod, on conserve la liberté de tout fusionner dans un war, de déployer dans deux war sur le même Tomcat ou de déployer le front-end sur un Apache ou un nginx à part.

    Peu importe pour l’instant, voyons comment faire fonctionner notre environnement de développement. Et comme c’est expliqué dans l’article de MDN, c’est juste une histoire de headers.

Abonnement via RSS