Navigation mobile : alternatives au menu hamburger

Le menu hamburger est un sujet très débattu : les développeurs sont en majorité d’accord mais il y a très peu d’applications qui fonctionnent avec. En effet, si les applications deviennent trop complexes, il est préférable de découper les fonctionnalités en actions clés et les mettre dans des applications distinctes. Les menus hamburgers demandent une … Continuer la lecture de Navigation mobile : alternatives au menu hamburger

Quelles technologies se cachent derrière le format de paquets snaps « by Canonical » ?

Principe de fonctionnement des snaps Contrairement aux paquets habituels sous Linux, les snaps ne partagent pas leurs dépendances. C’est ce qui explique que les logiciels empaquetés dans des snaps soient indépendants du système. Les paquets sont bien plus lourds et chaque logiciel lancé chargera en RAM l’intégralité de ses dépendances sans les partager. Un paquet … Continuer la lecture de Quelles technologies se cachent derrière le format de paquets snaps « by Canonical » ?

Ruby on Rails par Grafikart – quelques astuces

En regardant en diagonale quelques vidéos de Grafikart sur Ruby on Rails, j’ai noté quelques astuces intéressantes : rails s -b IP Pour binder l’IP sur laquelle l’application écoute. Par exemple, rails s -b 0.0.0.0 permet d’écouter sur toutes les interfaces (utile pour les machines virtuelles) Callback de modèle Pour ne pas avoir à ajouter … Continuer la lecture de Ruby on Rails par Grafikart – quelques astuces

Que sont les paquets Snaps développés par Canonical pour la portabilité ?

Introduction Avec son désir d’interface graphique « convergeante », c’est à dire adaptative entre des tailles d’écran très différentes, Canonical doit faire face à des problèmes de portabilité de ses applications. Le monde mobile a ceci de particulier que les périphériques sont vendus préinstallés, à des utilisateurs néophytes, le plus souvent sur l’architecture ARM réputée plus complexe … Continuer la lecture de Que sont les paquets Snaps développés par Canonical pour la portabilité ?

Bonnes pratiques concernant l’envoi de newsletters

Ma séance de veille du jour concerne une conférence Alsacréations de Sébastien Lejeune en 2016. Pas plus de 50 caractères dans le sujet. Un sujet court et précis est plus percutant, surtout sur des emailing qui ne sont pas sollicités par les internautes. Souvent dans un client mail le bouton SPAM en haut et près … Continuer la lecture de Bonnes pratiques concernant l’envoi de newsletters

Nokogiri : installer avec « Building native extensions » sous Mac OSX 10.12 Sierra

Si l’installation de la gem Nokogiri provoque une erreur telle que : $ gem install nokogiri -v 1.6.7.1 Fetching: nokogiri-1.6.7.1.gem (100%) Building native extensions. This could take a while… ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. current directory: /Users/username/.rvm/gems/ruby-2.3.1@test-gemset3/gems/nokogiri-1.6.7.1/ext/nokogiri /Users/username/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20170214-68028-185u3z7.rb extconf.rb checking if the C compiler accepts … yes … Continuer la lecture de Nokogiri : installer avec « Building native extensions » sous Mac OSX 10.12 Sierra

Les Rails Engines, poupées russes d’applications Rails

Il n’y a pas si longtemps, dans une galaxie pas si lointaine, nous souhaitions factoriser du code au sein d’une Gem Ruby. Son but, traiter à notre façon les erreurs 402, 404 et 500 que Rails affiche par défaut aux visiteurs. Ces erreurs disposent de routes automatiques native (/402, /404 et /500) qui ne sont … Continuer la lecture de Les Rails Engines, poupées russes d’applications Rails

Programmation asynchrone en Ruby 3 : les Guilds (Partie 5)

Nous avons fait un tour plutôt large des diverses solutions pour réaliser un programme asynchrone en Ruby. Je vous propose de terminer cette série d’articles par une ouverture sur ce que pourrait apporter la prochaine version majeure de Ruby. C’est en tombant sur cet article d’Olivier Lacan que j’ai entendu parler de la révision du … Continuer la lecture de Programmation asynchrone en Ruby 3 : les Guilds (Partie 5)

Programmation asynchrone en Ruby : présentation de la gem Celluloid (Partie 4)

Après concurrent-ruby, continuons notre tour des gems avec Celluloid. La syntaxe de la gem est identique au module Async de concurrent-ruby : require "celluloid/current"   class Demonstration include Celluloid   def dire_3s_plus_tard(phrase) sleep 3 puts phrase end end   demo = Demonstration.new   # Exemple synchrone, non thread-safe demo.dire_3s_plus_tard("Premier") puts "Second"   # Exemple asynchrone, … Continuer la lecture de Programmation asynchrone en Ruby : présentation de la gem Celluloid (Partie 4)