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

JavaScript Discussion :

Microsoft serait en train de réécrire certains de ses outils et logiciels en JavaScript ? ou pas ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 27
    Par défaut
    Citation Envoyé par PatrickNice Voir le message
    J'ai testé un programme en c++ et en javascript = meilleur temps en javascript (mais pas le même suivant le navigateur)
    Ça dépend ce que fait le programme et comment il est codé.
    De plus, rien n’empêche de faire du code "lent", quelque soit le langage.

  2. #2
    Invité de passage
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Novembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 1
    Par défaut Ca veut dire qu'on aura accès au code source ???
    Ca, ça serait une révolution... Où alors ils ont trouvé un bon moyen d'obfusquer le code...

  3. #3
    Invité
    Invité(e)
    Par défaut
    s'amuser à perdre inutilement plus de 20% de puissance pour des vérifications de types à l'exécution et se rajouter de potentiels ambiguïtés et bugs facilement évitables avec des vérifications de type à la compilation
    Passons outre ce petit troll du dredi matin.

    Réécrire Office en javascript permet :
    1. de proposer le soft via le web
    2. de proposer la même version en soft (electron, etc)
    3. de décrire l'interface en html/CSS

    On en dira ce qu'on veut, mais aujourd'hui pour faire des interfaces simplement, ce sont les moteurs de rendu web qui sont les plus pertinents : interface avec un design sur mesure, possibilité de dyamiser le tout, nombre de personnes connaissant le js, ...
    Donc développer des softs en JS pour bureau ne me paraît pas étonnant.

    Après, le JS reste un langage assez ignoble (mon humble avis), avec ses nombreux défauts. Les langages bas niveau (relativement) tels que C, C++, C# et autres Java vont rester majoritaires, notamment parce qu'ils permettent de créer des exécutables assez légers (avec Electron on se trimballe un moteur de rendu par logiciel), qui prennent beaucoup moins de place en mémoire (bon ça dépend, mais si mon éditeur de text pesait aussi lourd que Chrome pour éditer un fichier, je serais assez énervé) et sont plus rapides/réactifs.

    Mais bon, parfois un programme écrit en JS peut être beaucoup plus rapide qu'un petit soft écrit en C-- (C avec des classes).

  4. #4
    Membre très actif
    Profil pro
    Expert technique .NET
    Inscrit en
    Août 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique .NET

    Informations forums :
    Inscription : Août 2007
    Messages : 272
    Par défaut
    @Cxx-waves: ta réponse est assez subjective, à mon avis. Je me permets de te donner un point de vue légèrement différent
    Citation Envoyé par Cxx-waves Voir le message
    de proposer le soft via le web
    C'est déjà le cas, avec Office 365 ; mais je t'accorde que quitte à faire du web, c'est mieux d'être en full web.
    de proposer la même version en soft (electron, etc)
    Là par contre, je ne suis pas d'accord, quitte à faire du desktop, autant ne pas faire du web et utiliser une techno plus adaptée. Voulais-tu plutôt parler du cross-platform ?
    de décrire l'interface en html/CSS
    Ca, c'est un fait, pas un argument.

    On en dira ce qu'on veut, mais aujourd'hui pour faire des interfaces simplement, ce sont les moteurs de rendu web qui sont les plus pertinents : interface avec un design sur mesure, possibilité de dyamiser le tout, nombre de personnes connaissant le js, ...
    Donc développer des softs en JS pour bureau ne me paraît pas étonnant.
    Bon, là, je ne vais pas discuter, c'est très subjectif et ça dépend beaucoup des compétences de chacun. Mais je connais pas mal de "vieux" développeurs qui regrettent le ... WinForms ! En effet, pour eux, c'est ce qu'il y a de plus simple et fiable pour développer des interfaces graphiques. Et honnêtement, suivant le niveau d'exigence que tu te fixes, ce n'est pas forcément faux.

    Mais bon, parfois un programme écrit en JS peut être beaucoup plus rapide qu'un petit soft écrit en C-- (C avec des classes).
    L'OBJET VAINCRA !!!!! (dixit un type qui fait aussi de la programmation fonctionnelle )

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Que pensez-vous de l’approche adoptée par Microsoft ?
    Peros j'ai déjà eu à écrire des UI en :
    - HTML/CSS/JS
    - QT
    - MFC
    - Swing
    - JavaFx
    - Android

    et très clairement le combo html/css est le plus facile à mettre en oeuvre dès qu'on à besoin de personnaliser son UI. On peut aller très loin sans difficulté particulière , là ou d'autre demanderais des surcharge de classe et autre joyeuseté.

    Pas étonnant donc que l'accent soit mit sur cette techno quand c'est possible pour réaliser des UI.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éclairé
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 865
    Par défaut
    Citation Envoyé par grunk Voir le message
    Peros j'ai déjà eu à écrire des UI en :
    - HTML/CSS/JS
    - QT
    - MFC
    - Swing
    - JavaFx
    - Android

    et très clairement le combo html/css est le plus facile à mettre en oeuvre dès qu'on à besoin de personnaliser son UI. On peut aller très loin sans difficulté particulière , là ou d'autre demanderais des surcharge de classe et autre joyeuseté.

    Pas étonnant donc que l'accent soit mit sur cette techno quand c'est possible pour réaliser des UI.
    Je dirais qu'en QML est encore plus simple à écrire

  7. #7
    Membre éclairé Avatar de LapinGarou
    Homme Profil pro
    R&D Developer
    Inscrit en
    Octobre 2005
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : R&D Developer
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2005
    Messages : 341
    Par défaut
    s'amuser à perdre inutilement plus de 20% de puissance pour des vérifications de types à l'exécution et se rajouter de potentiels ambiguïtés et bugs facilement évitables avec des vérifications de type à la compilation
    Je suis tout à fait d'accord avec ça, dans les langages non typés c'est incontournable pour éviter des erreurs et ne pas mettre des try catch partout... Non ??!! Les humains ne codent pas tout sans jamais aucune erreur que je sache... même parmis une même entreprise, voire team.
    Donc vérifications, donc plus de code, donc moins vite.
    Mais bon Microsoft est une entreprise, et le but d'une entreprise en économie est de faire de l'argent, donc c'est normal. Tant qu'on ne voit pas la différence entre un clic droit en C++ à 0.02sec et un clic droit en js en 0.03sec...

  8. #8
    Membre très actif
    Profil pro
    Expert technique .NET
    Inscrit en
    Août 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique .NET

    Informations forums :
    Inscription : Août 2007
    Messages : 272
    Par défaut
    Citation Envoyé par LapinGarou Voir le message
    Je suis tout à fait d'accord avec ça, dans les langages non typés c'est incontournable pour éviter des erreurs et ne pas mettre des try catch partout... Non ??!! Les humains ne codent pas tout sans jamais aucune erreur que je sache... même parmis une même entreprise, voire team.
    Donc vérifications, donc plus de code, donc moins vite.
    Ce n'est pas qu'une question de robustesse du code, tu as aussi une question d'allocation mémoire, qui est bien plus efficace dans les langages typés.

  9. #9
    Membre extrêmement actif
    Avatar de Sodium
    Femme Profil pro
    Développeuse web
    Inscrit en
    Avril 2014
    Messages
    2 324
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeuse web

    Informations forums :
    Inscription : Avril 2014
    Messages : 2 324
    Billets dans le blog
    1
    Par défaut
    Je n'ai jamais vu un Troll pareil dans un forum informatique. Tu sors de quelle planète franchement ? Tu fais du cobol objet ? Du html 1.0 avec du ColdFusion ?
    Du PHP sous Symfony et de l'Angular 6 (en TypeScript) principalement.

    Tu peux faire des choses dégueulasses avec n'importe quel langage !
    Et tu peux te tuer en voiture même en mettant la ceinture ... ce n'est pas un argument valable pour ne pas la mettre.

    C'est quoi cette idée que c'est impossible de faire du propre en procédurale ?
    Ce n'est pas impossible ... tant que l'application est très simple.

  10. #10
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 711
    Par défaut
    Amusant cette manie de vouloir refaire les IHM en language de script, que ce soit en Javascript ou autre.

    Cela facilite grandement le hacking puisqu'une fois que l'on peut injecter du code dans le thread principal (ce qui est assez simple aujourd'hui), il n'y a plus de cloisonnement des processus et on pourra donc piloter tout Office via Javascript.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Déja que le fichiers offices sont des zip et que les mot de passe y sont en clair ^^
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Citation Envoyé par ddoumeche Voir le message
    Cela facilite grandement le hacking puisqu'une fois que l'on peut injecter du code dans le thread principal (ce qui est assez simple aujourd'hui),
    Tu m'étonnes, il suffit d'appuyer sur la touche F12 et de cliquer sur l'onglet "console", un vrai scandale !

    Citation Envoyé par ddoumeche Voir le message
    Cela facilite grandement le hacking [...] il n'y a plus de cloisonnement des processus et on pourra donc piloter tout Office via Javascript.
    C'est qui "on" ? Qui est l'attaquant et qui est la victime dans ton scénario ?

    Autre question qu'est-ce que tu appelles le cloisonnement des processus et en quoi 2 processus Node seraient plus ou moins cloisonnés que des binaires .NET ou des jar exécutés sur la JVM ?

  13. #13
    Membre très actif
    Profil pro
    Expert technique .NET
    Inscrit en
    Août 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Expert technique .NET

    Informations forums :
    Inscription : Août 2007
    Messages : 272
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Autre question qu'est-ce que tu appelles le cloisonnement des processus et en quoi 2 processus Node seraient plus ou moins cloisonnés que des binaires .NET ou des jar exécutés sur la JVM ?
    Pour la JVM, je ne connais pas les détails de la gestion mémoire. En .Net, en effet, chaque process a un pool de ressource dédié et cloisonné, non accessible par d'autres process (je simplifie, mais l'idée est là).
    Je suppose que ddoumeche veut dire qu'en JS, la gestion de la mémoire et des process sera gérée par le navigateur / l'interpréteur JS, donc ce cloisonnement ne dépendra plus de la plateforme du langage (JVM, CLR, etc.), mais d'un acteur tiers qui sera potentiellement non sécurisé.

  14. #14
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    Octobre 2007
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 711
    Par défaut
    Citation Envoyé par Marco46 Voir le message
    Tu m'étonnes, il suffit d'appuyer sur la touche F12 et de cliquer sur l'onglet "console", un vrai scandale !
    Avec un navigateur oui, mais c'est aussi faisable pour un exécutable lambda : une l'injection de DLL (ce qui n'est en réalité guère compliqué) permet d'obtenir une référence vers la librairie de l'interpréteur javaScript de l'exécutable cible : cette dll va alors pouvoir utiliser l'API pour injecter du code sous forme de chaîne de caractère via un executeScript(), avec des callback divers, ou redéfinir du code vu que tout est dynamique.

    Ce qui n'est pas fondamentalement différent des virus de mail en Visual Basic que l'on a pu connaitre il y a fort longtemps. J'ai récemment vu le cas d'un malware utilisant LUA pour infecter un jeu en ligne, pourtant protégé. Sidérant.

    Citation Envoyé par Marco46 Voir le message
    C'est qui "on" ? Qui est l'attaquant et qui est la victime dans ton scénario ?

    Autre question qu'est-ce que tu appelles le cloisonnement des processus et en quoi 2 processus Node seraient plus ou moins cloisonnés que des binaires .NET ou des jar exécutés sur la JVM ?
    "On" étant le hacker.
    Je voulais dire que le cloisonnement entre modules, API et code ne devait pas exister en Javascript voir dans les langages de script en général.

    Java et .Net (de mémoire) ont un Security Manager limitant entre autre l'accès au système de fichier.
    De plus sur un serveur web (Tomcat par exemple), tu ne peux pas accéder au code et aux ressources d'autres applications, sauf éventuellement en passant par l'instrumentation (JMX) qui doit avoir été explicitement autorisée par l'administrateur système.
    Et Java a implémenté les modules en version 9 pour remettre un peu d'ordre, sachant qu'auparavant tu pouvais (et tu peux encore) appeler du code non public des librairies standard.

    J'imagine que .Net utilise des mécanismes de sécurisation similaires. Et il y a eu énormément de mise à jour de sécurité sur ces deux plateformes depuis quelques années.

    Mais dans Nodejs, il y a beaucoup de failles et il n'y a aucune sécurité, car le security manager de V8 est désactivé. Certes la majorité de ces failles est inexploitable ... pour l'instant et tant que personne n'a trouvé moyen de les exploiter.
    Et comme dit plus haut, on peut redéfinir les fonctions des modules voir les fonctions natives via un simple eval() (imaginez qu'un assaillant redéfinisse mysql.connect). Imaginez les dégats que risquent de faire un vers

    Donc pour l'instant, il vaut mieux le savoir et faire tourner son Node.js dans un espace cloisonné comme un container, en le gardant à l’œil et sans lui donner trop de responsabilités.

    Je suis un peu plus circonspect sur ces applications embarquant des moteurs de javascript de partout.

Discussions similaires

  1. Réponses: 132
    Dernier message: 17/04/2020, 09h22
  2. Réponses: 20
    Dernier message: 04/03/2013, 09h20
  3. Réponses: 2
    Dernier message: 19/10/2011, 14h08
  4. Réponses: 56
    Dernier message: 14/03/2011, 20h40
  5. Réponses: 1
    Dernier message: 09/11/2009, 22h31

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