Salut à tous !

Je suis actuellement en train de me pencher sur le redéveloppement d'un de mes sites web qui est actuellement codé en MVC PHP, cependant j'aimerai (dans l'idéal) partir sur une technologie novatrice qui me permetterai d'avoir des informations en temps réel (notification, message, etc).

Du coup, quoi de mieux que NodeJS ?^^.

Vu que je n'y connais pas grand chose en nodejs mais que cette techno m'intéresse, je me tourne vers vous, est-ce une bonne initiative de partir sur ce framework ?

Merci d'avance pour vos avis !

8 réponses


Je trouve que la documentation de sails laisse vraiment à désirer.
Le plus simple est de partir sur des modules plus connus avec des documentations plus complètes:

  • express pour les routes
  • socket.io pour les notifications en temps réel
  • jade pour la partie template
  • sequelize pour l'orm et la gestion de la base de donnée
  • etc...

Et avec tout les packages disponibles sur npm, tu peux faire ton framework fait maison.

Plutôt d'accord avec @reserhread :)

shinix
Auteur

Merci de ta réponse.

Oui je suis assez d'accord pour la doc sur sails mais aussi le gros manque de tutoriaux sur la toile (aussi bien en anglais qu'en français). Mais son avantage est qu'il regroupe tout ce que tu dis (EJS à la place de jade et Waterline pour l'ORM, sinon c'est pareil). Sails utilise déjà express et socket.io.

Sails est plutot accessible et vraiment il gere une large gamme de besoins (socketio, express comme tu dis et sont pti orm qui est pas mal du tout : https://github.com/balderdashy/waterline).

Par contre je pense que maitrisé nodejs un minimum, et express est conseillé. Sinon on risque de s'embrouillé rapidement et de pas savoir ce qu'on fait et pourquoi on le fait :/

Personnellement je ne m'en sers que comme Api, crawler, robot communiquant entre plusieurs autres api (adwords/bing/appnexus etc.), et aussi pour des interfaces (dashboard de statistiques).

Et malgré quelques crise de nerfs, car oui, pas trop de docs donc parfois c'est un peu galere pour certaines utilisations particulières (Dans mon cas la gestion de plusieurs bdd de facon dynamique dans un seul model, mais c'est vraiment pas souvent ce genre de besoin ...), après ca reste du Nodejs avec Express, donc pas de docs sails mais de la doc sur les modules utilisés sont dispos, de meme avec l'orm ...

Pour du site complet je n'ai pas tester les vues en production... A tester :p

Personnellement je vais l'utilisé pour mes autres projets, la communauté grandit et depuis le début ca va vite et ca a bien évolué je trouve.

Quelques liens pour ceux qui veulent en savoir plus :
http://www.bootyourbrain.com/developpement/
http://www.dhumez-sebastien.com/
Deja posté sur Grafikart : http://blog.netapsys.fr/

shinix
Auteur

D'accord, merci pour ton message Psyrus, effectivement, dans mon cas je débute en nodejs, déjà faire une partie connexion avec utilisateurs était bien complexe (ah ah !) mais j'aime les challenges.

Par contre, c'est bien ce qu'il me semble un site full sails c'est peut-être pas judicieux, surtout le genre de site que je souhaite faire (le site en question ici) du coup tu me conseils plutôt de ne pas forcement partir là dessus ?

PS : merci pour tes liens qui me semble fort intéressant !

A mon avis ca depend un peu du temps que tu as pour le réalisé et si tu maitrise mieux un autre langage (peu importe lequel tant que tu le maitrise).

shinix
Auteur

Oui, l'idée actuellement est de sortir des sentiers battus et de re-développer le site avec un framework connu qui peut prendre en charge certaines parties que mon Framework ne le fait pas d'office (API pour le développement futur d'une app mobile, real time pour les messages, etc). Après j'ai depuis toujours créés des sites avec PHP et ce langage ne gère pas le real time du coup je me demande si en 2015 ce n'est pas temps de changer

La plupart de mes projets tournent sur des frameworks PHP léger et pour les API et le realtime j'utilise justement Nodejs quand je peux (Sinon du REST en php ou Python suivant les besoin et le temps de dev dont je dispose).

Tu peux aussi faire du Realtime avec du php, mais je connais pas du tout : http://socketo.me/

Tout faire avec Sails c'est sur c'est pas mal de taf mais tu as pas mal d'outils, raccourcis, qui vont te faire gagner du temps, mais l'autoformation sur celui-ci t'en prendra pas mal aussi, faut voir.

Tu peux aussi faire ton API pour tes besoins actuel (realtime essentiellement, ou tout ce qui touche aux bdd aussi), recupérer chaques infos depuis ton site actuel et le jour ou tu te motive développer le front sur ton app sails et tout basculé.

Coté sails et socket.io vraiment c'est abordable et la doc assez clair :
http://sailsjs.org/documentation/reference/web-sockets/socket-client
http://sailsjs.org/documentation/reference/web-sockets/sails-sockets