Javascript : un debug plus facile avec le blackboxing

Comme beaucoup de développeurs web avant le boom des frameworks front-end, mon utilisation de Javascript se limitait à envoyer des requêtes en Ajax et injecter leur résultat dynamiquement dans des pages, à modifier le DOM et à utiliser quelques plugins ou librairies. Même si j'avais entendu parler des SPA et des nouveaux frameworks Javascript...

Déployer Middleman avec Mina

Si vous êtes des lecteurs réguliers de ce blog, vous savez probablement qu'il est propulsé par le générateur de sites statiques Middleman : j'ai déja rédigé différents articles sur ce sujet), n'hésitez pas à aller les parcourir. Néanmoins, je n'ai encore jamais évoqué un autre outil que j'utilise dans mon workflow pour déployer ce blog...

Une API JSON avec Sinatra

Vous avez pu le constater en parcourant ce blog, Sinatra est l'un de mes frameworks Ruby préférés, à la fois simple d'approche mais malgré tout puissant et adaptable à de nombreux cas d'utilisation. Je trouve notamment que c'est un outil particulièrement adapté à la réalisation d'une API JSON qui sera ensuite consommée par un framework...

Rechercher des Gems ruby avec DuckDuckGo

Il y a quelques mois de cela, j'avais écrit un article pour vous présenter DuckDuckGo, un moteur de recherche que j'utilisais depuis déjà un moment, et qui venait à l'époque de connaître une importante mise à jour. Ce moteur a continué d'évoluer depuis, je continue à l'utiliser au quotidien et à découvrir des fonctionnalités qui me sont...

Vim et git commit: positionner le curseur sur la 1ère ligne

Si vous utilisez Vim et git, vous avez peut-être déjà rencontré ce problème. Selon la configuration de votre éditeur, il est possible que celui-ci sauvegarde le dernier emplacement du curseur lorsque vous quittez un fichier. Or, lorsque vous éditez un message de commit, c'est toujours le même fichier qui est édité, à savoir .git/COMMIT_EDITMSG

Gérer les plugins Vim avec Vundle

Comme c'est aujourd'hui la norme pour les IDE et éditeurs de texte avancés, Vim supporte l'ajout de fonctionnalités complémentaires via un système de plugins (ou "scripts" dans le monde Vim). Ces plugins sont constitués d'un ou plusieurs fichiers qui doivent être dispatchés dans les sous-répertoires de votre répertoire Vim (habituellement...

À la découverte de Sinatra #2 : routes et templates

Deuxième article de ma série "à la découverte de Sinatra". Dans le premier article, À la découverte de Sinatra #1, nous avons vu que Sinatra était un framework Ruby simple, léger et avec une communauté conséquente, destiné à faciliter la création d'applications web de taille modeste. Puis nous avons mis en place un petit projet et affich...

DuckDuckGo, le moteur de recherche qui ne vous espionne pas

DuckDuckGo

Voilà environ un an que j'utilise quotidiennement le moteur de recherche DuckDuckGo, en parallèle de l'inévitable Google. Jusque-là, ce moteur de recherche qui met en avant son respect de la vie privée était resté plutôt confidentiel : l'affaire Snowden et le lifting qu'il vient de recevoir pourraient bien en faire un des moteurs...

Automatisez votre workflow avec gulp.js

Depuis que j'ai découvert SASS/SCSS en 2011, je l'utilise dans tous mes projets. Y compris sur d'anciens projets en PHP “maison” (pas de framework) que je maintiens encore activement. Pour ces projets, je me servais jusque-là de l'outil en ligne de commande pour la compilation : au début d'une session de développement, je lançais donc la...

À la découverte de Sinatra #1

Je l'ai déjà évoqué dans un précédent article : je suis un grand fan de Sinatra. Non, pas le chanteur (encore que !), mais plutôt la gem Ruby. En règle générale, j'aime utiliser des outils simples qui font bien ce qu'on leur demande, et je trouve que Sinatra correspond tout à fait à cette description. Pour être précis, Sinatra est présent...

Afficher la branche git courante dans le prompt

Pour tous mes projets, j'utilise le gestionnaire de sources Git, que ce soit simplement en local ou couplé avec un dépôt distant. Je l'utilise principalement dans le terminal et, je dois bien l'avouer, il m'arrive de temps en temps de faire des modifications sur la mauvaise branche, ce qui est particulièrement agaçant. Dans certaines situations...

Utiliser SASS dans un projet Sinatra

Comme nous l'avons évoqué dans l'article précédent "3 raisons d'aimer SCSS", SASS/SCSS est un pré-processeur de CSS qui apporte à vos feuilles de style un lot de fonctionnalités destinées à vous faciliter la vie et à alléger votre code. Nous allons voir comment utiliser SASS dans le cadre d'un projet Sinatra.


Sinatra et Rack

Sinatra

3 raisons d'aimer SCSS

SASS/SCSS est un pré-processeur de CSS qui apporte à vos feuilles de style un lot de fonctionnalités destinées à vous faciliter la vie et à alléger votre code. Le slogan de SASS, "CSS with superpowers", n'est pas usurpé : depuis que j'ai découvert cet outil il y a 3 ans avec mes premiers tests de Ruby on Rails, c'est bien simple, je l'ai...

Une sitemap pour MiddleMan avec Builder

Le protocole sitemap est un protocole initialement défini par Google en 2005, et adopté depuis par les autres grands moteurs de recherche comme Bing (et donc Yahoo!), Baidu ou Yandex. Comme vous le savez, ces moteurs de recherche utilisent des crawlers pour parcourir, analyser et référencer les pages web. L'objectif de la sitemap est de...

MiddleMan : design avec Slim et SCSS

Dans l'article précédent, "Créer un blog statique avec MiddleMan", nous avons vu comment mettre en place les bases d'un blog statique avec MiddleMan. Aujourd'hui, nous allons voir comment adapter ce MiddleMan à nos besoins, avec l'utilisation de votre langage de template préféré et SASS/SCSS.


Les templates comme vous aimez

Par défaut...

Créer un blog statique avec MiddleMan

MiddleMan logo

Les générateurs de sites statiques ont le vent en poupe ces derniers mois. Ils permettent de générer localement un site HTML en vous appuyant sur la puissance d'un langage comme Ruby ou Python, et approchent les fonctionnalités d'une plateforme comme Wordpress, avec plus de légèreté. Le site généré étant un simple ensemble de fichiers...