Architecture applications web en PHP, Javascript

Petit nouveau ! | 3 Messages

21 févr. 2014, 00:17

Bonjour à tous,

Voilà, le problème auquel je fais face: je dois développer/intégrer une application (type dashboard, donc Single Page Application) qui va récupérer des données (elles peuvent être de type géocentrique ou pas) dans des bases MySQL pour les afficher à l'utilisateur sous formes de graphiques (camemberts, histogrammes, etc) ainsi que des informations sur une carte géographique (Google Maps).

En fait, je connais un peu Javascript/Ajax + jQuery + PHP + MySQL (et HTML5 + CSS3, bien sûr). Mais je ne connais pas grand chose en architecture d'applications.

Les questions que je me pose sont les suivantes (je ne voie pas du tout comment réaliser une telle application):

- comment charger/afficher les données demandées par l'utilisateur puisqu'il s'agit d'une application où l'utilisateur est susceptible de faire beaucoup de requêtes (beaucoup d'interactions avec l'interface) ?
- Créer des services en PHP/SQL qui vont interroger la base et renvoyer du JSON ? ou XML ?
- comment faire pour gérer justement l'interactivité avec l'utilisateur: est-ce que je charge les données susceptibles d'être demandées par l'utilisateur (JSON ? XML ?)
- comment optimiser (en minimisant) les requêtes vers le serveur, vers la base de données ?

Si ce n'est carrément pas possible, j'aimerais avoir des réponses également.
Ça serait sympa.

Merci,

Loucki

Eléphant du PHP | 83 Messages

21 févr. 2014, 09:36

Bonjour,
J'ai déjà réalisé une application similaire a la tienne, mon projet est un watch web c-a-d un système qui surveille des équipements réseaux et affiche leurs états dynamiquement et chaque utilisateur a son propre vue puisqu'il crée ces propres graphes, bon ce que j'ai fait :

- utilisation d'un framework rapide : j'ai opté pour CodeIgniter car il est léger et il est l'un des plus rapide (si j'ose dire :) )!
- utilisation de JQuery : car mon application doit utilisé Ajax et interagir dynamiquement sur les éléments de la page
- je charge tous les données d'un seul cout je les places dans des attribut "data" HTML5
- je crée un tableaux multi-dimensionnel qui regroupe tout les données (tableau javascript)
- je fait l'md5 de la variable tableau
- je récupère les données périodiquement dans un nouveau tableau et je fait l'md5
- je compare les 2 MD5 s'il sont différents il y a eu modification d'un ou plusieurs données dans la base donc je fait la mise a jour de l'interface avec JQuery

Bon c'est en générale le principe de ma solution, c'est pas la solution parfaite car il y a une nouvelle technologie qui permet au serveur d'envoyer des données au clients qui est mieux adapté a ce genre de situations mais je ne la maitrise pas et a ce qu'il parait il faut avoir la main sur le serveur pour y installé des trucks pour pouvoir codé.

Bon codage

Petit nouveau ! | 3 Messages

21 févr. 2014, 17:09

Bonjour libertux,

Tout d'abord merci beaucoup d'avoir répondu parce que je commençais à désespérer (j'ai posé le "problème" sur différents forums et manifestement ça n'avait l'air d'inspirer personne -> aucune réponse ! même s'il y a eu pas mal de vues !). Donc un grand merci !
Bon c'est en générale le principe de ma solution, c'est pas la solution parfaite ...
Je dois dire que quand on part de zéro et qu'on ne sait pas par quel bout prendre le problème (je suis autodidacte !), tout est bon à prendre, à étudier, à inspirer. Donc je trouve que ta méthode est intéressante et me donne déjà des pistes.
car il y a une nouvelle technologie qui permet au serveur d'envoyer des données au clients qui est mieux adapté a ce genre de situations mais je ne la maitrise pas et a ce qu'il parait il faut avoir la main sur le serveur pour y installé des trucks pour pouvoir codé.
Je suppose que tu parles de NODEJS, c'est ça ?

Merci encore.

Loucki

Eléphant du PHP | 83 Messages

22 févr. 2014, 05:07

Bonjour,
Effectivement c'est NODEJS, bon j'ai pas eu le temps de la tester en plus j’ai pas un contrôle directe sur les serveurs que j'utilise je pense que je doit la tester localement ?!
Bon courage et je suit la pour t'aider si t'as besoin encore d'aide.

Petit nouveau ! | 3 Messages

22 févr. 2014, 18:14

Merci libertux !