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

Conception Web Discussion :

Appli web, choix du langage


Sujet :

Conception Web

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut Appli web, choix du langage
    Bonjour

    J'ai pour projet de developper une appli web, qui fonctionnerait de cette façon:
    une partie concerne le stockage de fichiers au format texte sur un serveur distant. Un peu du style dropbox.
    Une autre partie correspondant à l'appli en soi: utilisation des fichiers stockés pour fournir des données dans une interface graphique.

    Coté langage de prog, je maitrise les langages du web et je me forme en ce moment à Java (dans le cadre d'un master). Mais on m'a dit que les applets java sont un peu démodées.

    Plusieurs questions du coup:
    vers quel langage(s) m'orienter pour programmer tout ça? J'imagine qu'on peut faire ça avec tout, mais si il existe différents langages, c'est bien qu'il existe des langages plus appropriés à telle ou telle tache.
    2eme question, quelle technologie utilisée pour le stockage des fichiers? Je pensais à du cloud, car l'idée de payer uniquement l'espace utilisé me plait. Mais je n'y connait pas grand chose.

    Merci pour vos avis!

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut
    Pour réaliser cette appli,je me suis fixé 2 critères principaux: un critère de performance et un critère de sécurité.

    J'entend par performance que l'appli ne rame pas si il y a x users connectés en même temps. Il faudrait donc une appli qui puisse faire plusieurs requêtes simultanées au serveur sans que cela ait un impact sur la fluidité de l'application.

  3. #3
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 402
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 402
    Points : 15 767
    Points
    15 767
    Par défaut
    pour les performances, le choix du langage n'est pas le plus important puisque si vous avez besoin d'accueillir plus d'utilisateurs simultanés, il suffit souvent de passer sur un serveur avec un processeur plus puissant et peut-être modifier certains réglages des serveur HTTP et des bases de données.

    ensuite le choix du langage dépend de votre expérience dans les langage web côté serveur comme par exemple PHP, node.js, ROR, JSP, etc..

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut
    En terme de sécurité, il n'y a pas un langage serveur à privilégier ou un à éviter?

    Concernant le serveur, je n'ai absolument aucune connaissance dans tt ce qui est administration serveur. J'ai l'impression que l'hébergement de données via un serveur administré entièrement par le prestataire (type ovh) ne permet d'utiliser que le php en langage serveur. Ou je me trompe?
    De plus, ce type de serveur ne permet pas en général de stocker de grosses quantités de données.
    Dans ce cas, quel type de service choisir chez un fournisseur (serveur cloud, privé,etc...)? En fonction du service choisi, que reste t-il à faire en terme de gestion du serveur? Y a t-il un langage à privilégier selon le type de serveur choisi?

    Merci!

  5. #5
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par ben124 Voir le message
    En terme de sécurité, il n'y a pas un langage serveur à privilégier ou un à éviter ?
    Les langages sont mis à jour régulièrement, tout dépend donc de la maintenance côté serveur. Après concernant la sécurité du code lui-même, ça ne dépend que des développeurs. Les langages sont sécurisés tant que tu les utilise en suivant les recommandations d'usage.

    Citation Envoyé par ben124 Voir le message
    J'ai l'impression que l'hébergement de données via un serveur administré entièrement par le prestataire (type ovh) ne permet d'utiliser que le php en langage serveur. Ou je me trompe?
    Les hébergements mutualisés sont faits pour les petits/moyens sites avec la possibilité d'installer des modules (CMS) tout faits et une maintenance simplifiée, et php est effectivement très majoritairement utilisé pour cet usage, ce n'est d'ailleurs pas spécifique à OVH.

    Citation Envoyé par ben124 Voir le message
    De plus, ce type de serveur ne permet pas en général de stocker de grosses quantités de données.
    Qui dit mutualisé dit ressources communes, et la configuration n'est pas aussi évolutive que dans les offres Cloud. Chez OVH en mutualisé tu es actuellement limité à 500Go avec l'offre performance. Après techniquement dans l'absolu, l'évolution des capacités de stockage pourrait être possible même sur un mutualisé, regardes peut-être chez d'autres hébergeurs s'ils ne proposent pas cette possibilité.

    Sinon je vois qu'OVH propose maintenant le cloud Web administré qui est normalement plus évolutif côté stockage, renseignes-toi sur leur forum. Avec cette solution tu as aussi accès à node.js en plus de php. Node.js a l'avantage de pouvoir faire du push côté serveur, à savoir changer l'affichage de la page du visiteur, sans intervention du visiteur en fonction d'un changement d'état du serveur (utile pour les jeux interactifs, chat...). Par contre utiliser node.js si tu n'as pas besoin de ces fonctionnalités spécifiques te compliqueras significativement la vie sans avantage notable par rapport à php (et d'après l'énoncé de ton problème tu n'en as pas besoin).

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut
    Super merci pour les infos!

    Effectivement dans un premier tps je ne ferai sans doute pas de push. Mais si le site marche bien, je développerai sans doute une partie du site avec mise à jour en temps réel des données et de l'interface client.
    Dans ce cas, vaut il mieux que j'utilise php (car plus simple, plus "standard" pour le web) puis ensuite redevelopper en nodejs le temps venu.
    Ou directement me former sur nodejs et tout faire en nodejs dès le départ?

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Salut,

    Au niveau des fonctionnalités, il faut déterminer si le contenu de tes informations nécessite réellement de faire du push côté serveur. Par exemple si ce sont des données qui doivent être analysées/utilisées par les visiteurs, la modification des données en temps réel n'est pas pertinent, car il faut bien à un moment donné fixer l'évolution des valeurs pour pouvoir les utiliser. Et ça php peut très bien le faire, et si besoin, sur simple demande de l'utilisateur (avec un bouton "actualiser" par exemple), envoyer une requête ajax (donc sans besoin de rafraichir toute la page) pour mettre à jour les résultats avec les dernières données disponibles.

    Le push sera intéressant si tes fichiers téléchargés sur le serveur sont mis à jour en permanence, suffisamment souvent pour faire une application où le visiteur devra prendre une décision en fonction de l'évolution de ces résultats en temps réel. Ce qui suppose une utilisation en mode passif/interactif : le visiteur scrute sa page et attend qu'il se passe quelque chose pour prendre une décision/engager une action.

    Côté formation, certains te diront que Node.js est l'avenir et de ne pas perdre de temps avec les "vieilles technologies". Mais cela fait quand même presque dix ans que Node.js existe et même si son utilisation est en constante progression, cela représente aujourd'hui moins de 1% des technologies serveur pour les sites web contre 80% pour php. Je pense donc que ces technologies vont continuer à cohabiter de très nombreuses années, car même si Node.js peut faire plus que Php avec le push, le ticket d'entrée n'est pas le même, ni le coût du développement ni celui de la maintenance.

    Donc tu rencontreras nécessairement php au cours de ton parcours si tu travailles dans le développement Web, mais tu rencontreras aussi de plus en plus souvent Node.js. Et en même temps, si tu utilises php avec des requêtes ajax, tu feras beaucoup de javascript côté client, et javascript est le langage de Node.js. Donc travailler avec php côté serveur n'est pas tout au dépend de ta formation au langage javascript en général, ce qui pourrait te permettre d'accéder plus tard et plus facilement au langage javascript côté serveur - Node.js (qui est plus difficile en termes de programmation et de maintenance que php) - avec de meilleures bases du langage javascript.

    Concernant ton site, en termes d'efficacité/rentabilité, il vaut mieux faire ce qui est le plus rapide et le plus facile pour qu'il soit le plus rapidement en ligne et à un moindre coût, mieux vaut tenir que courir. Mais si ce n'est pas l'objectif premier, que ton site peut attendre et que ta principale préoccupation est d'apprendre les plus puissantes technologies côté serveur, node.js est un bon choix (tout en sachant que ce surplus de puissance a un coût non négligeable).

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut
    Dac!

    Vu comment tu me décris le push, j'en aurai vraisemblablement besoin à un moment donné. Mais je vais suivre ton conseil: développer les 1eres fonctionnalités avec php, puis éventuellement compléter avec nodejs dans un second temps.

    Je me suis rapidement renseigné sur le push et php: ça me renvoit des liens sur symfony et ratchet (2 frameworks).Ratchet gère des websockets (?), cela s'apparente t-il à du push? Ou est-il vraiment impossible de faire du push en php? (ou qqch qui s'en rapproche, comme actualiser l'appli web tte les x minutes sans aucune intervention de l'utilisateur (pas de click boutons, etc...))

  9. #9
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par ben124 Voir le message
    Je me suis rapidement renseigné sur le push et php: ça me renvoit des liens sur symfony et ratchet (2 frameworks).Ratchet gère des websockets (?), cela s'apparente t-il à du push? Ou est-il vraiment impossible de faire du push en php? (ou qqch qui s'en rapproche, comme actualiser l'appli web tte les x minutes sans aucune intervention de l'utilisateur (pas de click boutons, etc...))
    Oui c'est du push. En fait on peut aussi faire du push avec php, mais Node.js est plus polyvalent car il gère le multi threading. Ce n'est pas toujours utile, mais comme le plus puissant en temps réel est proposé par node.js, on parle naturellement de cette technologie pour cet usage.

    Après si c'est pour rafraichir une page automatiquement toutes les x minutes, un serveur php même mutualisé fera largement l'affaire. Il te suffit côté client de programmer en javascript une requête ajax qui rafraichira les données de ta page sans aucune intervention du visiteur. Y'a aucun soucis à ce niveau.

    Le problème viendrait si tu faisais des rafraichissements toutes les secondes par exemple. Sur le principe, ça fonctionnerait, mais si tu as des milliers de visiteurs qui restent longtemps et en même temps sur ton application, cela fera des milliers de requêtes en continu et tu risque de saturer le serveur (surtout un mutualisé). La montée en charge en fonction du nombre de visiteurs et de leur temps de visite sera difficile, et dans ce cas node.js sera plus adapté (ou sinon les websocket php mais quitte à avoir un maximum de puissance/polyvalence, on pensera plus volontiers à Node.js).

    Par contre si tu t'éloigne du temps réel - et x minutes n'est plus du tout du temps réel - c'est négligeable et le tandem ajax/php standard (je veux dire sans push) sera amplement suffisant. Car cela revient à dire, en terme de puissance nécessaire à fournir par le serveur, qu'un visiteur change de page toutes les x minutes, et ça c'est largement en dessous de la charge normale que peut supporter n'importe quel serveur (d'autant plus que les requêtes ajax ne retournent que les nouvelles données nécessaires et donc consomment beaucoup moins de ressources que s'il s'agissait de refaire une page toute entière).

    Au passage, tu peux trouver un exemple de ce que l'on peut faire avec ajax/php en regardant cette solution d'upload ajax/php (c'est prêt à l'emploi). Tu constateras qu'on peut aussi, avec ces technologies, avoir des retours d'informations en temps réel sans intervention du visiteur, et avec des fonctionnalités avancées (reprise d'upload, etc.). Ce n'est pas un tuto mais puisque tu parles de consulter des fichiers sur le serveur, cela pourrait t-être utile si ces fichiers peuvent être déposés sur le serveur par des visiteurs ou l'administrateur depuis le site lui-même, sans besoin de passer par un logiciel FTP.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut
    Merci ABCIWEB pour ces infos!

    Je reviens vers vous pour repréciser un peu mon projet:
    Je ne souhaite pas du tout m'occuper de l'administration serveur: ilme faut donc une offre managée/ infogérée.
    Ensuite, sur le site en lui même:
    dans un premier temps, je n'aurai pas besoin de tps réel. Par contre, il me faut un gros espace de stockage pour les données utilisateurs: si on table sur 300 users avec 1Go de données chacun en moyenne --> base de 300 Go. Ma question: quel critère regarder pour les offres d'hebergement? (le stockage bdd ou l'espace disque?)

    A moyen/long terme, j'aimerais développer qqch qui se rapproche du temps réel: les users envoient des données dans la base, et recoivent des données en rapport (avec les données d'envoi, j'entend) instantanément (en moins d'une seconde). Après avoir fait qques recherches, la solution viendrait des websocket? PhP n'est a priori pas optimal pour ça (mais si c'est faisable, alors je resterai avec cette technologie), et donc idéalement il faudra utiliser un autre langage serveur pour ça. Mes interrogations concernent l'hébergement de mon site: quelles sont les possibilités pour faire ça avec un hébergement managé? Les hébergeurs proposent-ils de géré plusieurs serveurs (ex: 1 en php et l'autre en node.js ou autre) dans une même offre? Quels sont les langages "autorisés" par les offres managées des hébergeurs dans le cas où l'on utilise les websocket (ou autre techno pour faire du push côté serveur)?

    J'espère avoir été à peu près clair... malgré mes méconnaissances certaines dans le développement back-end

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2018
    Messages : 45
    Points : 13
    Points
    13
    Par défaut
    Sachant que je suis en train d'apprendre Java dans le cadre de mon Master, est il possible d'utiliser un serveur php pour ma base de données et la plupart des interactions client/serveur de mon site, et d'utiliser un serveur Tomcat pour réaliser du tps réel?
    Est ce qu'un hebergement managé peut me permettre de faire ça?
    Est ce que Java est plus ou moins interessant que node.js dans mon cas? Ou c'est sensiblement la même chose?

Discussions similaires

  1. [Web] Choix du langage serveur
    Par Jihnn dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 02/03/2010, 21h54
  2. Demande de conseils : choix techno Appli Web
    Par maVariable dans le forum Débuter
    Réponses: 0
    Dernier message: 12/12/2008, 05h03
  3. choix de bdd appli/web
    Par greg08 dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 10/12/2008, 11h39
  4. Choix de langage pour un mini applet web
    Par nybenit dans le forum Débuter
    Réponses: 1
    Dernier message: 10/01/2008, 09h12
  5. Création site Web - choix langage ?
    Par mout551 dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 01/07/2007, 10h54

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