11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Ma problématique :
Je dois réaliser un tableau de données d'environ 6000 lignes ( chaque ligne comporte 30 champs ).
Sur ce grand tableau, je dois pouvoir effectuer des recherches par date, par attribut ...
Toutes ces données sont enregistrées dans une base de données MySql.

Ma question :
Quel technologie utilisée pour réussir au mieux à manipuler toutes ces données ? Jquery ? Ajax ? Php ? Iframe ?

Mes pistes :
Je suis déja parvenu à réaliser un tableau entièrement en javacsript/jquery sur lequel je peux effectuer toutes mes recherches (par date, par attribut, filtres...) mais ceci sur seulement une 20aines de lignes pour le moment.

- Es ce que je risque d'avoir des problèmes de traitement de données lorsque j'aurais des milliers de lignes de données ?
- Dois-je sinon utiliser l'ajax pour re-charger mon tableau en fonction des "filtres" ou des requetes que je demandes ?
- Es ce que l'utilisation de l'ajax avec une iframe serait une bonne solution ?
(dans mon iframe se trouverait mon tableau construit avec une requete sql, et avec l'ajax, je lui transmet les paramètres de la bonne requete sql à effectuer pour la construction du tableau)
- ou alors je transpose toutes mes données dans un gros fichier xml que je traite ensuite avec l'ajax ?

J'ai cherché sur le net mais je ne trouve pas d'avis sur la bonne techno à mettre en place sur le traitement d'un tableau de cette envergure.

Par avance, merci
D'après moi, il te faut nécessairement un langage côté serveur, et faire en sorte que le client ne récupère que les données filtrées par tes critères.

IL me paraît particulièrement stupide de vouloir récupérer l'ensemble des données et faire le filtrage entièrement côté client. JavaScript est un langage plutôt lent pour le traitement de grandes quantités de données, alors que les bases de données sont au contraire expressément prévues pour ça.

LE plus simple est sans doute de faire des scripts php qui interrogent la base de donnée et qui retournent les résultats en JSON ou en XML, afin qu'un script javascript affiche les résultats récupérés via AJAX.

Entre JSON et XML tu as le choix, chacun a des avantages et des inconvénients; mais si tu prévois de n'accéder aux données que via JavaScript et AJAX, autant te tourner vers JSON. Le XML peut être intéressant si tu as d'autres clients qui sont suceptibles de se connecter, p.ex. une application Java.
Modifié par QuentinC (01 Jun 2015 - 12:06)
Bonjour,

j'ai déjà eu à traiter une problématique de la sorte (plusieurs fois même) : tu vas avoir deux problématiques :
- si tu ne peux pas paginer, ton programme va perdre du temps à la récupération des données
- tu vas avoir une méga lourdeur à l'affichage de ton tableau (surtout selon le navigateur)

Pour moi, le plus important est le choix d'une bonne grille :
jqgrid et slickgrid sont des grilles qui sont éprouvées. slickgrid est à mon avis la plus véloce, mais la doc est assez lamentable (en plus, j'ai l'impression que le dev scrute tout ce qui peut se dire sur slickgrid, et il envoie bouler tout le monde lol)
je ne sais plus sur jqgrid, mais sur slickgrid, tu as un mécanisme qui te permets d'allez chercher les données au fur et à mesure du scroll en ajax, ce qui pallie au problème de pagination.

ps : les mécanismes de recherche et tri sont déjà intégrés dans ces grids.

voilà j'espère avoir pu aider un peu
Bonjour et merci beaucoup pour vos réponses.

Il y a encore 3jours, tout ça était un peu flou pour moi mais j'y vois plus clair maintenant (notamment échange data entre serveur et client).

En ce qui concerne le choix de la grille je me suis tourné vers extjs qui me semblait vraiment complet par rapport à mes besoins : http://dev.sencha.com/ext/5.0.1/examples/grid/buffered-store.html

mais je garde bien en coin les deux grilles qu'il m'a été suggéré.

En tout cas, merci encore de votre aide, et bon week end ;