home icon contact icon rss icon last FM icon facebook icon LinkedIn icon Delicious icon twitter icon

Archive pour imeuble.info

Du nouveau

Cet après midi, je voulais aller faire de l'escalade. A cause d'élections, de mauvais temps et de manque de copain grimpeur, je me suit résolu (à regret, vous imaginez bien) à faire le geek.

Alors du coup j'ai fais quelques modifications à ce site.

Passage à Mephisto edge

Le truc, c'est que je voulais utiliser certains plugins de mephisto. Et les plugins que je voulais ne fonctionnent qu'avec la dernière verison de Mephisto.

svn export http://svn.techno-weenie.net/projects/mephisto/trunk

Seulement ce n'est pas si facile. Cette dernière version de mephisto fonctionne avec Rails 2.0.2, mais a besoin de rake 0.8.1.
Et Mon hebergeur (Dreamhost) ne possède que la version 0.7.3.

J'ai donc un peu triché et installé le gem rake 0.8.1 sur mon compte Dreamhost.

D'abord, mettre à jours les variables d'environement pour nos futures gems perso (terminer le cat par un ctrl+D) :

$ mkdir ~/.gems
$ cat >> ~/.bash_profile
export GEM_HOME=$HOME/.gems
export GEM_PATH=$GEM_HOME:/usr/lib/ruby/gems/1.8

Ensuite mettre à jour les variable de gem pour qu'il aille chercher dans nos gems perso (terminer le cat par un ctrl+D):

$ cat >> ~/.gmrc
gemhome: ~/.gems
gempath:
  - ~/.gems
  - /usr/lib/ruby/gems/1.8

Dire à l'application Rails qu'il y a d'autres gems dans la vie : ajouter au fichier RAILS_ROOT/config/environment.rb

ENV['GEM_PATH'] = File.expand_path('~/.gems') + ':/usr/lib/ruby/gems/1.8'

Installer ses gem :

$ gem install rake

Des dates en français

J'en avais marre des "march, 9th 2008". C'est pas très cohérent avec le reste. Et comme dirais mon maître de stage :

"Consitency is the key"

Donc un petit ajout pour avoir les dates en français dans rails. J'ai créé un fichier french_dates.rb dans RAILS_ROOT/lib/ que j'ai remplis avec mes modifications aux classes Date et Time :

class Date
  alias :strftime_nolocale :strftime

    FR_ABBR_DAYNAMES = %w(Dim Lun Mar Mer Jeu Ven Sam)
    FR_MONTHNAMES =  [
      nil, "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"]
    FR_ABBR_MONTHNAMES =  [
      nil, "jan", "fév", "mar", "avr", "mai", "jun", "jui", "aoû", "sep", "oct", "nov", "déc"]
    FR_DAYNAMES = %w(Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi)    

  def strftime(format)
    format = format.dup
    format.gsub!(/%a/, Date::FR_ABBR_DAYNAMES[self.wday])
    format.gsub!(/%A/, Date::FR_DAYNAMES[self.wday])
    format.gsub!(/%b/, Date::FR_ABBR_MONTHNAMES[self.mon])
    format.gsub!(/%B/, Date::FR_MONTHNAMES[self.mon])
    self.strftime_nolocale(format)
  end
end

class Time
  alias :strftime_nolocale :strftime

  def strftime(format)
    format = format.dup
    format.gsub!(/%a/, Date::FR_ABBR_DAYNAMES[self.wday])
    format.gsub!(/%A/, Date::FR_DAYNAMES[self.wday])
    format.gsub!(/%b/, Date::FR_ABBR_MONTHNAMES[self.mon])
    format.gsub!(/%B/, Date::FR_MONTHNAMES[self.mon])
    self.strftime_nolocale(format)
  end
end

J'ai ensuite dit à mon application Rails de charger ces additions à partir du fichier RAILS_ROOT/config/environment.rb

J'ai eu un bug avec DreamHost (finalement, on peut leur reprocher des choses, hein), que je n'ai pu contourner qu'en déplaçant mon code dans un fichier lib déjà créé dans mon application Mephisto et en n'utilisant pas le fichier nouvellement créé. Sans cela, fastcgi n'arrive pas a démarrer proprement (erreur 500, application error, toussa)... Faudra que je fouille cela plus tard.

Un peu de routing

En regardant mes logs, je me suis aperçu que des gens suivaient mon flux RSS. Oui, mais l'ancien (http://imeuble.info/blog/rss.php). J'ai donc ajouté une route pour rediriger cette url vers la nouvelle (http://imeuble.info/feed/atom.xml).

La prochaine étape sera de rediriger les pages des anciens articles vers les nouvelles url (donc d'importer les anciens article sur la plate-forme Mephisto).

Coloration Syntaxique

J'ai aussi ajouté de la coloration syntaxique dans les bout de code qui seront mis sur ce blog. Je me suis inspiré pour cela du plugin de Dan Webb, filtered_column_code_highlighter.

Il s'agit d'un code javascript qui parse un text suivant une certaine grammaire (à l'aide de regex) et ajoute des span de bonne classe aux éléments trouvés. Le classe correspondent ensuite à une CSS donnée.

En root !

Ouai, il est pourri mon jeu de mot. Juste pour dire que tout est opérationnel.

C'est le renouveau officiel de imeuble.info ! Ce site se relève de sa tombe, avec une peau neuve (dans les mêmes tons, mais un poil plus sobre), un nouveau squelette (plus de php cancéreux, mais du beau rails brillant) et donc plein de nouveau contenus à jour.

Comme d'habitude, je ne sais pas de quoi je parlerais ici, mais ça tournera sans doute plus autour de truc de geek que d'autre choses. Lisez qui veut !

Version beta

C'est un version beta que vous voyez ici.
Sont attendus très prochainement :

  • Traduction : tous en français.
  • Des corrections de css
  • Des vrais lien pour les profils communautaires
  • Du contenu (A propos, contact, cv ....)

A bientôt !