ssacard / mon-dvdclub

My very own project to share DVDs between friends
www.mondvdclub.fr
3 stars 0 forks source link

Une connexion envoie systématiquement un mail de bienvenu #37

Closed ssacard closed 13 years ago

ssacard commented 13 years ago

1/ Créer un compte via Facebook ou en direct => On reçoit un mail de bienvenu

2/ Se déconnecter et se reconnecter via Facebook ou en direct => On reçoit à nouveau le mail, on ne devrait pas .

Merci !

oelmekki commented 13 years ago

Ah mais le pb est plus grave que ça en fait : quand on se connecte avec facebook pour la première fois, le user n'est pas créé dans la db.

Bien sûr, ça fonctionne comme prévu en local. Heroku commence à m'agacer :/

ssacard commented 13 years ago

On peut déployer sur une autre plateforme si besoin, pas de soucis.

Pourquoi est-ce dû à Heroku ?

Le 19 juil. 2011 à 11:57, oelmekki a écrit :

Ah mais le pb est plus grave que ça en fait : quand on se connecte avec facebook pour la première fois, le user n'est pas créé dans la db.

Bien sûr, ça fonctionne comme prévu en local. Heroku commence à m'agacer :/

Reply to this email directly or view it on GitHub: https://github.com/ssacard/mon-dvdclub/issues/37#issuecomment-1605785

oelmekki commented 13 years ago

Pas certain que ça vienne de heroku, je pencherais plus pour l'instant pour un problème de subdomain, comme c'était le cas pour la déconnexion facebook.

Le problème avec heroku, c'est que quand on a un problème en prod, il n'y a pas de manière simple de le debugger : on est obligé pour chaque test de faire un commit en local et de le pusher. Il y a bien la console rails, mais elle n'est que de peu d'utilité quand le problème concerne un service tiers, comme c'est le cas avec facebook.

Lorsqu'on sera en rails-3, on pourra mettre l'app sur mon server de pré-prod rails, si tu veux. En utilisant capistrano, le déploiement est aussi simple qu'avec heroku et se résume en une commande : cap deploy. Ça crée une nouvelle version de l'app dans le fs, migre la db, restart le server, et tout autre tâche qu'on veut automatiser. ET ça permet de se connecter en ssh pour aller voir ce qui ne va pas :)

ssacard commented 13 years ago

Qu'est-ce qu'on pourrait voir sur un serveur qu'on ne peut pas voir sur Heroku avec la commande "heroku logs" ?

Le 19 juil. 2011 à 12:14, oelmekki a écrit :

Pas certain que ça vienne de heroku, je pencherais plus pour l'instant pour un problème de subdomain, comme c'était le cas pour la déconnexion facebook.

Le problème avec heroku, c'est que quand on a un problème en prod, il n'y a pas de manière simple de le debugger : on est obligé pour chaque test de faire un commit en local et de le pusher. Il y a bien la console rails, mais elle n'est que de peu d'utilité quand le problème concerne un service tiers, comme c'est le cas avec facebook.

Lorsqu'on sera en rails-3, on pourra mettre l'app sur mon server de pré-prod rails, si tu veux. En utilisant capistrano, le déploiement est aussi simple qu'avec heroku et se résume en une commande : cap deploy. Ça crée une nouvelle version de l'app dans le fs, migre la db, restart le server, et tout autre tâche qu'on veut automatiser. ET ça permet de se connecter en ssh pour aller voir ce qui ne va pas :)

Reply to this email directly or view it on GitHub: https://github.com/ssacard/mon-dvdclub/issues/37#issuecomment-1605872

oelmekki commented 13 years ago

Par exemple ici, on a un pb dans la méthode facebook_connect du controller users. Cette méthode prend en paramètre des arguments cryptiques fournis par facebook. Elle ne génère pas d'erreur, il n'y a juste pas d'user créé.

Si je voulais la "simuler", il faudrait d'abord que je retrouve les arguments passés par facebook et que je les utilise en console. Painful.

Étant donné que ça dépend d'une requête venant d'un service tiers, c'est l'une des rares occasions ou c'est plus pratique de mettre des infos de debug dans la méthode concernée plutôt que d'utiliser la console rails.

Si je peux me connecter en ssh, je modifie le fichier sur le server de prod pour faire appaitre des infos dans les logs, ce qui me permet éventuellement de le reproduire en local.

Avec heroku, je dois modifier le fichier en local, commit la modif de debug, la push sur heroku, puis si ça ne suffit pas, remodifier le fichier en local, le recommit, le repush, etc. C'est non seulement plus long et plus pénible, mais en plus ça pourri les logs git.

ssacard commented 13 years ago

OK je comprends.

Heroku est effectivement une plateforme de "prod", l'alternative serait d'avoir un environnement de dev similiaire (domaine en www.mondvdclub.fr) ? Mais cela nécessite de se passer de Webrick, et d'avoir une conf Apache+Passenger ?

Le 19 juil. 2011 à 12:23, oelmekki a écrit :

Par exemple ici, on a un pb dans la méthode facebook_connect du controller users. Cette méthode prend en paramètre des arguments cryptiques fournis par facebook. Elle ne génère pas d'erreur, il n'y a juste pas d'user créé.

Si je voulais la "simuler", il faudrait d'abord que je retrouve les arguments passés par facebook et que je les utilise en console. Painful.

Étant donné que ça dépend d'une requête venant d'un service tiers, c'est l'une des rares occasions ou c'est plus pratique de mettre des infos de debug dans la méthode concernée plutôt que d'utiliser la console rails.

Si je peux me connecter en ssh, je modifie le fichier sur le server de prod pour faire appaitre des infos dans les logs, ce qui me permet éventuellement de le reproduire en local.

Avec heroku, je dois modifier le fichier en local, commit la modif de debug, la push sur heroku, puis si ça ne suffit pas, remodifier le fichier en local, le recommit, le repush, etc. C'est non seulement plus long et plus pénible, mais en plus ça pourri les logs git.

Reply to this email directly or view it on GitHub: https://github.com/ssacard/mon-dvdclub/issues/37#issuecomment-1605926

oelmekki commented 13 years ago

Ce n'est pas une urgence, cela dit, c'est pénible mais je peux me débrouiller :)

Perso, j'utilise nginx + unicorn, sur mon server. C'est plus une config de prod que de pré-prod, parce que le gros intérêt de unicorn est d'être capable de redémarrer sans interrompre les connexions en cours (idéal pour les sites à fort traffic, c'est d'ailleurs la config utilisée par github). Mais ça ne fait pas de mal en pré-prod/dév non plus :)

oelmekki commented 13 years ago

Ah, ça ne change rien en local, bien sûr, tu peux utiliser le server que tu veux.

ssacard commented 13 years ago

OK !

Le 19 juil. 2011 à 12:32, oelmekki a écrit :

Ce n'est pas une urgence, cela dit, c'est pénible mais je peux me débrouiller :)

Perso, j'utilise nginx + unicorn, sur mon server. C'est plus une config de prod que de pré-prod, parce que le gros intérêt de unicorn est d'être capable de redémarrer sans interrompre les connexions en cours (idéal pour les sites à fort traffic, c'est d'ailleurs la config utilisée par github). Mais ça ne fait pas de mal en pré-prod/dév non plus :)

Reply to this email directly or view it on GitHub: https://github.com/ssacard/mon-dvdclub/issues/37#issuecomment-1605966

oelmekki commented 13 years ago

fixed

ssacard commented 13 years ago

Merci !

Le 19 juil. 2011 à 14:05, oelmekki a écrit :

fixed

Reply to this email directly or view it on GitHub: https://github.com/ssacard/mon-dvdclub/issues/37#issuecomment-1606399