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 :

[AJAX] Utilité d'AJAX vs PHP


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 13
    Points : 8
    Points
    8
    Par défaut [AJAX] Utilité d'AJAX vs PHP
    Bonjour,

    Excusez ma naiveté, je me penche actuellement sur AJAX, j'en ai retenu que cela permet de converser avec le serveur entre autres.
    Partant de ce postulat, je me demande ce que ça peut apporter dans le cadre d'un site en PHP qui interroge déjà une base SQL.
    Est-ce que c'est dans ce cas totalement inutile?
    Est-ce qu'on peut-etre plus structuré/efficace... en utilisant AJAX?

    Merci de m'éclairer.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 26
    Points
    26
    Par défaut
    Je serai également intéressé par les réponses. J'en viens à me poser la même question.

    De mon point de vue, je pense qu'Ajax est profitable si son recours y est bien réfléchi au sein des pages. Prenons un exemple d'une page présentant tout un tas de statistiques/données émanant d'une BDD. Toutes ces données sont affichées sur une même page mais organisées en différents tableaux, indépendants les uns des autres.

    Alors il y a deux points de vue:

    - soit la page est conçue et pensée d'un seul bloc, auquel cas tout le code écrit sera en PHP. C-a-d que toutes les données seront chargées par le même script php qui sera exécuté au chargement de la page. Un rafraîchissement de la page entraînant donc le rechargement de toutes les données, et une répétition de toutes les requêtes donc.

    - soit la page est divisée et structurée en sous-parties du document (grâce aux divs id... sous html), et dans ce cas, chaque tableau d'information, chaque partie indépendante de ta page pourra être chargé(e) de manière indépendante sous l'action de l'utilisateur.

    Admettons que l'on puisse faire un appel de toutes les requêtes Ajax définies dans le 2nd exemple en même temps pour le premier affichage de la page, et qu'ensuite, l'utilisateur choisisse de sélectionner un tableau pour le rafraîchir: On aura juste cette partie là à afficher, réduisant ainsi la requête et donc le temps de chargement. Qui plus est, la page sera visuellement "statique", et le chargement se sera effectué sans renouvellement de la page entière.


    Je sais pas si je suis clair, et si mon exemple est suffisant ou non. Dans le principe Ajax est une bonne chose, mais il est clair qu'il faut savoir quoi en faire. Je pense que c'est là le gros de la réflexion: penser son application en terme d'interface utilisateur, et penser son Data Model sur le Business Model. Après la réponse à "Ajax m'est-il utile dans tel cas?" doit venir d'elle même, en terme de process des données, de gestion de l'information (identifier les flux, les données fréquemment mises à jour, moins fréquentes, rares,...).


    Très bon topic, j'aurais besoin moi même de + de précisions pour me faire mon avis.


    A+

  3. #3
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    la question est des plus pertinentes lorsque l'on découvre Ajax.
    En effet, cette technologie est victime de son succès : il est facile de constater que de nombreux développeur font de l'Ajax parce que c'est à la mode (Web 2.0 et blablabla ...). Le nombre de questions commençant par "J'ai fais un site en Ajax ...." est assez représentatif

    Or, Ajax est à réserver à des besoins bien précis.
    Dans le cas contraire, non seulement on ne bénéficie pas des apports d'Ajax (car on en avait en fait pas l'utilité), mais on en récupère les contraintes (problèmes de navigation, rigueur accrue dans la gestion du document etc.). Par exemple, on en arrive très souvent à des solutions du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="appel_ajax();">
    qui sont, sauf cas exceptionnel, d'un intérêt .... moyen

    Pour simplifier, je dirais que (au moins pour commencer), les rôles à réserver à Ajax sont :
    • La mise à jour d'une partie de la page si un rechargement complet est pénalisant
    • Un contrôle de saisie lié à un test en BDD (ex : test de l'existence d'un pseudo pour une inscription)
    • La nécessité d'appeler en parallèle plusieurs pages serveur pour un traitement particulier

    Dans l'exemple des tableaux ci-dessus, il pourrait s'agir de N tableaux contenant des données quotidiennes et un des tableaux affichant des données "temps réel" (ex : variation de stock) : la nécessité de rafraichir ces dernières toutes les 15 secondes, par exemple, serait très pènalisante pour l'utilisateur en l'absence d'Ajax : rafraichissement fréquent en interrogeant inutilement un gros volume de données. Dans ce cas, Ajax est nécessaire pour ne mettre à jour que ces données temps réel, sans modifier le reste de la page et donc sans "géner" l'utilisateur avec un affichage instable.
    Un point à savoir : Ajax est très performant en terme de temps de réponse. En effet, seules les données transitent dans la requête, et non une page entière.

    Voilà. Mais comme tout ce qui va sans dire va encore mieux en le disant : il ne s'agit ici que d'un avis personnel qui trouvera peut être des détracteurs

    EDIT : une chtite remarque par rapport au titre du sujet : il ne faut pas opposer Ajax et PHP : Ajax utilise (généralement) PHP

    EDIT BIS : par rapport aux 2 points de vue de n1n0x : non ! Il n'y a aucun impact de la structure de la page sur l'utilisation d'Ajax. A partir du moment où un objet est identifié, il est "gérable" via Ajax. Les 2 cas que tu donnes n'impliquent pas l'utilisation ou la non utilisation d'Ajax : il s'agit de choix différents de codage, mais sans impact sur Ajax ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    78
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 78
    Points : 26
    Points
    26
    Par défaut
    Tu donnes exactement le même exemple que moi....
    Relis moi.

  5. #5
    Membre actif
    Homme Profil pro
    PDG
    Inscrit en
    Septembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : PDG
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2005
    Messages : 101
    Points : 225
    Points
    225
    Par défaut
    Pour les tableaux temps réél, le mieux serait de pouvoir utiliser le push, donc les sockets.
    Mais là, ça devient assez complexe. J'en suis toujours à étudier les docs pour voir comment intégrer ça à un site dynamique "standard"

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 29
    Points : 21
    Points
    21
    Par défaut
    je pense pas qu'un site totalement en ajax soit une bonne idée.
    personnellement j'utilise ajax uniquement dans des backoffice ou application web l'ajax est vraiment utile (quasi indispensable pour moi) uniquement dans ces cas et certains point on peut faire des site avec des parties en ajax mais pas totalement.

    par exemple je me vois mal faire un site e-commerce totalement en ajax par contre l'ajout d'un produit au panier ok l'ajax est bien utile.

    celà peut être utile également quand on veut trier les résultat d'un tableau aussi, mais c'est pas le top pour la navigation et le reste

  7. #7
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Citation Envoyé par dasdeb Voir le message
    Pour les tableaux temps réél, le mieux serait de pouvoir utiliser le push, donc les sockets.
    Mais là, ça devient assez complexe. J'en suis toujours à étudier les docs pour voir comment intégrer ça à un site dynamique "standard"
    Tu parles du "reverse ajax" ? Des solutions existent (http://en.wikipedia.org/wiki/Comet_%28programming%29) mais le gain apporté par rapport à la mise en oeuvre ne me parraît pas intéressant. Du simple ajax polling est dans la plupart des cas convenable.

Discussions similaires

  1. [AJAX] Récupérer une boucle en php ?
    Par artotal dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/01/2007, 00h31
  2. [AJAX] récupérer données transmises par php
    Par Maryy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 07/01/2007, 16h07
  3. [AJAX] input type=file avec php côté serveur
    Par redstain dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/01/2007, 15h43
  4. [AJAX] Utilité de X de AJAX ?
    Par Heptaeon dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 10/09/2006, 07h16
  5. [AJAX] Recharger un menu deroulant php sans recharger la page
    Par ns_deux dans le forum Général JavaScript
    Réponses: 25
    Dernier message: 22/07/2006, 15h59

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