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

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2016
    Messages : 35
    Points : 25
    Points
    25

    Par défaut Couplage application node JS avec angular 6

    Toutes mes salutations.

    J'ai un petit soucis de débutant qui me tracasse depuis un moment. Je viens de démarrer avec node JS et tout ce que je peux faire pour le moment (avec express notamment), c'est de récupérer des requêtes get ou post et de servir en retour des pages html avec quelques scripts du template ejs.

    Mais cela fait un bout de temps que j'entend parler de Angular qui est un très bon gestionnaire du frontend. J'ai un peu fouillé sur le net mais je crois bien que l'avis d'un expérimenté me serait très utile. Je sais qu'une application Angular peut utiliser comme serveur node JS mais ce que je veux, c'est de conserver mon application node JS qui fonctionne déjà très bien et de pouvoir remplacer mes pages html (intégrant des scripts ejs) par des pages qui auraient été créées en Angular.

    Je ne sais pas si celà est possible ni comment m'y prendre si oui mais vos interventions me seront très utiles. Merci à vous!

  2. #2
    Membre actif Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2014
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : octobre 2014
    Messages : 168
    Points : 240
    Points
    240

    Par défaut

    Bonjour,

    Tu viens de m'apprendre un truc ^^
    Je ne pensais pas que tu pouvais générer des page static côté serveur et les utiliser depuis Express :O

    Tu peux regarder la : https://angular.io/guide/universal
    Tu as un petit tuto a priori.

    A savoir que ce sont des page static donc je ne suis pas certains que tu puisse modifier les données dedans
    Et que c'est pas l’utilisation courante de Angular, en générale la génération du html se fait coté client.

    Je suis dev Nodejs donc si tu as des questions sur ce domaine, n'hésite pas

    GL HF!!

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2012
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2012
    Messages : 36
    Points : 73
    Points
    73

    Par défaut

    Bonjour, j'ai créé un template de projet en knockout JS et serveur node js et je me suis amusé a faire le même template avec angular tout en gardant le même backend
    Voici le front angular
    https://github.com/SuperChuck83/Arch...rNodeJsAngular

    Voici le projet angular mis en production :
    http://54.38.34.85:4200


    Tu peux retrouver le back end ( un seul fichier du nom de app.js ) ici : https://github.com/SuperChuck83/Arch...deJSKnockoutJs


    Si t'as envie de tester le template ou des questions n'hésites pas j'essaierai de te répondre

  4. #4
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 605
    Points : 14 127
    Points
    14 127

    Par défaut

    Citation Envoyé par Altak Voir le message
    Tu peux regarder la : https://angular.io/guide/universal
    Tu as un petit tuto a priori.
    Attention il faut bien comprendre que le seul argument valable à la génération d'appli Angular (et SPA plus généralement) côté serveur c'est le SEO et généralement ça se fait sur une installation dédiée aux robots. Tout autre argument est fallacieux (comme les 2 sur les performances avancés par la doc Angular, il y a d'autres manières de faire que cette horreur).

    Citation Envoyé par sedami95
    ce que je veux, c'est [..] de pouvoir remplacer mes pages html (intégrant des scripts ejs) par des pages qui auraient été créées en Angular.
    C'est une très très mauvaise idée. Tu vas avoir plein de problèmes à commencer par la cohabitation de ejs (Sencha ?) avec Angular. C'est soit l'un soit l'autre mais en aucun cas les deux en même temps.

    Il faut supprimer les pages html de ton application node, exposer des services REST et créer une deuxième application avec Angular qui consommera tes nouveaux webservices.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  5. #5
    Membre actif Avatar de Altak
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2014
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : octobre 2014
    Messages : 168
    Points : 240
    Points
    240

    Par défaut

    +1 pour Marco46!!

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2016
    Messages : 35
    Points : 25
    Points
    25

    Par défaut

    Merci à vous tous pour vos interventions.

    Citation Envoyé par Marco46 Voir le message
    Tout autre argument est fallacieux (comme les 2 sur les performances avancés par la doc Angular, il y a d'autres manières de faire que cette horreur).

    ...

    C'est une très très mauvaise idée. Tu vas avoir plein de problèmes à commencer par la cohabitation de ejs (Sencha ?) avec Angular. C'est soit l'un soit l'autre mais en aucun cas les deux en même temps.

    Il faut supprimer les pages html de ton application node, exposer des services REST et créer une deuxième application avec Angular qui consommera tes nouveaux webservices.
    Je n'aurai aucun mal à me passer de ejs et c'est d'ailleurs ce que je souhaite. Quand vous parlez de créer une deuxième application, je n'ai pas encore commencé par développer en Angular et donc j'ignore encore presque tout de lui. Pour l'exposition de services REST, je crois que le problème ne se posera pas. Ce qui reste tout de même un peu flou dans ma tête, c'est la configuration du projet Angular et l'emplacement de ses fichiers pour qu'il soit accessible via mon serveur Node Js que j'ai déjà configuré sur un port et que je veux aussi bien dédier à autre chose en fonction de la requête get ou post qui viendra du client. En gros, peu importe si je dois créer deux projets ou pas, mais mon application Node JS doit pouvoir fonctionner comme si l'application Angular faisait partir d'elle.

  7. #7
    Modérateur
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    3 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2005
    Messages : 3 605
    Points : 14 127
    Points
    14 127

    Par défaut

    Citation Envoyé par sedami95 Voir le message
    mon application Node JS doit pouvoir fonctionner comme si l'application Angular faisait partir d'elle.
    Justement il ne faut surtout pas faire ça.

    Avec les outils type Angular, React, Vue, etc ... On passe d'un templating côté serveur à du templating côté client. Ce templating côté client est géré par l'application frontend qui devient une appli à part entière, c'est à dire avec son propre package.json, son propre numéro de version, son propre dépôt git, son propre cycle de vie, etc ...

    Elle communique avec ton backend au travers de services REST exposés par ton appli backend.
    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2016
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2016
    Messages : 35
    Points : 25
    Points
    25

    Par défaut

    Je crois que je comprends mieux maintenant. Merci à vous!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/03/2016, 22h44
  2. Réponses: 0
    Dernier message: 17/10/2005, 09h05
  3. Réponses: 16
    Dernier message: 12/11/2004, 01h05

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