Premiers essais de Docker (natif) pour Mac et Windows

J’ai commencé a tester Docker for Mac aujourd’hui (en version beta) et je vais présenter dans cet article mes premières impressions.

La fin d’une époque

Tout d’abord, j’utilise déjà activement la précédente version de Docker sur Mac qui est inclue dans le Docker Toolbox. Cette version se basait sur une machine virtuelle sur laquelle tournait un noyau Linux. C’est sur ce dernier que Docker etait donc installé.

Avec cette nouvelle version, Docker passe au support natif sur Mac (et parallèlement sur Windows). Cela signifie qu’il n’y a plus besoin de la VM Linux pour faire tourner le programme.

Tout le monde à la maison!!

Cela engendre plusieurs avantages dans mon utilisation au quotidien. Auparavant mes conteneurs Docker tournaient sur la machine virtuelle et l’accès n’etait pas direct : je ne pouvait pas aisément utiliser localhost pour accéder à une des applications. En effet, il fallait passer par la passerelle de la machine virtuelle (par ex. 192.168.99.100).
Aujourd’hui je peux facilement lancer un serveur nginx et l’associer à un port sur localhost comme suit :

nginx-8083

nginx sur localhost 8083

Une question de volume

Un autre avantage est l’amélioration du système de volume. Un volume est une liaison entre un dossier local et un dossier dans un conteneur. Cela permet par exemple de placer des fichiers depuis mon poste de travail vers le dossier DocumentRoot d’un serveur Apache sur Docker. Je peux ainsi travailler sans soucis sur mon editeur favoris (Atom en passant :)) et voir les changement sans aucune autre intervention sur mon conteneur Docker.

Volumes dans docker et kitematic

Avec cette nouvelle version de Docker vient aussi une nouvelle version de Kitematic qui prend en charge le programme en natif. Kitematic permet de gerer dans une interface visuelle les conteneurs Docker et leur execution. L’interface est tres simple d’utilisation et très accessible. Il permet d’utiliser Docker sans connaître aucunes des commandes de celui-ci.

Il reste encore quelques fonctionnalités que je n’ai pas essayé comme la composition avec Docker Compose. J’aurai certainement l’occasion d’en parler dans un autre article.

Email this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInShare on Reddit

Traduction facile Dans WordPress Avec Yarakuzen

Je maintiens un blog WordPress multilingue et je viens de découvrir Yarakuzen. C’est un outil innovant pour la traduction de texte qui offre un accès gratuit pour une utilisation personnelle. Il existe également des plans premium pour une utilisation intensive de l’outil.

Cette application n’est pas comme les autres outils de traduction car il offre la possibilité d’ajuster la traduction comme je veux et les enregistrer. Plus je traduis du contenu, plus la traduction devient précise et personnalisée à mon goût.

Donc, pour l’utiliser sur mon blog wordpress, je dois créer un compte ici et générer une clé API. J’ai également téléchargé le plugin wordpress Yarakuzen qui est parfaitement intégré dans Wordpress.

Le plugin vous demandera une clé publique et clé privée que vous pouvez générer depuis votre compte Yarakuzen:

YarakuZen <Mika A. - WordPress

Maintenant, quand je commence un nouvel article, je vois une nouvelle boîte du plugin Yarakuzen. Elle me permet d’envoyer le contenu de mon poste à Yarakuzen pour la traduction.

Ajouter article non de nouvel <Mika A. - WordPress

Voici comment j’utilise le plugin :

  • Je crée mon article dans une langue (disons l’anglais) et je l’enregistre
  • Je crée un autre poste pour la traduction et je coller le contenu de l’article source
  • J’envoie le texte pour traduction à Yarakuzen grace à la boîte
  • Je clique sur le bouton « Retrieve Translation » de la boîte Yarakuzen

récupérer

Cela remplacera mon contenu avec le texte traduit et il gardera aussi les médias, donc je ne pas besoin de les ajouter à nouveau dans la traduction.

C’est un service qui est vraiment utile pour moi et je sens que je vais l’utiliser très souvent.Vous pouvez en apprendre plus sur Yarakuzen et leurs plans et services sur yarakuzen.com

Email this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInShare on Reddit

Configurer Travic CI pour un package Atom

En travaillant sur un petit package Atom ces derniers temps, j’ai commencé à configurer Travis CI pour lancer automatiquement mes builds et tests. Cela me permet d’assurer que les push et futurs pull request de mon projet ne cassent rien. Comme il s’agit d’un projet Opensource, je peux utiliser gratuitement les services de Github et Travis CI.

Mon repository est installé sur Github et j’ai commencé par activer le webhook de Travic CI dans les paramètres de celui-ci. Pour cela, aller dans Settings > Webhooks & services > Travic CI et activer ce service en commençant par l’éditer.

Webhooks Services

Il faut maintenant configurer Travis CI. Celui-ci est lié à mon compte Github et je retrouve directement la liste de mes repository et j’active celui qui est concerné.

 

active

Enfin, pour lancer les travaux de travis, il faut ajouter un fichier .travis.yml dans la racine du projet. Ce fichier contient les informations nécessaire à travis ainsi que la configuration des actions à faire. En ce qui concerne les packages Atom, un repository a été mis en place pour mettre en place facilement les configurations de Travis. Il suffit d’aller sur https://github.com/atom/ci/blob/master/.travis.yml et d’utiliser ce fichier.

Quand j’effectue des nouveau push sur le repository, travis va maintenant lancer les builds automatiquement et me tenir informé en cas de problème. Pour couronner le tout, j’ai droit au petit bouton indiquant le statut du repository. Il peut facilement être intégré sur une page web ou sur le README de mon projet 

Pour les packages Atom, il est également possible d’utiliser d’autres services comme AppVeyor ou Circle. Les détails pour ceux-ci sont également disponible sur le répertoire https://github.com/atom/ci/

Et voila, à vous maintenant!

Email this to someoneTweet about this on TwitterShare on FacebookShare on Google+Share on LinkedInShare on Reddit