8768 sujets

Développement web côté serveur, CMS

Bonjour à vous tous,

J'entame un nouveau chapitre de l'initiation PHP : les sessions.

Je ne comprends pas bien l'utilité des sessions. Voici la définition dans mes cours :
a écrit :

Les sessions PHP sont un moyen de propager des informations d'une page à une autre. Elles permettent un fonctionnement similaire aux variables externes ou super-globales (GET, POST) mais sans utiliser de valeurs dans l'URL. Les sessions permettent l'enregistrement d'un nombre illimité de variables qui sont ainsi préservées durant la navigation d'un internaute.

Si j'ai bien compris, les sessions sont des "super variables" qui peuvent remplacer les variables classiques. Dans ce cas, pourquoi ne pas utiliser tout le temps les sessions au leu des variables ? Ou alors, il y a une autre explication plus clair ?

Pouvez-vous m'expliquer ?
Modifié par ObiJuanKenobi (09 Jun 2022 - 07:03)
Salut

Les sessions sont des "globales", les variables globales sont accessible de partout dans ton code, entre les pages etc...

Tu utiliseras des variables classiques quand tu ne veux pas que ta certaines variables soient visibles partout dans ton code Smiley smile par exemple des données plus ou moins sensible (style login/pwd)

dans les Sessions tu va surtout mettre des infos classique du style les infos de l'utilisateur connecté, ou par exemple de ton panier (sur un site marchand).
Modifié par JENCAL (09 Jun 2022 - 09:57)
Pour clarifier à quoi ça sert :

Quand on se connecte à un site et qu'il répond, on appelle cela une "interaction".
Très souvent (par exemple pour passer une commande à un site marchand) on est amené à effectuer de nombreuses interactions à la suite. On appelle cela une "session".
Le mécanisme des "variables de session" permet de gérer des variables qui sont accessibles durant toute la session : on les initialise pendant une interaction et on peut les retrouver plus tard dans une autre interaction de la session.
Une commande sur un site marchand va enregistrer successivement chaque élément de la commande, tout cela est stocké dans des variables de session.
Quand c'est terminé, le programme utilise ces variables et "clôt la session", c'est à dire que ces variables sont effacées.
A noter qu'on peut également avoir des variables de session côté client gérées en JavaScript.

J'espère que c'est clair.
Modifié par PapyJP (09 Jun 2022 - 11:26)
Merci Papy et Jencal, c'est plus clair maintenant. Il ne me reste plus qu'à finaliser l'apprentissage du cours sur les sessions. Je reviendrai si je ne comprends pas la suite. Il me reste encore les cookies à voir et le prochain cours est sur le Javascript, ça va swinger parce que je vais danser la Java !

En gros, à quoi sert le Javascript ? Je n'ai jamais touché à ce langage. J'entends parler de dynamisation de la page web mais je n'arrive pas à me faire une idée précise de ce que cela peut être une page web dynamique.
Une page web dynamique c’est une page dans laquelle un clic (ou autre action) déclenche une modification de l’aspect de la page. Par exemple ça ouvre une boîte avec un texte complémentaire, qu’on peut fermer en cliquant dessus.
Ça permet également, dans devoir réafficher toute la page, de demander des données au serveur et de les afficher quelque part.
Personnellement j’utilise également le JavaScript pour générer le contenu de la page à partir de données fournies par le site plutôt que de générer des balises par des commandes "echo" en php. Ça évite les erreurs de type "balise non fermée".
Pour finir, le javascript peut être aussi utilisé comme langage côté serveur - à la manière de php - grâce à Node.js qui compile le javascript en langage C++.
ObiJuanKenobi a écrit :
Merci Papy et Jencal, c'est plus clair maintenant. Il ne me reste plus qu'à finaliser l'apprentissage du cours sur les sessions. Je reviendrai si je ne comprends pas la suite. Il me reste encore les cookies à voir et le prochain cours est sur le Javascript, ça va swinger parce que je vais danser la Java !

En gros, à quoi sert le Javascript ? Je n'ai jamais touché à ce langage. J'entends parler de dynamisation de la page web mais je n'arrive pas à me faire une idée précise de ce que cela peut être une page web dynamique.


Le JS permet pas mal de chose mais l'usage le plus courant est de manipuler le html (animation, déplacement, remplacement...).
Il sert souvent à réaliser des animations infaisables en CSS. Le CSS ne permet d'animer que l'élément avec lequel on interagit ou un descendant. Avec JS tu peux animer n'importe quel élément de ta page.
De plus les déclencheurs sont beaucoup plus nombreux qu'en CSS (qui se contente du survol ou de la sélection) : tu peux déclencher aussi au scroll, à l'apparition, en quittant la page etc
Modifié par kerlutinoec (10 Jun 2022 - 11:23)