-
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 RefineryLe 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 +
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 +
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 +
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 +
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.