Partage
  • Partager sur Facebook
  • Partager sur Twitter

PHP ou NODEJS

    29 décembre 2015 à 22:56:25

    Bonjour.

    Je ne savais pas trop ou poster mon message, du coup je l'ai mis ici.
    Je m'occupe d'un logiciel de gestion en client lourd et nous sommes actuellement en train de réfléchir à le passer en full WEB.

    Pour vous donner une idée:
    - Environ 150 tables (client, produits, ventes, utilisateurs, droits...)
    - Multi SGDB : il tourne aussi bien sous ORACLE, MSSQL, FIREBIRD...
    - Environ 60 éditions différentes, exportables en PDF / excel..
    - Plus de 200 fenêtres windows

    Nous installons ce dernier chez nos clients, pas d'hébergement pour l'instant, même si cela va bientôt arriver.
    Ceci explique l'aspect multi-SGBD, nous nous adaptons au besoin de client, certains imposent ORACLE par exemple.

    Par contre, cela va de l'install monoposte ( 1 utilisateur) à l'install sur serveur applicatif et serveurs SGBD dédiés (une centaine d'utilisateurs).

    Je suis en train de regarder quelle serait la meilleure solution entre APACHE/PHP et NODE JS côté serveur, sachant que:

    Nous avons d'autres produits périphériques au logiciel principal qui tournent depuis des années avec APACHE/PHP et que nous avons récemment refait en PHP/AJAX/JQUERY/BOOTSTRAP.
    Au niveau PHP nous n'avons pas non plus passé le cap des frameworks. Nous avons développé en internet nos propres classes PHP (abstraction du SGBD par exemple).
    Ceci tourne d'ailleurs trés bien. Nous avons donc les compétences en interne sur ces technologies.

    Depuis quelques temps nous entendons beaucoup parler de NODE JS avec ANGULAR JS côté client et je souhaiterais savoir:
    - Si c'est bien adapté à notre besoin (volumétrie, installation chez tous nos clients même sur monoposte)
    - Si cela vaut le coup de basculer sous NODE plutôt que de rester sous PHP (compétences internes, formations, principe de fonctionnent totalement différent...)
    - Si une autre solution pourrait être envisagée ( framework PHP...).

    Bref, j'ai besoin de vos lumières et surtout de vos meilleurs arguments :-).
    J'ai discuté avec pas mal de monde mais le pur dev PHP nous conseillera PHP alors que le pur dev JS nous conseillera plutôt NODE.
    Il est difficile de prendre du recul et j'en suis conscient, le tout est de trouver l'outil que permettra de pérenniser notre application, en gros, ne pas devoir la redévelopper dans 3 ans.

    Merci par avance.

    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2015 à 18:22:59

      Ben vu l'architecture decrite, il vaut mieux rester sur PHP. Car NodeJS n'est pas encore mur pour creer des applications dite interne entreprises.

      En fait prenons par exemple l'exportation de PDF et d'excel. Regarde sur nmp.js si tu peux exporter ou non. Si c'est pas possible, il faut pas du full nodejs.

      Ensuite, PHP est tres vieux mais il y a plein d'acteurs. Par contre, je te conseille de faire une architecture SOA avec des containers (docker par exemple vu que tu n'as qu'un serveur) et de faire des services en NodeJS et en PHP.

      Decoupe tes applications le plus possible et les faire evoluer dans le futur sera plus simple.

      Nodejs a des performances beaucoup plus elever que PHP. PAr exemple, tu pourrais faire des services (HTTP Rest API) en Nodejs et pour les flux des exportations de creations de document en PHP.

      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2016 à 0:18:53

        Merci pour ta réponse.

        J'ai commencé à regarder de près NodeJs Histoire de me faire une opinion sur la question.

        Résutat : c'est pas pour nous....

        Dés que j'ai voulu installer les packages Oracle ou Firebird, je me suis retrouvé avec des dépendances dans tous les sens. Impossible d'y arriver sans installer Python V 2.X, Visual C++, Windows SDK... bref, en terme de déploiement chez un client c'est juste pas possible.

        J'image le bazar pour installer ça sur un serveur d'exploitation client sur lequel tournent déjà des applis métier.

        Du coup j'ai commencé à regarder du côté des services RESTful.

        L'idée étant un service REST en PHP sur serveur Apache facile à mettre en œuvre, puis côté client du Angular js. Le tout communicant en JSON. Concernant la gestion des données ce système convient bien ( CRUD ), par contre, etant donné que tout va se passer côté client avec Angular js, je ne vois ps trop comment gérer les droits utilisateurs et les sessions.

        Jusqu'à présent on gérait cela en sessions PHP. Lors d l'identification on stockait tout le nécessaire dans des variables de session PHP et hop on s'en servait facilement dans toutes les pages (affichage du menu par rapport aux droits, infos utilisateur.....). L'objectif etant de ne pas requeter a chaque page pour connaître les droits de l'utilisateur.

        De plus, pour les éditions et exports PHP faisait cela très bien, en Angular JS je ne vois pas trop comment m'en sortir.

        Ton idée de découpage est séduisante, peut être du REST PHP pour les donnés (CRUD) , garder les sessions PHP en l'etat quitte à faire évoluer ce point par la suite....

        -
        Edité par Sylvar30 3 janvier 2016 à 0:21:11

        • Partager sur Facebook
        • Partager sur Twitter
          25 juin 2016 à 8:44:09

          Hello,

          Pour aller dans ton sens Sylvar30, il existe des framework PHP te permettant de faire des API RESTful.

          Pour en citer quelques uns très relativement performants : Slim Framework, Lumen.

          Je t'invite à jeter un oeil à un autre framework qui se base sur un des deux derniers pour avoir un API from scratch très rapidement : Dingo API.

          Bien à toi,

          • Partager sur Facebook
          • Partager sur Twitter

          PHP ou NODEJS

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown