Projet initié en 2001 par Bart Massey, XCB approche de la version 1.0, hier la version candidate (RC1) est sortie.
Le système graphique X équipe la très grosse majorité des systèmes Linux ; c'est le protocole qui permet à un serveur d'affichage de communiquer avec des clients, les applications. Les clients envoient des requêtes d'affichage et le serveur affiche ce qui est demandé. Le protocole va plus loin, puisqu'il gère aussi les souris et les claviers, en bref tout ce qui constitue l'interface graphique de nos systèmes. Ce que ce système a d'intéressant, c'est qu'il permet de manière transparente l'affichage déporté, les requêtes du protocole pouvant être transférées soit localement via des sockets unix, soit à distance via TCP.
Jusqu'à maintenant la gestion de ce protocole était principalement effectuée par la Xlib. Elle fournit des fonctions haut-niveau qui sont transformées en série de requêtes envoyée au serveur. Le problème de la Xlib est qu'elle est synchrone, c'est à dire (en simplifiant) qu'elle envoie une requête, attend la réponse du serveur, envoie la requête suivante... Or le protocole X est fondamentalement asynchrone, c'est-à-dire que l'on envoie une série de requête et on traite les réponses quand elles arrivent. Le seul cas où l'on doit attendre une réponse et donc bloquer le reste se produit quand la réponse a une grande importance, ce qui arrive rarement dans une application graphique. En effet, les applications graphiques ont tendance à être réactives plutôt qu'actives.
C'est de ce problème qu'est née la légende que X est lent et que si on supprimait l'abstraction réseau on pourrait obtenir un système très efficace.
XCB est une nouvelle implémentation du protocole X mais asynchrone, elle met à disposition du programmeur un accès direct au protocole et permet de jouer directement avec les requêtes. Il devient donc possible d'envoyer quelques tonnes de requêtes sans attendre de réponse, et quand l'application dispose d'un peu de temps libre elle vérifie qu'il n'y a pas eu de gros problèmes.
Et comble du bonheur, XCB peut aussi servir de couche de transport pour la Xlib. Attention, ça ne veut pas dire que toutes les vieilles applications mal programmées vont soudain devenir tellement rapides qu'elles en seront inutilisables, car en utilisant XCB la Xlib reste synchrone. L'avantage est qu'il devient possible de mélanger les appels à la Xlib et à XCB et donc de migrer progressivement les applications.
La 1.0 ne devrait pas tarder puisque l'API est stabilisée. Si aucun problème dans cette API n'est soulevé durant cette phase de test la version 1.0 sortira d'ici peu. Le deuxième problème c'est que maintenant il va falloir se motiver pour porter les applications... et là il y a du travail, mais c'est possible. Il existe déjà par exemple une version XCB de evas la bibliothèque graphique de Enlightenment 17, et quelques autres. L'idéal serait un portage d'un gros toolkit tel que GTK+, ce qui accélérerait un maximum d'applications rapidement.
NdM Cette dépêche est issue du journal de beagf.
Le système graphique X équipe la très grosse majorité des systèmes Linux ; c'est le protocole qui permet à un serveur d'affichage de communiquer avec des clients, les applications. Les clients envoient des requêtes d'affichage et le serveur affiche ce qui est demandé. Le protocole va plus loin, puisqu'il gère aussi les souris et les claviers, en bref tout ce qui constitue l'interface graphique de nos systèmes. Ce que ce système a d'intéressant, c'est qu'il permet de manière transparente l'affichage déporté, les requêtes du protocole pouvant être transférées soit localement via des sockets unix, soit à distance via TCP.
Jusqu'à maintenant la gestion de ce protocole était principalement effectuée par la Xlib. Elle fournit des fonctions haut-niveau qui sont transformées en série de requêtes envoyée au serveur. Le problème de la Xlib est qu'elle est synchrone, c'est à dire (en simplifiant) qu'elle envoie une requête, attend la réponse du serveur, envoie la requête suivante... Or le protocole X est fondamentalement asynchrone, c'est-à-dire que l'on envoie une série de requête et on traite les réponses quand elles arrivent. Le seul cas où l'on doit attendre une réponse et donc bloquer le reste se produit quand la réponse a une grande importance, ce qui arrive rarement dans une application graphique. En effet, les applications graphiques ont tendance à être réactives plutôt qu'actives.
C'est de ce problème qu'est née la légende que X est lent et que si on supprimait l'abstraction réseau on pourrait obtenir un système très efficace.
XCB est une nouvelle implémentation du protocole X mais asynchrone, elle met à disposition du programmeur un accès direct au protocole et permet de jouer directement avec les requêtes. Il devient donc possible d'envoyer quelques tonnes de requêtes sans attendre de réponse, et quand l'application dispose d'un peu de temps libre elle vérifie qu'il n'y a pas eu de gros problèmes.
Et comble du bonheur, XCB peut aussi servir de couche de transport pour la Xlib. Attention, ça ne veut pas dire que toutes les vieilles applications mal programmées vont soudain devenir tellement rapides qu'elles en seront inutilisables, car en utilisant XCB la Xlib reste synchrone. L'avantage est qu'il devient possible de mélanger les appels à la Xlib et à XCB et donc de migrer progressivement les applications.
La 1.0 ne devrait pas tarder puisque l'API est stabilisée. Si aucun problème dans cette API n'est soulevé durant cette phase de test la version 1.0 sortira d'ici peu. Le deuxième problème c'est que maintenant il va falloir se motiver pour porter les applications... et là il y a du travail, mais c'est possible. Il existe déjà par exemple une version XCB de evas la bibliothèque graphique de Enlightenment 17, et quelques autres. L'idéal serait un portage d'un gros toolkit tel que GTK+, ce qui accélérerait un maximum d'applications rapidement.
NdM Cette dépêche est issue du journal de beagf.
Annonce de Jamey Sharp (186 hits)
XCB (595 hits)
Téléchargement (99 hits)
Dépêche précédente sur LinuxFr (152 hits)
Journal de beagf (246 hits)
XCB sur Wikipedia (576 hits)
> Lire la dépêche (64 commentaires, moyenne: 3,2).
Vous avez demandé le commentaire #760075.




Conjonction de coordination
Puré, c'est le truc qu'on apprend au primaire. Comme je l'ai vu plus d'une fois cette erreur, je me permet d'extra-dimensionner le rectum de quelques drosophiles, en signalant qu'on ne dit pas "Hors le protocole X est ..." mais "Or le protocole X est".
Hors c'est plutôt pour signaler l'absence, genre "Hors de tout soupçon".
C.f www.ecole-primaire.org/^W http://fr.wikipedia.org/wiki/Conjonction_de_coordination
[^]Re: Conjonction de coordination
si le libre avait autant de programmeurs que de grammairiens, ça ferait un bail qu'on aurait des bureaux 7Dimensions avec réalité virtuelle intégrée.
[^]Re: Conjonction de coordination
Bah, ça va de pair codeur et grammairien, comment tu veux coder proprement si tu fais des fautes d'orthographe, de syntaxe ou de grammaire dans ton code ?
C'est juste un langage de plus à connaitre, utilisant des protocoles ouverts, et aux spécifications publiques et libres.
for(x=0){
printef("zero !")
eles if(x==1)
printef("un !")
}
Hein ?
T'es pas rendu à essayer de coder en C en langage SMS tiens :
f x=0
pf(0) ls x=1
pf(1
)
Heureusement que les interpréteurs de français les plus communément utilisés (ça traine dans le cerveau, ça peut fonctionner en l'absence de ce dernier, en version bridée) ont une capacité d'adaptation et d'interprétation époustouflante en comparaison des meilleurs compilateurs de langage informatique !
Yth.
[^]Re: Conjonction de coordination
Sujets de dissertation:
1) Les langues vivantes, et l'évolution des langues indo-européennes.
2) Les grammaires -non- contextuelles
Bon travail
[^]Re: Conjonction de coordination
A mon avis, tu n'as pas du visiter d'écoles d'ingénieurs en informatique récemment. Le niveau de maîtrise de la langue française y est déplorable. Un petit exemple concret : lors de ma 1ère année de cycle ingénieur, le responsable de la communication ayant constaté les lacunes linguistiques de ses élèves (nous, quoi!) nous a soumis à une dictée d'une 20aine de lignes (pour une écriture moyenne). Le niveau de langue était courant et le vocabulaire était connu. Pas de piège de grammaire. Résultat : une moyenne de 20 fautes par copie.
Conclusion : les spécifications de la langue française sont publiques et plus ou moins libres, mais la langue des informaticiens a forké fourché.
[+] [^]Re: Conjonction de coordination
Euh, je crois me rappeler qu'une prof de comm' nous avait fait le coup du temps où j'étais en école d'ingénieur, et on avait tous plus ou moins fait exprès de bourrer nos copies d'erreurs.
Faut dire que la comm' c'était un coefficient misérable, et que ça permettait surtout de décompresser des cours de maths / physique (ben ouais, les cours d'info, c'était rare en fait).
[+] [^]Re: Conjonction de coordination
Une pensee pour les FORTRANeux dyslexiques avant le 'implicit none'...
(j'en connais).
[+] [^]Re: Conjonction de coordination
Vous devriez ouvrir un site orthofr.org
aller au post 50 pour lire du XCB ....
Les intégristes de la politique et de la grammaire aller ailleur ici ---->[]
Linux = le PC, le systéme , on est pas au dico d'or et si vous aimez tant que çà
l'ortographe faite diodocfr.org ...
Les informaticiens parle l'anglais, je suis pour l'abandon simple du français
90 % de la planéte parle anglais.
Comparer le C au Français arrête ton fanatisme ...
On parle en SMS because c'est court, simple, universel, création d'un nouveau
langage ...
[^]Re: Conjonction de coordination
https://linuxfr.org/comments/758592.html#758592
Tiens, lis ça, ça m'évitera de trop me répéter.
Par ailleurs l'anglais n'est parlé que par un peu moins de 8% des gens... On est très très loin des 90% même si cette langue arrive en deuxième position derrière le Mandarin plus de deux fois plus parlé (un peu plus de 16%). Le Français (4,5%) arrive en cinquième derrière l'Espagnol (~6%) etl'Hindi (~5%).
Et non, on ne parle pas en SMS parce que ce pseudo-langage ne permet pas de s'exprimer réellement.
Si tu as d'autres questions, surtout n'hésite pas, je suis là pour t'éclairer et pour t'aider.
Yth, moi grand guru, moi illuminé.
[^]Re: Conjonction de coordination
Mes sources m'indiquent que les langues les plus parlées sont dans l'ordre décroissant :
1 - Mandarin (largement devant, parlé par 3 fois plus de monde que l'Espagnol)
2 - Espagnol
3 - Anglais
4 - Arabe
5 - Hindi
6 - Portugais
7 - Bengali
8 - Russe
9 - Japonais
10 - Allemand
11 - Français
(Source : Science & Vie octobre 2006)
[^]Re: Conjonction de coordination
Ces chiffres concernent la langue maternelle non ?
[^]Re: Conjonction de coordination
Probablement, voici ma source, avec l'estimation des langues maternelles et secondes. Ca date de 2005.
http://www.populationdata.net/palmareslangues.php
J'ai calculé mes pourcentages avec une base de 6,5 milliards de gens sur terre selon : http://www.populationmondiale.com/
Donc plus récent, il faudrait revoir les pourcentages un poil à la hausse, mais ça ne change pas fondamentalement les ordres de grandeur et pas du tout les écarts.
Sur wikipedia on a des chiffres encore différents.
http://fr.wikipedia.org/wiki/Liste_des_langues_par_nombre_to(...)
L'anglais arrive en quatrième, derrière le Mandarin, l'Hindi et l'Espagnol.
Et le Français tombe à la neuvième.
Le nombre de personne parlant le français, l'anglais et le mandarin est le même entre mon premier lien et wikipedia, donc les pourcentages et écarts restent les mêmes, c'est juste qu'il y a d'autres langues qui s'intercalent. Ca a l'air d'une fiabilité impressionannte tout ces chiffres...
Bref, on est loin d'un 90% de gens parlant anglais...
Yth.
[^]Re: Conjonction de coordination
Il est difficile d'être précis dans les chiffres.
Personne ne fait de recensement avec la question : « quelle(s) langue(s) parlez-vous ? ». On en est réduit à faire soit des sondages et des généralisations, soit des raisonnements approximatifs (genre « Y est la langue officielle de X, qui est allé à l'école en X parle Y », ou, pire, « qui habite X parle Y », raisonnements douteux en général, extrêmement douteux quand les chiffres pour « habite » ou « est allé à l'école » sont eux aussi très douteux).
Et puis les données sont parfois floues pour des raisons politiques, etc.
En tout cas, les ordres de grandeur (c'est-à-dire les chiffres, en étant très large, à ±100 %…) sont justes.
Même si un milliard de gens parlaient l'anglais (et savaient le lire…), on est toujours loin de 90 %.
Ah ! non, ça y est. Je viens de comprendre : les pauvres, ça compte pas. C'est vrai, c'est tellement évident qu'on l'oublie parfois. (Évidemment encore, ceux qui ne parlent pas anglais sont forcément pauvres…)
[^]Re: Conjonction de coordination
En fait, le truc le plus bizarre avec ces chiffres c'est qu'ils sont présentés comme réels, sans qu'il n'y ait d'avertissement sur leur fiabilité, la méthode utilisée etc.
Le plus hallucinant étant le compteur qui donne la population humaine à la personne près, à la seconde près !
C'est forcément une extrapolation de la courbe de l'évolution de l'évaluation de la population mondiale, mais c'est pas marqué explicitement.
Bref, un site francophone sur les logiciels libres c'est bien, c'est utile au niveau mondial, ce n'est pas une goutte d'eau. Et les traductions des logiciels c'est bien (c) (r) tm, même quand c'est une langue très peu parlée comme le Catalan, au pif.
Yth.
[^]Re: Conjonction de coordination
C'est bizarre : dans un autre journal, un post pointant une faute d'orthographe a reçu beaucoup de votes alors que critiquer un projet pour quelques fautes ne peut être le fait que d'un imbécile : tout projet prend beaucoup de temps (faire le site, répondre sur la ML, faire du code avec des commentaires, de la doc, l'analyse, tester....) et donc critiquer un projet sur ce point est franchement moche, le mieux est d'aider :-)
http://linuxfr.org/submit/comments,21159,739991,1.html#reply
[^]Re: Conjonction de coordination
Je sais que l'orthographe et la grammaire c'est important et c'est très bien que les fautes soient signalées et corrigées mais je trouve assez pénible que à chaque fois ça "dégénère" sur des considérations sûrement très intéressantes mais qui n'ont strictement rien à voir avec le sujet de l'article et qui au final poluent le fil.
[^]Re: Conjonction de coordination
et qui au final poluent le fil.
Beh c'est l'avantage de notre fabuleux système de notation linuxfr : si une majorité de gens considèrent que le message "pollue le fil", alors il est joyeusement noté inutile et disparait, collapsisé (néologisme uniquement destiné à nourrir le troll) dans un petit [+] :)
Si ce n'est pas le cas, alors on peut imaginer qu'une majorité de votants considère que ce bulletin correctif est pertinent et donc, a tout à fait sa place dans les commentaires. Celà voudrait dire qu'une majorité de votants pense que l'otograf é lasse 1 tax c oci 1portant que le sujet traité, car un sujet illisible est inexploitable.
Et puis, ça reprend l'idée du patch et permet parfois à l'auteur de s'améliorer s'il tient compte des remarques : il n'y a qu'à voir les grands progrès de beretta_vexée.
[+] [^]Re: Conjonction de coordination
Oui, peut-être que je suis un gros naze, mais quand sur un fil de 25 messages il y en a 15 qui parle de langue française je trouve qu'il y a un truc qui cloche!
Alors je crois que je vais vous laisser entre spécialistes de notre chère langue sur linuxfr.org alias languefr.org et aller lire les nouvelles ailleurs.
Merci de me "moinser" car ce message n'a rien à voir avec le sujet du fil.
Bye!
[^]Re: Conjonction de coordination
Et t'en as écris deux à toi tout seul, et aucun qui traite du sujet de la dépèche.
La première chose à faire si ce genre de considération t'agacent, c'est la première qui devrait te venir à l'esprit et aussi la plus simple à mettre en oeuvre : tu ignores et tu passes à la suite.
Est-ce si difficile à faire malgré tout ? Je suis sûr que tu en es capable, courage !
Yth.
[+] [^]Re: Conjonction de coordination
Et j'en fais même un troisième!
Je l'avais d'ailleur mentionné dans ma réponse...
J'aimerai bien ignorer ces messages mais c'est malheureusement difficile car sur la page d'accueil le petit symbole qui indique qu'il y a de nouveaux messages sur un fil ne fait pas la distinction entre les messages traitant du sujet et ceux sur la langue française! Alors j'ouvre l'article je le parcours et "blablabla" et "blablabla"... J'en arrive même à louper des messages intéressants!
Bon comme de toute façon on sera jamais d'accord pas la peine de continuer pendant 100 ans.
Fin de transmission.
[^]Re: Conjonction de coordination
Et là il découvrit la DLFP Toolbar, et de nouveaux horizons s'ouvrirent alors à lui...
[^]Re: Conjonction de coordination
Moi ça me fatigue aussi mais en même temps, si il n'y avait pas les 15 messages
à propos de grammaires ou autres, il n'y aurait pas plus, pas moins, de messages
traitant du sujet principal.
You got the money, I got the soul.
[+] [^]Re: Conjonction de coordination
Depuis un certain temps je me dis que mettre des catégories de commentaires serait fort pratique. Avec un système pour cacher les catégories qu'on ne veut pas voir. Ensuite, il faudrait autoriser les modérateurs à purement et simplement supprimer les commentaires non catégorisés correctement.
Les deux catégories qui me plairaient sont "Langue Française" et puis "Je suis contre le fait que cette news soit passée". Ou bien une catégorie "forme", une catégorie "forme".
Sa me permettrait d'avoir des commentaires entre 20 % et 300 % plus denses en réflexions atour du fond de la news.
[^]Re: Conjonction de coordination
Je trouve qu'actuellement, c'est bien aussi.
C'est simple, clair, rapide...
Ta solution complexifierais la chose je pense.
You got the money, I got the soul.
[^]Re: Conjonction de coordination
Et juste un lien "hors-sujet" ?
En théorie c'est le rôle que devrait remplir le lien "inutile", mais entre la théorie et la pratique...