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

Archive pour le mot clé Rails

Ping (uninteresting content inside)

Hey ! Ca fait 2 mois que je n'ai pas écrit ici !

Pourtant des choses se sont passées...

Capri, c'est fini !

Heu, pardon. INSIA c'est fini.

J'ai fini mon stage le 28 Août dernier, ceci clôturant définitivement mon parcours d'élève ingénieur de l'INSIA. Il était temps, après 5 ans d'apprentissage dans cette école.

Alors ayé, je suis ingénieur en informatique. Je peux me la péter grave et exiger des salaires mirobolants. Je ne sais pas ce que ça va m'apporter d'autre en fait, mais c'est déjà pas mal.

Capri, c'est fini ! (#2)

Heu, encore pardon. Dimelo c'est fini.

Bah oui, j'ai fini mon stage et j'ai souhaité ne pas rester chez eux pour mon premier "vrai travail", d'autres projets m'attendant au tournant.
N'empêche que ce fut un excellent stage, le meilleur que j'ai pu avoir sans doute. L'équipe de Dimelo a toute ma reconnaissance pour les bons moments passés et les enseignements que j'ai pu recevoir pendant ces 10 mois.

J'espère qu'on se recroisera bientôt, hein...

Tenter l'aventure

Ca devrait faire l'objet d'un billet à part entière mais bon... On n'est jamais trop jeune pour se lancer et essayer quelque chose de nouveau et d'ambitieux. C'est ce qu'on s'est dit avec Christophe Cholot et Patrice Bonfy. Alors autour d'une idée commune et la même envie d'entreprendre, nous avons monté Sociabliz.

Sociabliz est une Agence Web de social marketing. Nous essayons d'intégrer les marques et les entreprises dans le graph social des internautes. En gros et pour faire vite, nous faisons des applications Facebook.

Nous avons pour l'instant nos bureaux à Cergy, au sein de l'incubateur de l'ESSEC. Et pour tout dire, l'affaire fonctionne plutôt bien. Nous avons déjà 3 projets en cours, et quelques autres dans les tuyaux. Pour un début, ce n'est vraiment pas mal et nous avons presque la tête sous l'eau... Mais pas d'inquiétude, nous gérons cela en professionnels !

Mon rôle dans l'histoire, c'est de faire le geek. Ca tombe bien, j'aime bien faire ça et il paraît que je le fais bien. Alors je gère l'hébergement, je fais de l'admin sys, je fais le conseil technique lorsque des questions pointues arrivent, je fais de la veille sur les dernières technos des réseaux sociaux et je code. En rails bien sûr ;-)

Pour plus d'infos, visitez le site de sociabliz.

Étudier, encore ?!

Je me suis inscrit à la fac pour faire un master. Comme à Paris VI (Université Pierre et Marie Curie), ils ne prennent personne en deuxième année qui n'a pas fait la première année, me voilà en M1, parti pour 2 ans.

Pour ce qui est de l'intitulé, c'est "Intelligence Artificielle et Décision".

J'ai pu arranger mon emploi du temps pour avoir 2 après-midi et le vendredi complet de libre pour les consacrer à Sociabliz. Je sais ce que tout le monde pense : je me disperse et ce n'est pas possible de faire plusieurs choses à la fois sérieusement. J'en suis conscient et si surcharge de travail il y a d'un côté ou de l'autre, c'est le master qui passe à la trappe. Je veux juste essayer.

Pas le temps pour autre chose ?

Bah nan. Enfin presque. Je suis allé faire de l'escalade en Allemagne pour le dernier week-end d'août. J'ai pu expérimenter mes premières grandes voies et c'est assez impressionnant. Ça fait peur, mais qu'est ce que c'est beau une fois en haut !
Je remercie Josselin, Emeline et Cécile pour tout ça !

Et ce blog a subi un problème avec mod_rails ces dernier temps (depuis le 28 Août en fait). Je n'ai pas eu beaucoup de temps pour le réparer depuis et comme le cache statique fonctionnait bien, personne n'a rien remarqué (à par Manu, le coquin...).

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.