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

Bibliothèques & Frameworks Discussion :

Ai-je besoin de jquery ?


Sujet :

Bibliothèques & Frameworks

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut Ai-je besoin de jquery ?
    Bonjour à tous les utilisateurs de ce forum.

    Je suis un vieux de la vieille en informatique, et pas forcément "à jour" dans mes connaissances.

    J'ai développé un site sur mon réseau local, utilisant Apache2, PHP, MySQL et javascript. Il fonctionne à mon entière satisfaction.

    Maintenant, je voudrais ajouter une nouvelle fonctionnalité qui va nécessiter un accès en lecture à la base de données. Pour être plus précis, à un certain moment, l'utilisateur va sélectionner un enregistrement parmi ceux qui sont affichés à l'écran, et je désire ouvrir une fenêtre listant un certain nombre d'autres enregistrements contenant des informations semblables.

    J'ai bien vu que cela était réalisable avec jQuery, mais je me demande si ça n'est pas utiliser un marteau pilon pour enfoncer une punaise : pour réaliser mon projet, je dois juste exécuter une requête "SELECT", et afficher son résultat.

    Merci à ceux qui pourront éclairer ma lanterne.

    Question subsidiaire : j'ai vu sur le site de téléchargement de jQuery qu'il était disponible sur les serveurs d'APIs de Google. Je me pose la question de savoir si ce qu'on trouve là est exactement la même chose que chez jQuery, ou si Google n'y a pas ajouté dieu sait quelles cochonsetés (comme disait le regretté JCB).

    Un deuxième merci

    AMIcalement.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    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 420
    Par défaut
    Non tu n'as pas besoin d'utiliser jQuery uniquement pour faire une requête Ajax. Car si j'ai bien compris tu veux faire une requête onclick sur un bouton et faire afficher le résultat sans nécessiter un rafraichissement de la page, ce qui correspond au principe d'une requête Ajax.

    Si c'est bien cela tu peux regarder ce lien.

    Avant on utilisait volontiers jQuery y compris pour faire uniquement des requêtes Ajax car sa syntaxe hyper simple permettait d'être compatible sans effort avec tous les navigateurs. Mais ce n'est plus nécessaire actuellement car les navigateurs ont évolués. Suivant les cas l'utilisation de jQuery est encore toujours un peu plus simple pour faire des requêtes Ajax, mais peu s'en faut et effectivement charger jQuery uniquement pour ça revient à utiliser un marteau pilon pour enfoncer une punaise comme tu le disais.

    jQuery possède tout un tas de fonctionnalités qui peuvent être utiles, mais il faut apprendre sa syntaxe, il n'est donc intéressant que quand on l'utilise beaucoup, pour gagner du temps dans les gros développements javascript.

    Pour ta dernière question, perso je charge jQuery sur mon serveur je suis donc certain d'avoir la bonne version et de ne dépendre que de mon serveur. Mais si tu choisis l'option cdn à priori oui tu peux faire confiance aux serveurs google, sinon il y a aussi d'autres sources.

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    Oui, tu as bien compris ma question. Je vais donc suivre ton lien.

    Pour ma deuxième question, je ne vois pas très clair en matière d'optimisation des communications. Est-ce que, pour chaque appel de jQuery, on charge le réseau de quelques 90 Koctets (que ce soit le réseau local ou le réseau Internet), ou bien il est mis en cache par le navigateur (Firefox, en l'occurrence) ?

    En tous cas, un grand merci.

    AMIcalement.

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    Ah ! Je vais encore poser des questions, mais je vais faire des essais en attendant les réponses (et si mes essais ne marchent pas, les réponses m'expliqueront pourquoi, j'espère).

    1) Tout va partir d'un fichier 1.php qui va provoquer l'affichage de ma page. La fonction 2.php, qui va être appelée à l'aide de XMLHttpRequest, va chercher des données pour mettre à jour une table dans cette page. Elle doit donc se trouver dans le même répertoire. On va donc coder "XMLHttpRequest.open('POST', '2.php');". OK ?

    2) Cette fonction 2.php va coder et exécuter une requête Mysql, avec des arguments différents à chaque appel. Ces arguments vont donc être passés à la fonction 2.php. Je ne trouve pas (pas encore ...) clair la façon dont le lien ci-dessus explique comment coder les arguments passés à 2.php.

    3) Le but de tout cela est de remplir une table HTML. Est-il possible que 2.php génère une réponse au format XML ayant la forme suivante
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      <tr onclick='truc(1)'>
        <td>bla
        <td>bla
        <td>bla
        <td>bla
      </tr>
      <tr onclick='truc(2)'>
        <td>bla
        <td>bla
        <td>bla
        <td>bla
      </tr>
    que j'utiliserai sous la forme
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    table.tbody.innerhtml=XMLHttpRequest.responseText
    ?

    AMIcalement.

  5. #5
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    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 420
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    1) Tout va partir d'un fichier 1.php qui va provoquer l'affichage de ma page. La fonction 2.php, qui va être appelée à l'aide de XMLHttpRequest, va chercher des données pour mettre à jour une table dans cette page. Elle doit donc se trouver dans le même répertoire.
    Non pas nécessairement dans le même répertoire, il suffit d'indiquer la bonne adresse par rapport à ton script, tu peux tout aussi bien indiquer 'mon_repertoire/2.php'.

    Citation Envoyé par L'AMI Yves Voir le message
    2) Je ne trouve pas (pas encore ...) clair la façon dont le lien ci-dessus explique comment coder les arguments passés à 2.php.
    Dans le lien que je t'ai donné précédemment, vers le premier tiers de la page, voir l'exemple avec la méthode "send()". A noter que l'on se sert souvent de FormData pour alimenter le send, soit en définissant des clés/valeurs avec la méthode "append", soit en passant tout le formulaire en argument dans FormData, soit en faisant un mixte des deux.

    Citation Envoyé par L'AMI Yves Voir le message
    3) Le but de tout cela est de remplir une table HTML. Est-il possible que 2.php génère une réponse au format XML ayant la forme suivante
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      <tr onclick='truc(1)'>
        <td>bla
        <td>bla
        <td>bla
        <td>bla
      </tr>
      <tr onclick='truc(2)'>
        <td>bla
        <td>bla
        <td>bla
        <td>bla
      </tr>
    que j'utiliserai sous la forme
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    table.tbody.innerhtml=XMLHttpRequest.responseText
    ?
    Tant qu'à faire puisque c'est pour insérer dans une page html, autant retourner du html. Par contre il faudra réinitialiser tes "onclick" avec addEventListener à la suite de ton insertion sinon tes fonctions "truc" ne seront par reconnues. Enfin bon commence par faire ta requête ajax et d'insérer le html en retour correctement. On verra dans un second temps pour l'événementiel importé.

  6. #6
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    587
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 587
    Par défaut
    Merci encore une fois.

    J'ai appelé "XML" ce que j'ai écrit, mais, en terme de texte pur, c'est exactement du HTML aussi bien. Y a-t-il quelque chose qui change dans la façon dont PHP le traite ?

    Pour ce qui est de mes essais, après pas mal de temps passé à corriger les { et les ; ici ou là, j'ai fini par avoir un code qui tourne, mais j'en suis à chercher à atteindre mon module php!

    voici le message :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    404 : <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html><head>
    <title>404 Not Found</title>
    </head><body>
    <h1>Not Found</h1>
    <p>The requested URL /var/www/courant/comptabilite/ListeTiers.php was not found on this server.</p>
    <hr>
    <address>Apache/2.4.29 (Ubuntu) Server at 192.168.1.2 Port 80</address>
    </body></html>
    Or il y est bel et bien...

    Je sèche !

    AMIcalement

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 420
    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 420
    Par défaut
    Citation Envoyé par L'AMI Yves Voir le message
    Pour ma deuxième question, je ne vois pas très clair en matière d'optimisation des communications. Est-ce que, pour chaque appel de jQuery, on charge le réseau de quelques 90 Koctets (que ce soit le réseau local ou le réseau Internet), ou bien il est mis en cache par le navigateur (Firefox, en l'occurrence) ?

    En tous cas, un grand merci.

    AMIcalement.
    Non le navigateur met le code en cache. L'avantage du cdn c'est que l'on suppose que le visiteur ayant déjà visité de nombreux sites internet, est déjà tombé sur ce lien, donc qu'il a déjà le code en cache. Si tu utilises ton serveur pour stoker le code, tu peux utiliser le .htaccess pour indiquer quelles ressources doivent être mises en cache et la durée de ce cache. Par exemple:
    Code .htaccess : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <IfModule mod_expires.c>
         ExpiresActive on
         ExpiresByType application/x-javascript "access plus 1 year"
         ExpiresByType application/javascript "access plus 1 year"
         ExpiresByType text/javascript "access plus 1 year"
         ExpiresByType image/* "access plus 1 year"
    </IfModule>
    Donc avec ce code, dans l'hypothèse où la librairie jQuery se trouve sur ton serveur, elle ne sera chargée qu'une fois par an pour chaque visiteur, tout comme les images. Au final, sauf une fois par an, c'est aussi rapide que cdn. Cela dit le cdn permet quand même d'avoir un cache plus petit sur l'ordinateur du visiteur puisqu'un moins grand nombre de fichiers y seront stockés. Mais bon, 90Ko ce n'est jamais que l'équivalent d'une seule image moyen format, donc ce n'est pas non plus si important (anecdotique par rapport à l'ensemble des images stockées), surtout aujourd'hui avec des ssd rapides et pas chers.

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

Discussions similaires

  1. Est-ce que JqueryMobile a besoin de Jquery
    Par pierrot10 dans le forum jQuery
    Réponses: 0
    Dernier message: 27/02/2021, 14h06
  2. Besoin d'un conseil en JQuery
    Par Sayrus dans le forum jQuery
    Réponses: 2
    Dernier message: 26/11/2009, 11h57
  3. Besoin d'aide avec librairie jquery
    Par popcorn dans le forum jQuery
    Réponses: 2
    Dernier message: 26/09/2008, 15h39
  4. [JQuery] Besoin d'aide pour formulaire avec AJAX
    Par noz62 dans le forum jQuery
    Réponses: 5
    Dernier message: 19/06/2008, 23h38

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