• 04

    Mar 11

    Crux recherche un stagiaire +

    Nous recherchons un stagiaire pour :

    • Faire évoluer les outils en interne
    • Participer à un projet open source
    • Aider au développement de l’activité

    Le stagiaire devra avoir une bonne connaissance des technologies du web.
    Une connaissance de Ruby et/ou de Rails serait un vrai plus.
    Un intérêt tout particulier pour le monde de l’Open Source est nécessaire.

    Le stagiaire aura à charge les thèmes suivants :

    • Refonte du site web www.cruxandco.com avec le CMS Refinery
      Le site web de Crux est actuellement développé avec Radiant CMS.
      Passer à Refinery permettrait une meilleure gestion du contenu
      Le design du site sera gardé mais devra être intégré en HTML5 et CSS3
      De nouveaux modules devront être développés pour gérer du contenu propre à Crux
      Intégration d’un flux twitter sur le site
      Gestion de la newsletter avec MailChimp
    • Participation à un projet OpenSource faisant partie de l’écosystème Ruby et Rails :
      Le stagiaire pourra proposer plusieurs projets
      Un seul sera retenu, sur la base de l’intérêt du projet pour le stagiaire et pour Crux
      Il faudra s’intégrer au mode de fonctionnement de ce projet et faire un retour sur les bonnes pratiques de travail collaboratif que Crux pourrait intégrer dans son process
    • Travail sur les applications développées par Crux :
      Comprehension de l’existant
      Correction de bugs
      Développement de nouvelles fonctionnalités
      Ajout de tests manquants et amélioration des techniques de tests

    Durée du stage : 4 à 6 mois
    Le stage se déroulera dans nos locaux à Montauban.
    Si cette offre vous intéresse, n’hésitez pas à nous faire parvenir votre CV à contact@cruxandco.com

  • 14

    Apr 10

    Heroku : PGError: ERROR: canceling statement due to statement timeout +

    Julien Palmas

    J’ai récemment eu le même problème sur 2 de mes applications Radiant hébergées chez Heroku, mon hébergeur fétiche.

    Les 2 applications ne voulaient plus démarrer pour la raison suivante :

    PGError: ERROR: canceling statement due to statement timeout

    Pour ceux qui sont pressés de savoir comment résoudre le problème, un simple

    heroku restart

    a fait l’affaire.

    Pour ceux qui veulent en savoir un peu plus sur le sujet, le support m’a dit que cette erreur venait certainement d’une autre application présente sur le serveur qui sollicitait fortement la base de données, ce qui générait l’erreur de timeout.

    Il faut savoir que si vos applications ne tournent que sur 1 dyno et n’ont pas assez de trafic, elle seront automatiquement arrêtés au bout de quelques heures, et devront être démarrées de nouveau à la prochaine requête.

    Pour éviter que cela, j’ai donc mis en place une simple tache cron sur ma machine qui charge la page d’admin de mon site toutes les heures, pour éviter que l’application soit arrêtée.

    0   *   *   *   *   curl http://www.monsite.com/admin

    Il y a tout de même quelque chose qui me chiffonne dans cette histoire et je serai curieux de savoir si d’autres que moi ont rencontrés ce problème et comment ils l’ont analysé.

  • 06

    Apr 10

    Crux met en place sa newsletter +

    Julien Palmas

    Voilà un an que Crux Consulting existe. Un an pour apprendre ce nouveau métier qu’est celui de «gérant» et pour découvrir ce que le mot «société» signifie vraiment.

    Pour cet anniversaire, nous avons décidé de créer cette newsletter ainsi que d’ouvrir officiellement le site de Crux, l’entreprise à la grenouille.

    Laissez-nous vos commentaires en bas de cette page ou bien sur le formulaire de contact .

  • 26

    Mar 10

    Utiliser bundler 0.9 avec rails 2.3.5 +

    Julien Palmas

    Avec la sortie de Rails 3 beta, bundler vient remplacer l’ancienne commande “config.gem” introduite dans Rails 2.2.

    Bundler a un gros avantage sur l’ancienne méthode, la gestion des gems utilisée par l’application n’est plus du tout dépendante de l’application elle même. Avant, un simple “rake gems” devait charger tout le stack rails pour pouvoir lister les gems necessaires à l’application. Maintenant, “bundle show” peut parfaitement s’éxécuter sans faire le moindre appel à Rails.

    Bundler est donc en train de devenir LA méthode de gestion des gems pour une appli. Rails 3 fonctionne avec bundler “out of the box”, mais pas les précédentes versions de rails, telle la 2.3.5.

    Voici donc comment procéder si vous voulez utiliser bundler avec vos anciennes applications en 2.3.* :

    Tout d’abord, il faut rajouter à la fin de “boot.rb” le code suivant :

    Ensuite, il faut créer le fichier “config/preinitializer.rb” (si il n’existe pas déjà) :

    Enfin, il ne vous reste plus qu’à créer le fichier “Gemfile” en vous inspirant de l’exemple suivant :

    Une fois que vous y êtes, faites un simple

    bundle

    pour voir toutes les commandes qui s’offrent à vous

    bundle check

    vérifiera si les gems nécessaires à l’application sont bien installées. Si ce n’est pas le cas

    bundle install

    s’en chargera. Une fois votre appli fonctionnelle sur votre machine de dev,

    bundle lock

    bloquera les versions des gems que vous avez d’installées sur votre machine de dev, pour que les autres développeurs avec qui vous travaillez installent exactement ces mêmes version avec un “bundle install”.

    “bundle lock” crée un dossier “.bundle” à la racine de l’application. Si vous utilisez git, il faudra rajouter

    .bundle/*

    à votre gitignore car les informations contenues dans le .bundle sont propres à vos chemins d’installation sur votre machine.

    Bundler évolue très vite et contient beaucoup d’autres fonctionnalités intéressantes, pour vos déploiements pas exemple. Allez faire un tour sur la page github ou bien sur le site de Yehuda Katz, le créateur de bundler, pour en savoir plus.

  • 25

    Mar 10

    Radiant et les versions de Cucumber +

    Julien Palmas

    J’ai dernièrement voulu utiliser Cucumber pour un des mes sites développé avec Radiant 0.8.1.

    Après avoir bootstrapé cucumber, j’ai tout simplement lancé un “rake features” pour voir si je commençais sur de bonnes bases. Et j’ai été bien surpris de voir que tel n’était pas le cas. Je suis tombé sur la belle erreur suivante :

    undefined method `feature_pattern=' for #<Cucumber::Rake::Task:0x1010e15d0>

    Après avoir passé un bon moment à cherchez ce qui n’allait pas, je me suis rendu compte que le problème venait de la version de Cucumber qui était installée sur ma machine. Lorsque vous faites un

    radiant mon-site

    le fichier test.rb contient

    config.gem "cucumber", :version => "~>0.3.9", :lib => false

    ce qui signifie que toutes les version 0.3.* de cucumber sont valides.

    Mais si vous n’avez, comme moi, qu’une version > 0.3 d’installée sur votre machine, eh bien vous tomberez sur cette belle erreur dès que vous ferez appel à rake dans votre projet. Impossible même de faire un “rake gems” pour voir si toutes les bonnes gems sont installées.

    La solution est donc simplement d’installer la bonne version de cucumber.

    gem install cucumber -v 0.3.9

    Cela devrait régler le soucis.