Recherchez sur tout Techno-Science.net
       
Techno-Science.net : Suivez l'actualité des sciences et des technologies, découvrez, commentez
Catégories
Techniques
Sciences
Encore plus...
Techno-Science.net
Partenaires
Organismes
 CEA
 ESA
Sites Web
Photo Mystérieuse

Que représente
cette image ?
 A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | +
Session (informatique)

En informatique, une session est l'exécution d'un programme pour un utilisateur donné. L'exécution du programme est alors paramétrée par les informations du profil de l'utilisateur (ses caractéristiques, ses préférences, l'historique de ses interactions avec le programme, etc.)

Déroulement d'une session

Une session démarre lorsque l'utilisateur commence à interagir avec un programme.

L'ouverture de session peut être :

  • Explicite, avec une saisie d'un nom et d'un mot de passe. On parle alors d'authentification (L'authentification est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité (personne,...) ou de connexion. Cette authentification peut toutefois être automatisée, lorsqu'un mécanisme particulier remplace l'utilisateur en indiquant par exemple à sa place ses informations de connexion. C'est le cas par exemple lorsque l'on démarre une sous-session (on peut bénéficier de l'authentification principale).
  • Implicite, lorsqu'il n'y a pas besoin (Les besoins se situent au niveau de l'interaction entre l'individu et l'environnement. Il est souvent fait un classement des besoins humains en trois grandes catégories : les besoins...) d'indiquer un identifiant ou un mot de passe. Ce type de session est bien souvent limitée en termes de droits et donc d'effets.

Selon toute logique (La logique (du grec logikê, dérivé de logos (λόγος), terme inventé par Xénocrate signifiant à la fois raison, langage, et raisonnement) est dans une...), une session devrait se terminer lorsque l'utilisateur arrête de se servir du système. En pratique, hormis les cas où l'on a une demande volontaire d'arrêt de la session (telle une déconnexion), l'utilisateur peut toujours laisser le programme en cours de session et revenir par la suite. Cela n'est pas sans poser des problèmes, notamment en matière (La matière est la substance qui compose tout corps ayant une réalité tangible. Ses trois états les plus communs sont l'état solide,...) de sécurité. Le concepteur (Un concepteur est une personne qui imagine et réalise quelque chose. Ce mot vient du verbe concevoir.) du programme peut alors imposer un temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.) limite d'inactivité ou une échéance : passé (Le passé est d'abord un concept lié au temps : il est constitué de l'ensemble des configurations successives du monde et s'oppose au futur sur...) un certain temps, la session est invalidée.

Informations de sessions

Les informations de session sont conservées dans un profil de l'utilisateur (en général, un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui...) de variables). Elles peuvent être fugaces ou stockées à moyen/long terme dans un ensemble de fichiers, d'entrées dans une base de données (En informatique, une base de données (Abr. : « BD » ou « BDD ») est un lot d'informations stockées dans un...), etc. Elles sont soit chargées à l'ouverture de session, et mises à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la période entre deux nuits, pendant laquelle les rayons du Soleil éclairent le ciel. Son début (par rapport à minuit heure locale) et sa...) à la fin, soit dynamiquement pendant les interactions.

Certaines informations sensibles de la session doivent être isolées et/ou protégées par des droits d'accès, tandis que d'autres peuvent être partagées par plusieurs profils.

Utilisation des sessions

L'informatique (L´informatique - contraction d´information et automatique - est le domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de...) fait souvent appel à la notion de session :

  • Dans les systèmes d'exploitation multi-utilisateurs. Elles permettent à chacun de travailler indépendamment des autres dans des processus distincts, avec ses propres variables d'environnement (L'environnement est tout ce qui nous entoure. C'est l'ensemble des éléments naturels et artificiels au sein duquel se déroule la vie humaine. Avec les enjeux écologiques actuels, le terme environnement tend actuellement à...).
  • Dans les protocoles réseaux, on peut citer l'exemple des sessions HTTP qui permettent de réaliser des applications web au dessus du protocole HTTP. A la première visite d'une page, un serveur web demande au client (Le mot client a plusieurs acceptations :) de conserver un cookie de session. Ce cookie qui contient un simple identifiant. Lorsque l'utilisateur passe sur une autre page du site, le cookie est envoyé au serveur web en même temps que la requête (Le mot requête, synonyme de demande, est employé dans les domaines suivants :) HTTP qui peut alors retrouver la session d'un utilisateur.

Sessions PHP (PHP (sigle de PHP: Hypertext Preprocessor), est un langage de scripts libre principalement utilisé pour produire des pages Web dynamiques via un serveur...)

Les sessions sont indispensables dès qu'un site comporte une partie membres. Elle sont plus sécurisées que les cookies. Elles permettent de garder en mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) sur le serveur chaque personne, identifiée ou non, visitant le site. Les fonctions de sessions doivent toujours êtres appelées avant l'écriture de code HTML. Ainsi, la première chose conseillée à faire sur chaque page PHP est : session_start();

Les variables de sessions sont appelées variables superglobales, car elles sont toujours là, même si la page est rechargée par le serveur. Les sessions ont un temps de vie (La vie est le nom donné :) défini par le serveur. Ce temps varie généralement entre 5 et 30 minutes ( Forme première d'un document : Droit : une minute est l'original d'un acte. Cartographie géologique ; la minute de terrain est la carte...).

Les variables de sessions sont stockées dans un tableau (Tableau peut avoir plusieurs sens suivant le contexte employé :) PHP simple appelé $_SESSION(lien).

Voici comment définir une variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle est utilisée pour marquer un rôle dans une formule, un prédicat ou un algorithme. En statistiques, une...) de session :

 
 $_SESSION['id']    = $variable; 
 

Les variables de sessions se récupèrent ainsi :

 
 $variable = $_SESSION['id']; 
 

Voici une méthode sûre afin de détruire une session en cas de déconnexion (manuelle ou forcée) :

 
 $_SESSION = array();           //Ecrase les variables de sessions en recréant un tableau vide (Le vide est ordinairement défini comme l'absence de matière dans une zone spatiale.) 
 session_destroy();             //Supprime le fichier ( 
 Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce, un bâtiment, une base de données informatique. Par exemple : 
  
 fichier des patients d'un médecin, 
 fichier des ouvrages dans une...) serveur de la session 
 

Les fichiers de sessions sauvegardés sur le serveur ont ce format :

 
 > Nom du fichier > sess_fe089db4fa4f15978286da2432db9ab3 
 > Contenu > id|i:1;name|s:6:"Didjor"; 
 

Regardons de plus près ce qui définit une variable de session :

 
 > Name|Type:Char_nb:Value; 
 
Name 
Nom de la variable superglobale
Type 
Type de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire, d'un événement, etc.). i représente integer et s string
Char_nb 
Nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de caractères de la variable
Value 
Valeur de la variable. Elle est entre guillemets si son type est String
Source: Wikipédia publiée sous licence CC-BY-SA 3.0.

Vous pouvez soumettre une modification à cette définition sur cette page. La liste des auteurs de cet article est disponible ici.