État des lieux des actions EmberJS

Note: cet article est une traduction de mon guest-post publié sur le blog d’EmberSherpa.

Depuis fin 2014, Ember a traversé de nombreuses évolutions, probablement pour le mieux. Bon ou mauvais, cela a pourtant laissé des cicatrices et la façon d’approcher certains de ses aspects est devenue moins claire.

Un des aspects que je trouve particulièrement flou est l’utilisation des actions. Depuis l’ajout des closure actions, il n’est pas toujours facile de savoir quelle est la meilleure façon de les utiliser.

Dans cet article, j’aimerais apporter quelques éclaircissements l’usage des actions dans Ember et ce qu’il est possible de faire avec celles-ci.

Lire la suite…

Obtenir de l’italique dans son prompt ZSH

Il y a quelques temps, je suis tombé amoureux d’une police de caractères : Operator Mono.

Une illustration d’Operator Mono

Le prompt de mon terminal me semblait un excellent endroit pour profiter de l’italique particulièrement plaisant de cette police.

La mise en place n’était cependant pas aussi simple que je le pensais. Voici donc la marche à suivre.

Lire la suite…

Notre vision des choses vous correspond ? Vous avez envie de travailler avec nous ?

Utiliser une grille Bootstrap de 24 colonnes

Depuis sa création, Bootstrap propose une grille horizontale de 12 colonnes.

Ce nombre ne sort bien sûr pas de nulle part, en effet 12 est un excellent choix pour diviser par 2, 3, 4 ou 6. Cela laisse plus de possibilités qu’une grille de 10 par exemple.

Cependant 12 colonnes ne suffit pas toujours : les colonnes sont vouées à être plutôt larges et finalement assez peu flexibles. C’est pourquoi chez Tinci nous préférons généralement utiliser une grille sur 24 colonnes.

Lire la suite…

Cache Ruby on Rails et I18n

Lorsque l’on regarde les guides de mise en place du cache sur une application Rails, en général on se retrouve face à ce genre d’exemple :

<% cache(product) do %>
  <!-- here the markup for a single product -->
<% end %>

L’appel à cache permet de ne pas perdre de temps à recalculer le morceau de template pour un produit tant que celui-ci n’a pas été modifié.

Le souci est que si vous gérez une application multi-lingue, un bug se dissimule dans ce simple bout de code…

Lire la suite…

Gérer l'upload de fichiers dans Postgres avec Sequel et Refile

Lors d’un récent projet, l’un des impératifs était de stocker les fichiers en base de données. Pas d’accès à S3 ou un autre type de stockage, tout en base de données.

Heureusement pour nous, Postgres propose la gestion des Large Objects.

Pour ce projet nous utilisions Sequel pour accéder à la base de données et Refile pour la gestion des uploads.

Il nous restait donc à brancher tout ce petit monde pour que ce système de stockage fonctionne.

Lire la suite…

Générer des JPEG progressifs avec Cloudinary et Carrierwave ?

Lorsque l’on parle de performance dans le web, il y a ce qui peut se mesurer et la vitesse ressentie.

Il est essentiel de prendre en compte cette dernière pour fournir une bonne expérience à nos utilisateurs. Une technique qui peut aider pour cela est l’utilisation de JPEG progressifs.

Ce format permet d’afficher une version dégradée d’une image alors que celle-ci est à peine téléchargée par le navigateur.

La question est : « Comment générer un JPEG progressif lorsque l’on utilise Cloudinary et CarrierWave ? »

Lire la suite…

Problème d’import Elasticsearch sur Heroku

Il y a quelques temps, lors de l’import de données dans un nouveau projet sur Heroku, nous avons été confronté à une erreur un peu étrange.

Au moment de lancer l’import, nous obtenions le résultat suivant :

$ heroku run bundle exec rake environment...

Lire la suite…

De zéro à Heroku avec Elixir/Phoenix et EmberJS

En 2015, le langage Elixir a connu un engouement particulièrement fort, notamment grâce au framework web Phoenix qui propose une approche intéressante du développement web.

Dans l’univers JavaScript, un autre framework a le vent en poupe cette année : EmberJS.

EmberJS et Elixir Phoenix

De ces deux mondes, est issue une nouvelle stack de développement, PEEP pour Phoenix Elixir EmberJS PostgreSQL. Mêlant la puissance de chacun dans son domaine, l’idée de cette stack est d’avoir Phoenix servant de couche backend / API et EmberJS fournissant la couche frontend.

Mettre tout cela en place et déployer n’est pas toujours trivial, c’est pourquoi nous vous proposons ce petit guide pour faire vos premiers pas et commencer l’année 2016 en beauté.

Lire la suite…

Notre vision des choses vous correspond ? Vous avez envie de travailler avec nous ?

Quoi de neuf dans Ruby 2.3 ?

Un an a passé depuis la sortie de Ruby 2.2. C’est maintenant au tour de Ruby 2.3 de montrer le bout de son nez. Heureusement, pour les fêtes, cette nouvelle version n’arrive pas les mains vides !

Nouveaux opérateurs, nouvelles méthodes et un nouveau pragma pour apporter un peu de givre durant cet hiver bien chaud.

Lire la suite…

Profitez au mieux des onglets et panels iTerm

iTerm propose un certain nombre de fonctionnalités bien pratiques. Parmi celles-ci on trouve les onglets et la division d’une fenêtre en panels.

Un réglage qui peut s’avérer utile est de faire en sorte d’être dans le même dossier lorsque l’on divise sa fenêtre et à la racine ~ lorsque l’on ouvre un nouvel onglet.

Lire la suite…

12