Calculatrice en Ruby on Rails


#1

Bonjour tout le monde!!!
Je viens vers vous dans l’espoir de trouver une solution à mon problème, au faite j’ai un défi à relever.
Voici mon problème mon patron m’a demandé de faire une calculatrice de type calculatrice windows en Ruby on Rails, depuis 3 jours déjà je n’arrive à rien, après plusieurs recherche sur internet, j’ai pas trouvé de sujet qui traite la question.
J’aimerai savoir si c’est possible de le faire en Ruby on rails et si c’est possible quel sont les pistes…
En plus pour ce défi il y’a des contraintes qu’il ma imposé:

  • L’utilisation de Javascript, de Jquery, Ajax est formellement interdit dans le projet
  • Effectuer toutes les opérations sans rechargement de la page

Je suis vraiment perdu.

Merci d’avance
Cordialement #TheKernel


#2

Un framework frontend type Angular JS serait plus approprié.


#3

ok merci Toilal
Mais le contraint de mon projet est que je doit pas utilisé de javascript et ses bibliothèques, j’aimerai savoir sans javascript est-il possible de faire une telle application???


#4

Ce n’est pas possible de mettre à jour uniquement une partie de la page sans javascript. Si tu n’as pas le droit de recharger la page, et pas le droit d’utiliser javascript, ce n’est pas faisable.

Conclusion : envoie le chi** :)


#5

Non. J’ai l’impression que tu veux faire une application lourd. Dans tous les cas, tu devras passer par du Javascript pour rafraîchir tes résultats sans rafraîchir sur navigateur.

Sois tu dois rafraîchir la totalité de la page.
Il faut utiliser des langages plus client lourds comme C#, Java, C++, …

Tu as des trucs comme cela : http://www.fxruby.org
C’est du ruby (pas de ruby on rails) mais cela devrait faire l’affaire. En plus ruby on rails, cela va forcement avec Javascript et HTML (a moins que tu développe ton moteur de rendu avec Chromium ou autre :p).

Si tu as vraiment besoin d’utiliser Ruby on rails, tu peux toujours développer des web service en Ruby on rails et appeler ce service a partir d’un application lourd fait avec un autre langage.


#6

Merci à tout le monde et à tout ceux qui m’on repondis, je suis vraiment fier de faire partir de ce forum.
Merci!!


#7

Je suis d’accord avec @Toilal et @bastienvinh. Tu ne peux pas modifier une partie de la page sans Javascript à mon de faire une application lourde en Ruby.

C’est un peu étrange comme demande. C’est un test ?


#8

En effet ne pas rafraichir la page et ne pas pouvoir utiliser javascript pour récupérer les résultats ça complique un peu les chose mais si tu peux pas utiliser js tu peut par contre utiliser le css et il y a quelques hacks pour faire une calculatrice en pure css http://experiments.hertzen.com/css3calculator/ bon par contre dans ce cas là rails sert plus a rien mais si ca fait plaisir a ton boss… ou sinon comme l’a dit Toilal tu peux l’envoyer chier :p


#9

Tu peux utiliser les websocket.
Techniquement ce n’est pas de l’AJAX ;-)
Le petit lien qui va bien https://code.google.com/p/jquery-websocket/
Boom !! Neeeext !!
;-)
(à moins que je me sois trompé)


#10

Mais pour utiliser du websocket, il faut utiliser Javascript ^^.


#11

My mistake avec mon esprit super logique quand j’ai lu
"- L’utilisation de Javascript, de Jquery, Ajax est formellement interdit dans le projet"
J’ai compris.
L’utilisation de Javascript (oui) de Jquery (oui) mais d’Ajax (non)
Si c’était écrit

  • L’utilisation de Javascript, de Jquery et d’Ajax SONT formellement interdit dans le projet
    J’aurais compris.

#12

Pour être clair, cette demande me fait penser à “je veux un cheval qui courre vite mais qui n’a pas le droit d’utiliser ses pattes”. Et je ne parle là que du problème “pas de JS et pas de rechargement”, faire une calculatrice c’est bien plus complexe que cela et ruby n’est pas réellement adapté pour du calcul numérique. Par exemple tentes :

[1] pry(main)> 0.1 + 0.2 - 0.3
=> 5.551115123125783e-17

Ce n’est d’ailleurs pas un problème de ruby mais de la représentation des nombres utilisée par ruby (Js aura le même problème si je me rappelle bien). Je ne sais pas dans quel cadre a lieu ce “défi”, mais une calculatrice à 10€ coutera moins chère, sera disponible plus vite et devrais mieux fonctionner !


#13

Tu n’as pas de patron.
Cette demande est irrréaliste et irrationnelle et n’a pas de sens économique.
Tu as un prof un peu sadique (ou très incompétent) qui a décidé de vous bizuter.

Ruby, Rails, JS savent tous faire des calculatrices mais personne ne le fait car tout le monde en a une. Coder une calculette avec un vrai parseur, et de vrais algos pour des cas particuliers (ex: Karatsuba pour les multiplications de très grands nombres) ont une belle valeur pédagogique, certes.

Ce que je ferais pour répondre à son besoin (et me moquer de lui, mais poliment) est une commande “à la google” où ton “client” va taper dans l’URL son expression mathématique :
http://monprojet.com/calcs/calc/42*2 - 21*2
et le code ressemblerait à une seule action que voici

def calc
  render :text => eval(params[:id])
end

(j’ai pas regardé la doc de eval : je ne l’utilise jamais et vous ne devriez pas non plus)

Bon courage ;)


#14

Très malin, j’aime beaucoup :)