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 :

Dégradation élégante JavaScript ?


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Points : 92
    Points
    92
    Par défaut Dégradation élégante JavaScript ?
    Bonjour/ bonsoir,

    Comment gérez-vous la dégradation élégante ? J'aimerais vraiment m'y coller, mais j'ai du mal à voir comment concevoir une application sous cet angle... Je vais prendre un cas concret:
    j'ai un formulaire, avec deux boutons (bin oui, autant encore compliquer les choses ;-)) Chaque bouton appelle une action différente.
    1. Le premier demande une prévisualisation du formulaire dans une fenêtre type modale
    2. Le second insère les données dans une base

    Actuellement, chaque bouton est géré par une fonction java-script. (plus précisément, par ajax avec jquery, avec ajout d'un ou de plugins).
    Maintenant, je désactive java-script. Plus rien ou presque ne fonctionne...
    comment palier à cela ? Intégrer directement dans la page les fichiers de traitement du formulaire ? Comment feriez-vous ?
    merci,

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <noscript>Javascript n'est pas dangereux! Activez le ... </noscript>
    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 !

  3. #3
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par yann18 Voir le message
    comment palier à cela ? Intégrer directement dans la page les fichiers de traitement du formulaire ? Comment feriez-vous ?
    merci,
    Personnellement, je pense plutôt à une "amélioration progressive" : je fais un traitement classique et je rajoute ensuite une couche JS pour améliorer l'expérience utilisateur.
    Je ne réponds pas aux questions techniques par MP.

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Plaisanterie à part il est en effet préférable de procéder de façon inverse.
    Developper sans javascript et rajouter la couche de js non intrusif.
    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 !

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Points : 92
    Points
    92
    Par défaut
    Bigre ! C'est ce qu'on appelle de la réactivité ! On se croirait presque sur MSN...
    Donc concrètement, si je suis votre raisonnement, cela reviendrait à faire quoi ?
    Dans un premier temps, à appeler directement le fichier dans le formulaire (balise action) qui va effectuer le traitement selon le bouton ?
    Merci,

  6. #6
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    ça reviendrait a faire un formulaire qui est traité uniquement coté serveur ...
    puis a rajouter une couche ergonomique avec javascript.
    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 !

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    ton bouton "visualiser" ne peut se passer de javascript que si tu insères tes données dans la base; en gros, tu envoies vers une page cible et tu demandes si oui ou zut tu veux garder ces données. si oui, ben... oui; si non, tu relances une soumission qui efface les données;

    bref, tu n'as besoin que d'un bouton et d'une page action;

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Points : 649
    Points
    649
    Par défaut Gestion efficace d'un formulaire
    Citation Envoyé par yann18 Voir le message
    Maintenant, je désactive java-script. Plus rien ou presque ne fonctionne...
    comment palier à cela ? Intégrer directement dans la page les fichiers de traitement du formulaire ? Comment feriez-vous ?
    Attention c'est vraiment essentiel de comprendre que niveau validation de données d'un formulaire JS ça reste de la "déco", car côté client, et il ne faut surtout pas omettre le traitement côté serveur, sécurité oblige.

    Après si tu veux gérer les deux côtés pour améliorer l'ergonomie de ton interface c'est une autre paire de… chaussettes ?

  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
    Comme déjà dit, tu fais tout sans javascript, puis quand tout fonctionne correctement tu rajoute une couche de javascript, donc uniquement pour le confort de l'utilisateur et soulager un peu le serveur.

    Je viens de faire un exemple de formulaire où les erreurs sont gérées et affichées en php ici. Donc pour ce même formulaire, on pourrait ajouter une couche de javascript pour faire les mêmes contrôles, ce qui éviterait d'avoir besoin de recharger la page en cas d'erreur ou de formulaire incomplet.
    En fait cela revient à faire deux fois le même travail. Peu de sites commerciaux le font réellement et donc ils fonctionnent mal ou pas du tout si javascript est désactivé. Ce n'est pas ce qu'il conviendrait de faire en théorie mais c'est pourtant c'est la réalité car cela demande beaucoup de travail autrement.
    D'ailleurs dans le formulaire que je donne en lien plus haut, même si le contrôle des données et l'affichage des erreurs est fait en php, il y a des listes liées faites uniquement en javascript. Pour bien faire il me faudrait ajouter un bouton "submit" entre des balises <noscript> pour pouvoir faire afficher la seconde liste en php tout en utilisant les variables de sessions pour garder les informations déjà renseignées dans les autres champs...

Discussions similaires

  1. Les meilleurs livres pour apprendre le JavaScript
    Par vermine dans le forum Livres
    Réponses: 23
    Dernier message: 10/06/2019, 18h58
  2. Amélioration progressive vs. dégradation élégante
    Par saymoneu dans le forum Webdesign & Ergonomie
    Réponses: 1
    Dernier message: 27/04/2012, 17h06
  3. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  4. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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