Skip to content

Instantly share code, notes, and snippets.

View sofadesign's full-sized avatar

Fabrice Luraine sofadesign

  • http://www.lunaweb.fr
View GitHub Profile
[Un tip git par jour](https://github.com/francois2metz/gitdaily): histoire de découvrir tranquillement de nouveaux trucs sur Git.
[MicroJS: Fantastic Micro-Frameworks and Micro-Libraries for Fun and Profit!](http://microjs.com/) parce qu'il n'y a pas que jQuery dans la vie et que parfois on a besoin de choses plus minimales et mieux adaptée à un besoin particulier.
[Constructing Web APIs with Rack, Sinatra and MongoDB](http://www.slideshare.net/oisin/constructing-web-apis-with-rack-sinatra-and-mongodb) Prochaine API qu'on développe, c'est promis, on la fait avec MongoDB :)
Ruby manque de documentation ? Un [petit challenge à été lancé](http://blog.segment7.net/2011/05/09/ruby-1-9-3-documentation-challenge) pour atteindre 60% de code documenté pour la sortie de Ruby 1.9.3 en juillet. [Y Contribuer](http://blog.steveklabnik.com/contributing-to-rubys-documentation) est par ailleurs relativement aisé.
Rails 3.1, encore un petit aperçu: devenez encore plus fainéants avec les [migrations réversibles](http://e

Récolte du jour

Une bonne sélection de gems. On en utilise déjà une bonne partie mais je vous invite à jeter tout particulièrement un oeil sur:

  • les acts_as_*, sutout pour voir comment ils sont construits
  • formtatic/simple_form: de meilleurs formulaires en écrivant moins de code ? ça ajoute encore une couche d'abstraction donc à tester en profondeur pour vérfier l'apport.
  • carrierwave: extrêmement bien fait, beacoup plus clair que PaperClip; beaucoup plus récent aussi donc ne pas se précipiter dessus
  • backup: ça donne carrément envie de mettre en place des backups partout
  • state_machine / workflow
  • Grape: un micro-framework pour créer des API Restful. L'API créée est une appli Rack donc c'est un jeu d'enfant pour l'utiliser dans une appli rails

Rails assets caching: Probablement la meilleure solution en attendant rails 3.1

Rendering PDF with HTML5 and JavaScript: on va enfin pouvoir envisager de lire les pdfs directement dans son browser, sans plugin! Le projet est en cours mais ça fonctionne déjà pas mal: http://people.mozilla.org/~gal/test.html

ScaffoldHub: le site est moche et il n'y a pas encore grand chose, mais l'idée est très bonne.

Regulate: "Rails 3 engine that provides a Git backed CMS that allows for an admin to define editable regions in a page view". De bonnes idées à prendre.

Après le rendu de pdf en javascript, voici le décodeur MP3 en javascript.

Rails 3.0.9 Released: Bug Fixes For The Win

Developing a RubyGem using Bundler: on commence à avoir pas mal de trucs sous forme de plugins. Certains méritent d'être publiés et diffusés sous forme de gem. La manière la plus simple est maintenant d'utiliser Bundler.

Eventable: an incredibly simple way to add events to your classes: simple et bien foutu. Ça peut toujours servir.

Un screencast à propos de Resque: http://railscasts.com/episodes/271-resque

De fil en aiguille

Quand on a vraiment besoin d'SQL avec ActiveRecord: A SQL Pattern in Rails. J'ai découvert au passage que depuis Rails 3 et l'usage de Arel on peut également se passer de déclarer un scope avec un lambda et écrire directement une methode qui sera chainable avec les finders habituels ! J'ajoute ça aux propositions de refactoring posée sur la branche suggestions-refactoring de LDJ.

A tester

Rack protection

Collection of Rack middleware to protect you against common, opportunistic attack.

On n'est jamais trop protégé, donc à tester! Si le truc tient ses promesses, c'est un atout qualité de plus pour nos productions facile à mettre en place.

<?php
function before($route)
{
$uri = request_uri();
$is_admin = preg_match('%^/admin(/.+)?$%', $uri);
# Authentication if required
$auth_required = $is_admin && $uri != "/admin/login" && $uri != "/admin/logout";
if($auth_required) authentication_is_required();
@sofadesign
sofadesign / latex.template
Created July 16, 2011 12:49 — forked from michaelt/latex.template
Simple Pandoc latex.template with comments
%!TEX TS-program = xelatex
\documentclass[12pt]{scrartcl}
% The declaration of the document class:
% The second line here, i.e.
% \documentclass[12pt]{scrartcl}
% is a standard LaTeX document class declaration:
% we say what kind of document we are making in curly brackets,
% and specify any options in square brackets.
@sofadesign
sofadesign / md2pdf
Created July 16, 2011 12:54
md2pdf script with pandoc
#!/bin/sh
# Wrapper script around pandoc / markdown2pdf
# Provides templates to apply with pdf processing
# Copyright Claes Holmerson 2010, GPL licensed (see COPYING for details)
# Copyright Fabrice Luraine 2011, GPL licensed
#Find this directory
# echo $0
template_home=$(dirname $0)
template=$template_home/md2pdf-templates/xetex.template
@sofadesign
sofadesign / xetex.template.tex
Created July 16, 2011 12:56
Custom xetex template used with pandoc and md2pdf script https://gist.github.com/1086335
%!TEX encoding = UTF-8 encoding
$if(legacy-header)$
$legacy-header$
$else$
% \documentclass[$columns$,$fontsize$]{memoir}
% \documentclass[$columns$,$fontsize$]{article}
% \documentclass[$columns$,$fontsize$]{report}
\documentclass[$columns$,$fontsize$]{report}
\usepackage{amsmath}
\usepackage[$language$]{babel}