IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

NodeJS Discussion :

La bonne technologie à adopter ?


Sujet :

NodeJS

  1. #1
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    décembre 2004
    Messages
    2 492
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2004
    Messages : 2 492
    Points : 4 061
    Points
    4 061
    Par défaut La bonne technologie à adopter ?
    Bonjour,

    Je souhaite solliciter votre point de vue expert, car je cherche à savoir si node.js peut convenir à mon besoin.

    Pour faire bref, je cherche à créer mon propre logiciel serveur, inspiré des principes d'un serveur web, mais avec ses particularités propres. Ainsi, mon serveur servira à stocker des fichiers d'une certaine nature (disons, des fichiers Autocad par exemple), organisés de manière très particulière sur le File System du serveur. Puis, je souhaite offrir un protocole d'accès dédié, logiquement baptisé autocad (et non pas http), muni de ses propres verbes d'actions (et non pas les sempiternels GET, POST, PUT, ...). Ceci nous donnerai quelque chose dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VIEW autocad://host:port/layer1/
    Renverrai le fichier situé sur le serveur concerné, stocké dans /assets/layer1/main.dwg (le nom 'main' serait une convention par exemple)

    Bref, mon propre protocole requête/réponse réseau, avec ses propres verbes (et des données associées si besoin), son propre type MIME, ses propres codes de retour, etc. Je sens bien que ce n'est qu'un http maquillé et c'est pour cela que j'hésite. Dois-je m'appuyer et encapsuler http dans protocole customisé ou bien dois-je descendre au niveau plus bas afin de recréer entièrement mon protocole ? Node.js est elle la technologie pour cela ? Je voyais la logique suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //1) écoute sur le port 6666 (par pure convention)
     
    //2) extraction du verbe et des données associées depuis la requête
     
     Si verbe = VIEW alors
     
              //accès au fichier sur le File System
             //écriture des octets dans la réponse
     sinon si verbe = CLOSE alors
     
    ..
     finsi
    ...



    [mode élargissement]
    Je vais aussi devoir offrir des API clientes (en Java, en JavaScript, ...) pour intégrer les requêtes/réponses du protocole custom autocad dans différents type de logiciels client. Or là aussi, je sens bien que j'ai besoin de m'appuyer sur les API client http existantes. Je ne vais quand même pas tout réinventer.
    [/mode]

    Merci d'avance de votre éclairage.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  2. #2
    Membre éclairé
    Avatar de Enerian
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    août 2011
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : août 2011
    Messages : 230
    Points : 863
    Points
    863
    Par défaut
    Salut,

    Pour ce qui est du protocole, les deux solutions ont leurs avantages et leurs inconvénients. Le plus simple est certainement d'utiliser le protocole HTTP pour encapsuler des messages dans un format définit qui devient ton protocole. A toi de voir si ça suffit ou non à tes besoins.

    Pour ce qui est de la technologie, avec ce que tu nous a dis, je dirais que n'importe quel langage/plateforme peut répondre à ton besoin. Mais tu as peut-être d'autres contraintes dont tu n'as pas parlé ? par exemple : ton application sera gourmande en CPU, en mémoire ?

  3. #3
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2011
    Messages
    1 040
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2011
    Messages : 1 040
    Points : 2 583
    Points
    2 583
    Billets dans le blog
    1
    Par défaut
    Comme node.js se base sur le protocole http, je pense que tu vas avoir du mal à réaliser ta solution.....
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    octobre 2010
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2010
    Messages : 311
    Points : 539
    Points
    539
    Par défaut
    Citation Envoyé par skeud Voir le message
    Comme node.js se base sur le protocole http, je pense que tu vas avoir du mal à réaliser ta solution.....
    C’est faux Node.js est Framework au même titre que Java ou dotnet, il n’est basé sur aucun protocole de com et on peut faire tout type d’applications avec !
    J’ai abandonné dotnet au profit NodeJS il y a plus 2 ans et je ne le regrette pas !

    Par contre il est obligatoire de respecter le model asynchrone, mono-threadé basé sur une boucle d’évènements, cela impose une certaine gymnastique de l’esprit quelque peu difficile pour les développeurs débutant.
    ShaderElement : Bénéficier de l’accélération graphique simplement par une nouvelle balise HTML <shader>
    ODE.js : portage JavaScript du célèbre moteur physique 3D Open Dynamics Engine

Discussions similaires

  1. Réponses: 30
    Dernier message: 16/03/2015, 15h52
  2. Quelle technologie adopter ?
    Par wishmerhill dans le forum Débuter
    Réponses: 3
    Dernier message: 19/05/2010, 10h29
  3. Réponses: 4
    Dernier message: 05/10/2009, 10h48
  4. Avis sur la technologie à adopter
    Par OttisToole dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 04/08/2009, 19h08
  5. Réponses: 3
    Dernier message: 10/07/2009, 23h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo