Êtes-vous un étudiant de l'EPFL à la recherche d'un projet de semestre?
Travaillez avec nous sur des projets en science des données et en visualisation, et déployez votre projet sous forme d'application sur Graph Search.
X est un protocole de système de fenêtrage (window system, en anglais) qui gère l'écran, la souris et également le clavier. X11 en est la onzième version majeure. Il s’agit du standard ouvert d'interaction graphique avec l'utilisateur sur les systèmes d’exploitation de type Unix (Linux, BSD). Le système de fenêtrage X (dit « serveur X ») est optionnel sur macOS (qui utilise nativement Quartz). Il est possible d'installer un serveur X sur la plupart des systèmes d'exploitation, dont Windows. On dit communément d'une application qu'elle tourne « sous X » lorsqu'elle est conçue pour l'environnement X. Les spécifications X11 sont actuellement dirigées par la Fondation X.Org qui développe également X.org, sa principale implémentation. X fonctionne suivant le modèle client–serveur : le logiciel serveur X tourne sur un terminal intelligent (client léger) doté d'un écran, d'un clavier et d'une souris ; il reçoit et sert des requêtes d'affichage, d'entrées de texte et de déplacement de souris sur un port logiciel ; un ou plusieurs logiciels client X, depuis des ordinateurs locaux ou distants (logiciel graphique) se connectent au serveur X et lui envoient leurs requêtes d'affichage en utilisant le protocole X au travers de la bibliothèque X (Xlib). Le client est simplement l'application logicielle (jeu, traitement de texte, calculatrice...) qui utilise alors le protocole X pour déléguer au serveur X les tâches d'interactions homme-machine (ou IHM). Cette terminologie client–serveur avec le serveur côté utilisateur et le client côté application peut sembler étrange pour les nouveaux utilisateurs de X, les termes semblant inversés : on a davantage l'habitude de voir un serveur sur l'ordinateur principal que sur un terminal. Cependant X se place du point de vue de l'application plutôt que de l'utilisateur : X fournit des services d'entrée-sortie aux applications, c'est donc un serveur ; les applications consomment ces services, ce sont donc des clients.
Brice Tanguy Alphonse Lecampion, Seyyedmaalek Momeni, Christophe Nussbaum