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

Affichage des résultats du sondage: Pourrait-on se passer entièrement de JavaScript au profit de HTML et CSS uniquement ?

Votants
29. Vous ne pouvez pas participer à ce sondage.
  • Oui, je peux me passer entièrement de JavaScript côté client

    3 10,34%
  • Non, je ferai forcément appel à JavaScript côté client.

    25 86,21%
  • Je n'ai pas d'avis.

    1 3,45%
JavaScript Discussion :

Pourrait-on se passer de JavaScript au profit de HTML et CSS uniquement ?


Sujet :

JavaScript

  1. #21
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 130
    Points : 127
    Points
    127
    Par défaut
    Citation Envoyé par koyosama Voir le message
    ...
    Il oublie aussi qu'on utilise Javascript pour faire tout ce qui est structurel. Car l'epoque des page1, page1, page3 sur mon projet HTML, cela date un peu quand meme. Donc aujourd'hui, on utilise les framework MVC et on connait tous les raisons pour ne pas choisir le server-side pour faire cela...
    Moi je ne les connais pas ces raisons.

    Une petite explication ou lien ?

  2. #22
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    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 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Il y a une foultitude d'exemples. Quand on construit un formulaire, css permettra d'indiquer les champs indispensables à remplir mais c'est parfois mieux de pouvoir contrôler le contenu et dans ce cas seul javascript pourra le faire. On peut par exemple faire une requête ajax onchange sur un champ "login" pour que le visiteur puisse voir en temps réel si le login indiqué dans le formulaire d'inscription est déjà pris ou non. C'est beaucoup plus pratique et rapide pour lui plutôt que de remplir tous les champs et d'attendre ensuite la réponse serveur pour d'éventuelles corrections.

    Cela fait dix ans maintenant que les navigateurs supportent ajax et on s'en sert abondamment aujourd'hui, y compris pour faire de la pagination sans besoin de ré afficher toute la page.

    Ou encore dans l'ardoise sous mon nom il y a un module d'upload ajax qui permet l'affichage des informations en temps réel, des sauvegardes automatiques pour permettre la reprise d'upload des gros fichiers, des crop (recadrages) d'images avant upload etc., tout cela n'est possible qu'avec javascript.

    Citation Envoyé par fdejaigher
    c'est une blague ?? Ou ça manque de spécificités qui rendrait JS "indispensable"...
    Je me demande s'il est bien raisonnable de mettre une cinquantaine de photos grand format dans une page html, c'est un calvaire à charger et en plus inutile si le visiteur souhaite n'en regarder qu'une ou deux. Ensuite comment savoir qu'une image est chargée dans le DOM avec css, comment programmer les actions d'un menu de navigation avec css etc. Je pensais que l'énoncé de mon exemple était suffisamment parlant pour rendre js indispensable et donnes-moi des liens si tu peux faire l'équivalent de ces fonctionnalités uniquement avec html/css.

  3. #23
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 130
    Points : 127
    Points
    127
    Par défaut
    Je ne sais pas si c'est à moi que tu réponds mais si oui :
    Je connais tout cela, je code tout cela depuis de longues années déjà, bien avant la mode des framework...

    Ce qui m'intéresse c'est le "aujourd'hui, on utilise les framework MVC" (sous entendu "tout le monde") qui l'air de découlé d'une évidence.

  4. #24
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Comme certains j'ai constaté qu'il y a du JS dans les exemples...

    Sans js, comment feriez-vous un éditeur comme par exemple celui qu'on utilise dans ce forum ?

  5. #25
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    Personnellement je n'utilise pas de Framework Js pour plusieurs raisons
    1. J'écris principalement des webapp qui sont des service de la société pour laquelle je travaille
    2. Comme ça doit tourner sur mobile je doit réduire au maximum l'impact énergétique(de très longes sessions connectées)
    3. Bon Ok j'utilise JQuery mais je n'en abuse pas, c'est juste que les query selectors ne sont pas aussi complets que le sélecteur JQuery
    4. les framework ne sont pas forcément suffisamment customizable pour toutes les fonctions à implémenter(ou alors ça demande beaucoup de temps)
    5. Devoir charger plein de fichiers différents(j'ai une page php qui retourne tous le contenus de mes fichiers(20) js en une requête) vide bien la batterie du terminal(vus qu'il y a encore peut de support http/2.0) et j'en revient au point N°2


    Bon ensuite il m'arrive aussi de faire des app merdiques à la demande de client et c'est plus rapide à faire sans Framework vus que je suis bien plus rapide sans pour les petits trucs
    Rien, je n'ai plus rien de pertinent à ajouter

  6. #26
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par TiranusKBX Voir le message
    [...][*]Bon Ok j'utilise JQuery mais je n'en abuse pas, c'est juste que les query selectors ne sont pas aussi complets que le sélecteur JQuery
    [...][/LIST][...]
    Je serais curieux de connaître les sélecteurs CSS qui sont utilisables en jQuery et pas en Vanilla JS.

    Car document.querySelctor() et document.querySelectorAll() me permettent de faire tout ce que je faisais avant en jQuery (abandonné depuis plus d'un an), inclus les sélecteurs complexes du style querySelectorAll( "td", "#maTable > tbody" ). Que j'utilise sous la forme k$() et k$all(), voir mon blog.

    C'est logique, puisque $( selector ) n'est que du sucre syntaxique JS qui utilise querySelector() et querySelectorAll() en priorité depuis plusieurs versions.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  7. #27
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Points : 9 944
    Points
    9 944
    Par défaut
    @daniel: il y a tout un paquet de sélecteurs spécifiques à jQuery, bien que la plupart ont un équivalent en CSS3 (dont la spec s'est largement inspirée de jQuery). Mais la syntaxe est plus courte et ils bénéficient d'un meilleur support navigateur. Personnellement je n'utilise plus du tout jQuery, mais certains sélecteurs comme :visible ou :has ont tendance à me manquer.

    @TiranusKBX: ok pour réduire l'impact énergétique, mais le raccourci framework = énergivore me paraît un peu précipité. Ce sont les échanges réseau qui consomment le plus, or une SPA avec de bons mécanismes de cache et du JSON diffing fait des économies énormes en requêtes réseau par rapport à un site traditionnel. Seulement faire ce genre d'applications sans framework, c'est compliqué ! Je pense qu'il ne faut pas exclure complètement les frameworks, mais plutôt opter pour des frameworks centrés sur la performance et la taille réduite. Si "framework" est un gros mot, au moins un template de projet avec une toolchain. La présentation de Pokedex.org m'avait fait forte impression à ce propos.
    One Web to rule them all

  8. #28
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    @danielhagnoul
    j'ai un exemple pour toi
    imaginons que tu ai des balises comme ce qui suit
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <div class="tp1" attr1="val1" attr2="val2"></div>
    <div class="tp1" attr1="val1" attr2="val3"></div>
    <div class="tp1" attr1="val4" attr2="val5"></div>
    <div class="tp2" attr1="val6" attr2="val7"></div>
    <div class="tp2" attr1="val6" attr2="val8"></div>

    donc trions
    '.tp1[attr1="val1"]' ça passe
    '.tp1[attr1="val1"][attr2="val3"]' la ça ne marche pas et pourtant pour css c'est parfaitement valide(en fait ça le supporte sur la plupart des navigateurs depuis 3 à 6 mois mais je doit tenir compte des terminaux non à jour)

    il y a aussi pour les chose du genre '.tp1[attr1="val1"], .tp2[attr1="val6"][attr2="val8"]'
    Rien, je n'ai plus rien de pertinent à ajouter

  9. #29
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par TiranusKBX Voir le message
    @danielhagnoul
    j'ai un exemple pour toi [...]
    Évidemment, pour les navigateurs obsolètes (genre IE9-) $( selector ) reste la solution pratique.

    Pour les navigateurs dignes de ce nom et se mettant à jour automatiquement, il n'y a pas de problème :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div class="tp1" attr1="val1" attr2="val2">a12</div>
    <div class="tp1" attr1="val1" attr2="val3">b13</div>
    <div class="tp1" attr1="val4" attr2="val5">c45</div>
    <div class="tp2" attr1="val6" attr2="val7">d67</div>
    <div class="tp2" attr1="val6" attr2="val8">e68</div>

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    klog( k$( ".tp1[attr1='val1'][attr2='val3']" ).textContent );
     
    for( let elem of k$all( ".tp1[attr1='val1'], .tp1[attr1='val4'][attr2='val5']" ) ){
      klog( elem.textContent );
    }

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  10. #30
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Points : 22 933
    Points
    22 933
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par SylvainPV Voir le message
    [...] certains sélecteurs comme :visible ou :has ont tendance à me manquer. [...]
    Pour :hidden c'est simplement height = 0 et width = 0 et si ce n'est pas :hidden c'est automatiquement :visible.

    Pour :has :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <div class="ko n0">
      Hello hors p
    </div>
    <div class="ok n1">
      <p>Hello dans p</p>
    </div>
    <div class="ok n2">
      Hello hors p
      <p>Hello dans p</p>
    </div>
    <div class="ok n3">
      Hello hors p
      <div class="ok n4">
        <p>Hello dans p</p>
      </div>
    </div>

    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     // $( selector ).has( "p" );
    const
      selectorHas = ( has, selector ) => {
        return Array.from( document.querySelectorAll( selector ) ).filter( ( item, i ) => {
          return item.contains( item.querySelector( has ) );
        });
      };
     
    // debug
    for( let elem of selectorHas( "p", "div" ) ){
      console.log( elem.classList );
    }

    EDIT 2016-10-15 11:06

    Je ne sais pas pourquoi ni comment, mais ci-dessus la signature de la fonction est inversée.
    Il est préférable de suivre l'ordre donné par le nom de la fonction et de donner une valeur par défaut : const selectorHas = ( selector = "div", has = "p" ) => { ... }.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  11. #31
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    Pourrait-on se passer de JavaScript au profit de HTML et CSS uniquement ?
    Un designer pense que cela est possible, quel est votre avis ?
    Sériously...
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  12. #32
    Invité
    Invité(e)
    Par défaut
    Bon.
    Comme je l'ai dit dans mon 1er message, la question est mal posée.

    Mauvaise question -> mauvaises réponses -> mauvais sondage -> résultat du sondage sans intérêt


    Elle aurait certainement dû être :

    "Pour le design (mise en page, animations,...), pourrait-on se passer entièrement de JavaScript au profit de HTML et CSS uniquement ?
    Ca aurait évité beaucoup de blabla inutile...
    Et tout le monde aurait été d'accord sur le fait que, si possible et tant que faire se peut, il est préférable de privilégier CSS.

    J'aurais aimé voir et avoir plus d'exemples concrets, où le CSS permet de se passer de JavaScript.
    Ca aurait été plus constructif.

  13. #33
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2015
    Messages : 19
    Points : 31
    Points
    31
    Par défaut
    Je propose que l'on arrête de faire du C / C++ mais qu'on utilise des jpeg et gifs animés à la place.

    Merci

Discussions similaires

  1. Passer array javascript a un controleur
    Par tronzo dans le forum ASP.NET MVC
    Réponses: 0
    Dernier message: 22/06/2011, 17h24
  2. passer variable javascript en php même page
    Par brutalus dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/11/2010, 19h25
  3. passer variable javascript a c#
    Par mathiew dans le forum ASP.NET
    Réponses: 5
    Dernier message: 19/05/2010, 12h06
  4. Passer valeur javascript dans un formulaire
    Par clementh dans le forum Langage
    Réponses: 12
    Dernier message: 18/07/2008, 16h57
  5. Passer tableau à Javascript en Perl
    Par lavm01 dans le forum Web
    Réponses: 6
    Dernier message: 03/08/2007, 16h48

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