Je suis sûr que j'ai raté quelque chose d'assez fondamental, mais je viens de commencer à me mettre à la page en matière de programmation jQuery et Javascript. Auparavant, je faisais de la programmation côté serveur avec PHP. Je suis maintenant au milieu de la création d'un prototype de webapp HTML5, où je voudrais avoir différents écrans. Avec PHP, c'était assez facile, je pouvais simplement utiliser des modèles côté serveur comme Smarty et en finir.
Cependant, pour que mon application ressemble davantage à une application web, je voudrais passer dynamiquement d'un écran à l'autre sans avoir à recharger la fenêtre.
J'ai examiné plusieurs options qui pourraient répondre à ma question, mais je ne suis pas sûr d'être sur la bonne voie.
J'ai vérifié par exemple JsRender, JsViews ou même la pure commande jquery load. Mais ce dont je ne suis pas sûr, c'est que ces choses me permettraient d'avoir quelque chose comme ça :
HEADER_PART
MAIN_CONTENT
FOOTER_PART (contient également des liens vers des fichiers JS courants que j'utilise)
Je voudrais mettre à jour dynamiquement la partie MAIN_CONTENT. Actuellement, mon application ne comporte qu'une seule page, et toute ma logique personnalisée qui appartient à cette page se trouve dans un seul fichier JS. Dans ce fichier JS, j'utilise une simple $(function() { ... pour charger ma page, de sorte qu'à chaque fois qu'elle est chargée, certaines parties de ma page sont mises à jour de manière asynchrone. C'est très bien, car tous mes blocs dans cette certaine page devraient être chargés lorsque cette page est chargée.
Mais que se passe-t-il si j'ai un lien, comme main.html#autre écran, et que lorsque je clique sur cet écran, je souhaite modifier mon MAIN_CONTENT et également exécuter un autre JS spécifique au chargement de la page qui gère les blocs sur cet autre écran, et non sur la première page ?
Je sais que je pourrais toujours utiliser des modèles côté serveur et charger mes pages en utilisant des requêtes AJAX, mais là encore, je ne suis pas sûr que ce soit la bonne approche.
Pouvez-vous m'éclairer ? :)
Merci et meilleures salutations, Bence