Une journée dédiée à MongoDB

mongoFR badges

Le 21 Juin se tiendra à Paris un événement auquel je vous invite à venir. Cet événement sera dédié à MongoDB, le MongoFR.

J'ai la chance de pouvoir proposer une petite conférence sur un retour d'expérience : ma migration de SQL à MongoDB sur Oupsnow. Hormis les développeurs de 10Gen, il n'y aura que des Rubyists.

Selon moi, cette nouvelle technologie qu'est MongoDB est assez prometteuse.

Pour découvrir MongoDB, venez nombreux le 21 Juin !

English translation[...]

Published on Mer 19 mai 2010 13:24
0 commentaires

Oupsnow 0.5.0 est sortie

Ca y est, j'ai presque pris un cycle de release pas trop mauvais. Ainsi après seulement un mois après la version 0.4.1 de Oupsnow, voici la version 0.5.0. Cette version apporte quelque feature, mais marque surtout un moment de stabilité dans le code.

Les nouveautés

  • Ajout d'un filtre sur la recherche des tickets pour ne voir que les tickets fermé ou non
  • Possibilité d'éditer une milestone pour les admin d'un projet
  • Possibilité de définir une milestone comme actuelle. Par défaut, c'est la première milestone créée
  • Possibilité de récupérer son password par email
  • Possibilité de rester connecter avec un remember_me
  • Ajout d'information concernant le nombre de tickets filtrés ou vues
  • Possibilité pour chaque utilisateur loggé de suivre un ticket. Un utilisateur qui suit un ticket recevra ainsi à chaque mise à jour de ce ticket un email concernant cette modification.
  • Les utilisateurs ne peuvent plus changer leur email.

Enfin comme d'habitude voici mon fichier capistrano de déployement pour faciliter celui-ci.

Ficher de déployement capistrano

set :application, "oupsnow"
set :repository,  "git://github.com/shingara/oupsnow.git"
set :domain, "dev.shingara.fr"

# If you aren't deploying to /u/apps/#{application} on the target
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
set :deploy_to, "XXXXXXXXX"

# If you aren't using Subversion to manage your source code, specify
# your SCM below:
# set :scm, :subversion
set :scm, :git
set :git_enable_submodules, 1

set :runner, "xxxx"
set :user, "xxxx"
set :use_sudo, false

set :thin_conf, "/etc/thin/#{domain}.yml"

set :rails_env, "production"                                                                                                                                   

role :app, domain
role :web, domain
role :db,  domain, :primary => true

task :update_config, :roles => [:app] do
  run "ln -s #{shared_path}/config/database.yml #{release_path}/config/database.yml"
  run "ln -s #{shared_path}/config/email.yml #{release_path}/config/email.yml"
  run "ln -s #{shared_path}/config/initializers/errornot.rb #{release_path}/config/initializers/errornot.rb"
  run "cd #{release_path} && echo 'GOOGLE_ANALYTICS=\"XXXXXXXX\"' >> config/environment.rb"
end

namespace :deploy do
  task :start, :roles => [:app] do
    run "thin -C #{thin_conf} start"
  end 

  task :stop, :roles => [:app] do
    run "thin -C #{thin_conf} stop"
  end 

  task :restart, :roles => [:app] do
    run "thin -C #{thin_conf} restart"
  end 
end

task :update_db do
  run "cd #{current_path} && RAILS_ENV=#{rails_env} rake db:update"
end

after "deploy:update_code", :update_config
after "deploy:symlink", :update_db

English translation[...]

Published on Lun 15 mars 2010 21:26
0 commentaires

Sortie de Typo 5.4.0

Ça y est, une nouvelle version de Typo est lancée dans la nature. Je n'ai hélas que très peu participé à cette nouvelle version faute de motivation/temps. Mais je suis toujours très content de voir une nouvelle version de ce blog sortir.

A chaque release, une nouvelle admin fait son apparition, mais à chaque fois elle est meilleure que la précédente, donc c'est une excellente chose.

J'ai bien-sûr mis à jour ce blog et j'ai aussi switché sur le nouveau thème par défaut. Je suis toujours aussi nul en design.

En petit cadeau, voici mon fichier capistrano que j'utilise pour déployer ce blog. Ça peux toujours vous servir. On ne sait jamais.

set :application, "typo"
set :repository,  "git://github.com/fdv/typo.git"
set :domain, "blog.shingara.fr"

# If you aren't deploying to /u/apps/#{application} on the target
# # servers (which is the default), you can specify the actual location
# # via the :deploy_to variable:
set :deploy_to, "/var/rails/blog-typo"
#
# # If you aren't using Subversion to manage your source code, specify
# # your SCM below:
set :scm, :git

set :runner, "rails"
set :user, "rails"
set :use_sudo, false

set :thin_conf, "/etc/thin/#{domain}.yml"

role :app, domain
role :web, domain
role :db,  domain, :primary => true

task :update_config, :roles => [:app] do
  run "cp -Rf #{shared_path}/config/* #{release_path}/config/"
  run "ln -s #{shared_path}/files #{release_path}/public/files"
end

task :update_gems, :roles => [:app] do
  run "cd #{release_path} && RAILS_ENV=production rake gems:install"
end


after "deploy:update_code", :update_config
after "deploy:update_code", :update_gems


namespace :deploy do
  task :start, :roles => [:app] do
    run "thin -C #{thin_conf} start"
  end

  task :stop, :roles => [:app] do
    run "thin -C #{thin_conf} stop"
  end

  task :restart, :roles => [:app] do
    run "thin -C #{thin_conf} restart"
  end
end

task :clear_cache, :roles => [:app] do
  run "cd #{current_path} && RAILS_ENV=production rake sweep_cache"
  run "cd #{current_path} && RAILS_ENV=production rake tmp:cache:clear"
end

after "deploy:restart", :clear_cache
after "deploy:start", :clear_cache

English Translation

[...]
Published on Lun 21 déc 2009 20:30
0 commentaires

Sortie de Oupsnow 0.4.0

Ca y est, Oupsnow 0.4.0 est enfin sorti. Cette version est un refactoring quasiment complet. Après avoir eu une version 0.3.0 en Merb/DataMapper, cette version est désormais en Rails/MongoDB. Le back-end et le serveur ont changé.

Cette nouvelle version, outre son refactoring comprend aussi l'ajout de quelques nouvelles fonctionnalités.

  • Ajout d'un filtre par Status dans la recherche de ticket
  • Ajout de la possibilité de changer la fonction de tous les membres d'un project
  • Ajout de la preview des tickets et commentaires sur les tickets
  • Ajout de la visualisation de la milestone courante dans la visualisation d'un ticket
  • Possibilité d'ordonner tous les champs de recherche dans la vue des tickets
  • Login par l'email et plus par le pseudo

Vous pouvez télécharger cette version sur rubyforge

Si vous souhaitez tester cette version, une version de demo de oupsnow est en ligne. Les login/mdp sont : admin@admin.com/oupsnow. Amusez vous bien.

[...]
Published on Mar 01 déc 2009 22:02
2 commentaires

Open-notification v0.1.0 est sortie

Il y a maintenant un mois, j'ai commencé à jouer avec nanite. Pour essayer un peu cette technologie, j'ai réaliser une mini application en sinatra et un agent nanite qui envoi des notifications par Jabber.

De fil en aiguille, le code s'est agrémenté et est surtout passé à Merb avec un système de persistance en CouchDB.

L'idée de base est extrêmement simple, gérer plein de notification de tous type. Il existe déjà ce genre de système comme messagepub. Mais là ca sera open source.

Open notification sort donc en version 0.1.0 pour sa première version. Le code sera mis sous licence AGPLv3. Il est composé d'un agent nanite qui gére l'envoi des notifications jabber et d'une application avec Merb/CouchDB.

La méthode de déploiement est assez compliqué je l'avoue car il n'y a aucune documentation. Cela arrivera dans les prochaines versions.

Une version complête est utilisable par tout un chacun sur open-notification.com. Ce service n'a pour l'instant aucune pérennité. Mais on verra dans le futur ce que ca donnera.

[...]
Published on Sam 08 août 2009 21:03
2 commentaires

Watchman en Alpha par JTEK

Un de mes projets chez JTEK est la création de Watchman. Cette application permet d'aider à vérifier la sécurité de son serveur.

Une annonce officielle a ainsi ouvert Watchman en Alpha. N'hésitez pas à le tester.

[...]
Published on Mar 10 mars 2009 10:48
0 commentaires

Sortie de Oupsnow 0.2.0 avec mise en production

Ca y est, après moins d'un mois, voici la nouvelle version de Oupsnow. Cette version 0.2.0 est la première version que je mets moi même en production. En effet, désormais ma platforme de développement n'est plus propulsé par Redmine, c'est Oupsnow.

Les nouveautés de cette version sont les suivantes :

  • Un converteur Redmine -> Oupsnow a été intégré. C'est grâce à lui que j'ai pu changer ma platforme de développement sans perte.

On été ajouté :

  • Une gestion des milestones
  • Une gestion des Etats des tickets
  • Une gestion des Sévérité des tickets
  • Formatage des textes avec RedCloth

Après cette nouvelle release, j'ai vais pouvoir me reconcentrer sur Typo et ainsi faire la fonctionnalité phare de la version 5.2.1.

English translation

[...]
Published on Mar 10 fév 2009 20:09
2 commentaires

sortie de typo 5.2

A mon tour de vous annoncer la sortie de Typo 5.2. Cette sortie est la première sortie où je participe activement. En effet, depuis Août dernier, je suis contibuteur de Typo. J'ai d'abord commencé par faire la migration de Typo sur Rails 2.2 (avant même la sortie officiel de Rails 2.2). J'ai ensuite continué avec Frédéric à améliorer au maximum les performances et l'utilisabilité de Typo.

Aujourd'hui avec cette sortie de Typo, le travail est vraiment à la hauteur. Nous avons tout fait pour que cela soit optimum. Mais surtout nous n'avons pas fini. Nous avons ainsi énormément d'idée qui seront intégré dans Typo dans le futur. Nous allons aussi essayé de faire des releases plus régulièrement.

En bonus, voici mon fichier capistrano que j'utilise pour déployer Typo.

set :application, "typo"
set :repository,  "git://github.com/fdv/typo"
set :domain, "shingara.fr"

# If you aren't deploying to /u/apps/#{application} on the target
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
set :deploy_to, "/var/rails/blog-typo"

# If you aren't using Subversion to manage your source code, specify
# your SCM below:
set :scm, :git
set :git_enable_submodules, 1

set :runner, "rails"
set :user, "rails"
set :use_sudo, false
set :thin_conf, "/etc/thin/typo.yml"

role :app, domain
role :web, domain
role :db,  domain, :primary => true

task :update_config, :roles => [:app] do
  run "ln -s #{shared_path}/config/database.yml #{release_path}/config/database.yml"
  run "ln -s #{shared_path}/files #{release_path}/public/files"
  run "ln -s #{shared_path}/cache #{release_path}/tmp/cache"
  run "ln -s #{shared_path}/newrelic_rpm #{release_path}/vendor/plugins/newrelic_rpm"
  run "ln -s #{shared_path}/config/newrelic.yml #{release_path}/config/newrelic.yml"
  run "ln -s #{shared_path}/config/agent #{release_path}/config/agent"
  run "ln -s #{shared_path}/config/mail.yml #{release_path}/config/mail.yml"
end

task :dump_before, :roles => [:app] do
  run "pg_dump -U typoblog typo > #{shared_path}/typo#{Time::today.strftime('%Y-%m-%d')}.sql"
end

namespace :deploy do
  task :start, :roles => [:app] do
    run "thin -C #{thin_conf} start"
  end

  task :stop, :roles => [:app] do
    run "thin -C #{thin_conf} stop"
  end

  task :restart, :roles => [:app] do
    run "thin -C #{thin_conf} restart"
  end
end

after "deploy:update_code", :update_config
before "deploy:migrations", :dump_before

English translation

[...]
Published on Dim 25 jan 2009 20:38
0 commentaires

Sortie de la première version de Oupsnow 0.1.0

Je suis assez content de vous présenter Oupsnow. En effet, après avoir participé à redmine et l'avoir utilisé, j'ai décidé de créer mon propre bug tracker. Je trouvais de plus en plus de défauts à Redmine qui n'était pas comblé. Il est très fortement inspiré de Lighthouse qui a l'avantage d'être vraiment simple d'utilisation.

Voici donc la première version qui sort après 2 mois de développement. Elle est encore loin d'être un produit complètement fini. Mais elle commence à avoir un début de fonctionnalité suffisante. De plus Oupsnow est un produit réalisé avec Merb. J'ai ainsi pu découvrir et approfondir Merb grâce à ce projet.

Dans la prochaine release, j'améliorerais un peu l'administration. Je créerais aussi un convertisseur de Redmine vers Oupsnow. Cela entrainera ma migration vers Oupsnow à la place de redmine pour ma plateforme de développement

J'ai mis en place une version de démonstration pour vous que ayez une idée de ce que Oupsnow permet.

En bonus, voici mon fichier deploy.rb qui m'a permis de déployer la version de démonstration de Oupsnow par capistrano

set :application, "oupsnow"
set :repository,  "git://github.com/shingara/oupsnow.git"
set :domain, "shingara.fr"

# If you aren't deploying to /u/apps/#{application} on the target
# servers (which is the default), you can specify the actual location
# via the :deploy_to variable:
set :deploy_to, "/var/rails/oupsnow-demo"
set :deploy_via,            :remote_cache
set :repository_cache,      "#{application}-src"



# If you aren't using Subversion to manage your source code, specify
# your SCM below:
# set :scm, :subversion
set :scm, :git
set :git_enable_submodules, 1

set :runner, "rails"
set :user, "rails"
set :use_sudo, false
set :rack_up, "/etc/thin/oupsnow-demo.ru"
set :merb_port, 46000

role :app, domain
role :web, domain
role :db,  domain, :primary => true

task :update_config, :roles => [:app] do
  run "ln -s #{shared_path}/config/database.yml #{release_path}/config/database.yml"
end

namespace :deploy do
  task :start, :roles => [:app] do
    run "merb -u #{user} -G #{user} -d -c 1 -p #{merb_port} -n #{application} -a thin -e production -m '#{deploy_to}/current/'"
  end

  task :stop, :roles => [:app] do
    run "merb -u #{user} -G #{user} -d -c 1 -K all -p #{merb_port} -n #{application} -a thin -e production -m '#{deploy_to}/current/'"
  end

  task :restart, :roles => [:app] do
    deploy.stop
    deploy.start
  end
end

after "deploy:update_code", :update_config

English translation

[...]
Published on Mer 21 jan 2009 17:54
1 comment

je suis devenu contributeur Rails

Depuis maintenant 8 jours, j'ai eu la chance de voir un de mes patchs intégrés dans Rails. Ainsi depuis ce commit, je peux dire que j'ai contribuer à Rails \o/

[...]
Published on Dim 30 nov 2008 11:30
2 commentaires

RSS Follow me on Twitter