text: En mathématiques, un ensemble désigne intuitivement un rassemblement d’objets distincts (les éléments de l'ensemble), « une multitude qui peut être comprise comme une totalité » pour paraphraser Georg Cantor qui est à l'origine de la théorie des ensembles. Dans une approche axiomatique, la théorie des ensembles est une théorie de l'appartenance (un élément d'un ensemble est dit « appartenir » à cet ensemble). Le mot ensemble désigne alors un objet du domaine de cette théorie, et les propriétés des ensembles sont régies par les axiomes de celle-ci. La théorie des ensembles est utilisée pour fonder les mathématiques, et dans cette approche tout objet mathématique est in fine un ensemble. Mais la notion d'ensemble est aussi une notion de base qui intervient dans à peu près tous les domaines des mathématiques. Origines Le mathématicien Georg Cantor, énonçait : « Par ensemble, nous entendons tout rassemblement M en une totalité d’objets m de notre intuition ou de notre pensée, déterminés et bien différenciés (qui seront appelés les éléments de M). » . Ceci était particulièrement novateur, s'agissant d'ensembles éventuellement infinis (ce sont ces derniers qui intéressaient Cantor). Ce qui est en jeu au premier chef dans la notion d'ensemble, c'est la relation d’appartenance : un élément appartient à un ensemble. Ce sont les propriétés de cette relation que Zermelo, puis d'autres, ont axiomatisées en théorie des ensembles. Il est assez remarquable que l'on puisse s'en contenter pour une théorie qui peut potentiellement formaliser les mathématiques. Mais ce n'était pas l'intention de Cantor, et il n'avait pas non plus axiomatisé sa théorie. L'objet de cet article est de donner une approche intuitive de la notion d'ensemble, telle qu'elle est indiquée dans l'article théorie naïve des ensembles. Ensembles, éléments et appartenance Un ensemble peut être vu comme une sorte de sac virtuel entourant ses éléments, ce que modélisent bien les diagrammes de Venn. Souvent (ce n'est pas toujours possible), on essaye de le distinguer typographiquement de ses éléments, par exemple en utilisant une lettre latine majuscule, par exemple « E » ou « A », pour représenter l'ensemble, et des minuscules, telles que « x » ou « n », pour ses éléments. Les éléments peuvent être de n’importe quelle nature : nombres, points géométriques, droites, fonctions, autres ensembles... On donne donc volontiers des exemples d'ensembles en dehors du monde mathématique. Par exemple : lundi est un élément de l’ensemble des jours de la semaine ; une bibliothèque est un ensemble de livres, etc. Un même objet peut être élément de plusieurs ensembles : 4 est un élément de l'ensemble des nombres entiers, ainsi que de l’ensemble des nombres pairs (forcément entiers). Ces deux derniers ensembles sont infinis, ils ont une infinité d’éléments. L'appartenance d'un élément, noté par exemple x, à un ensemble, noté par exemple A, s’écrit : x ∈ A. Cet énoncé peut se lire : « x appartient à A », « x est élément de A », « x est dans A », « A a pour élément x », « A possède x », ou parfois « A contient x » (il y a ambiguïté cependant dans ce dernier cas, A contient x peut signifier que x est un sous-ensemble de A, c’est-à-dire que x est un ensemble et que tous ses éléments appartiennent à A, ce qui est très différent de « x appartient à A »). Le symbole « ∈ », dérive de la lettre grecque ε (epsilon) introduite par Giuseppe Peano dès 1889. Pour Peano « x ε A » se lit « x est un A », par exemple « x ε N » se lit « x est un entier positif ou nul». Le ε renvoie à l'initiale du mot « est » (en latin, langue de l'article de Peano de 1889 !), en français, ou en italien (« è »). Bertrand Russell reprend les notations de Peano en 1903 dans les Principles of Mathematics, ouvrage qui va participer à leur diffusion, et où est utilisée la forme arrondie vieillie du epsilon : « ε », en usage dans l'édition mathématique anglo-saxonne. Comme souvent pour les relations, on barre ce symbole pour indiquer sa négation, la non-appartenance d’un objet à un ensemble : « z ∉ A » signifie « z n’appartient pas à A ». Égalité de deux ensembles En mathématiques – et pas seulement en mathématiques d'ailleurs –, on considère que deux objets sont égaux quand ils ont les mêmes propriétés, que l'on ne peut donc les distinguer l'un de l'autre – c'est la définition de l'égalité de Leibniz. Dire que deux objets sont égaux, c'est-à-dire que deux expressions désignent en fait le même objet, c'est donc donner une information sur ce que sont ces objets. En théorie des ensembles on décide qu'un ensemble est complètement caractérisé par ses éléments, son extension, alors qu'il peut avoir plusieurs définitions. Par exemple, il n'y a pas lieu de distinguer l'ensemble des entiers différents d'eux-mêmes et l'ensemble des entiers supérieurs à tous les nombres premiers : ces deux ensembles sont tous les deux vides, donc égaux – ils ont bien les mêmes éléments –, même s'ils ont des définitions différentes, et sont vides pour des raisons très différentes. On dira donc que deux ensembles A et B sont égaux (on le notera comme d'habitude A = B) quand ils ont exactement les mêmes éléments. Cette propriété est connue sous le nom d'extensionnalité : (Extensionnalité) A = B si et seulement si ∀x (x ∈ A ⇔ x ∈ B) où « ⇔ » désigne l'équivalence logique. Deux ensembles qui ont les mêmes éléments sont bien identiques : tout ce qui peut être dit de l'un peut être dit de l'autre. Si nous nous représentons les deux ensembles comme des sacs étiquetés chacun par leur nom, s’ils sont égaux, alors il s’agit en fait d’un seul et même sac avec deux étiquettes. Par contre, les propriétés d’un ensemble ne dépendent absolument pas de la nature ou de la forme du sac, seulement de son contenu. Ainsi un ensemble est complètement déterminé par ses éléments. Quand un ensemble est fini, il est donc possible de le définir en donnant la liste de ses éléments, que l'on note traditionnellement entre accolades. Par exemple l'ensemble auxquels appartiennent les éléments 2, 3, et 5, et seulement ces éléments, est noté {2, 3, 5}. L'ensemble est défini en extension. Mais on ne peut procéder ainsi en toute généralité, on ne pourrait définir ainsi un ensemble infini. Même si quelques artifices de notation qui ressemblent à la notation en extension sont possibles (voir ci-après), la façon la plus générale de définir un ensemble est de donner une propriété caractéristique des éléments de cet ensemble. Par exemple, on pourra définir l'ensemble des nombres premiers par une propriété caractéristique de ceux-ci : être différent de 1 et avoir pour seuls diviseurs 1 et lui-même. On parle de définition en compréhension. L’ensemble {2, 3, 5} peut être défini en compréhension comme l’ensemble de tous les nombres premiers inférieurs à 6. La définition en extension des ensembles finis peut être vue comme un cas particulier simple de définition en compréhension : par exemple l'ensemble {2, 3, 5} est caractérisé par la propriété, pour un nombre entier, d'être égal à 2 ou à 3 ou à 5. Ensembles finis Quand on parle d'ensembles finis, c'est en un sens intuitif, sans avoir vraiment défini cette notion. Un ensemble est fini quand on peut compter ses éléments à l'aide d'entiers tous plus petits qu'un entier donné. Les ensembles finis peuvent être définis en extension, par la liste de leurs éléments, et décrits comme tels ; on place la liste des éléments d'un ensemble entre accolades, comme on l'a déjà vu pour l'ensemble {2, 3, 5}. Par exemple, l'ensemble des jours de la semaine peut être représenté par { lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche }. La notation d'un ensemble en extension n'est pas unique : un même ensemble peut être noté en extension de façon différentes. L’ordre des éléments est sans importance, par exemple { 1, 2 } = { 2, 1 }. La répétition d’éléments entre les accolades ne modifie pas l’ensemble : toujours avec le même exemple, { 1, 2, 2 } = { 1, 1, 1, 2 } = { 1, 2 }. À cause de la propriété d'extensionnalité, il n'est pas question de distinguer des ensembles par le nombre de répétitions d'un même élément à ces ensembles : un élément appartient ou n'appartient pas à un ensemble, il ne peut appartenir à un ensemble une, deux, ou trois fois... On pourrait imposer que la notation se fasse sans répétitions, ce serait assez malcommode dès qu'interviennent des variables : on ne pourrait noter un ensemble en extension sans devoir supposer que ses éléments sont distincts. Il peut arriver que l'on ait besoin d'ensemble « avec répétition », dans le cas fini, il s'agit plus justement, de suites finies à l'ordre des éléments près, on définit alors la notion de multiensemble fini (qui peut se définir à partir de la notion de suite finie). Les ensembles réduits à un seul élément sont appelés singletons. Par exemple l'ensemble qui contient pour seul élément 0 est appelé « singleton 0 » et noté {0}. Les ensembles qui ont exactement deux éléments sont appelés paires, la paire des éléments 1 et 2, notée {1,2}, ne doit pas être confondue avec le couple (1,2), qui a un ordre déterminé. Par extensionnalité, il n'y a qu'un seul ensemble sans éléments, l'ensemble vide, que l'on note ∅ ou { }. Définition d’un ensemble en compréhension Un ensemble peut être défini en compréhension, c’est-à-dire qu'on le définit par une propriété caractéristique parmi les éléments d'un ensemble donné. Ainsi l'ensemble des entiers naturels pairs est clairement défini en compréhension, par la propriété « être pair » parmi les entiers naturels. On peut utiliser la notation d'un ensemble en compréhension, par exemple pour l'ensemble des entiers naturels pairs, on écrira (N désignant l'ensemble des entiers naturels) : . On définira de la même façon (Z désignant l'ensemble des entiers relatifs) : l'ensemble des entiers relatifs compris entre -7 et 23 ; l'ensemble des carrés parfaits non nuls. La formulation générale est : Cette construction a besoin d'un ensemble déjà existant E et d'une propriété P définie sur tous les éléments de E. Elle permet donc de construire des sous-ensembles mais pas la réunion d'une famille d'ensembles, ni l'ensemble des parties d'un ensemble, ni même les ensembles finis définis par la liste de leurs éléments comme au paragraphe précédent. On pourrait pourtant écrire, par exemple pour l'ensemble des parties P(E) = { A | A ⊂ E } Il n'est pas pour autant possible de définir un ensemble par n'importe quelle propriété, et lever entièrement la restriction de la compréhension. Si c'était le cas on pourrait définir l'ensemble {x | x ∉ x}, ce qui conduit à une contradiction (c'est le paradoxe de Russell). La restriction de la compréhension à un ensemble connu protège contre ce genre de paradoxes, elle correspond directement au schéma d'axiomes de compréhension de la théorie de Zermelo. Cette restriction ne peut se lever que dans des cas particuliers précis, qui correspondent à d'autres axiomes de la théorie de Zermelo (axiome de la paire, axiome de la réunion, axiome de l'ensemble des parties). On n'a pas dit ce que l'on entendait par « propriété » ou « condition ». Malgré la restriction précédente, on ne peut tout autoriser, sous peine d'autres paradoxes comme le paradoxe de Richard ou le paradoxe de Berry, qui fait intervenir, par exemple, « l'ensemble des entiers naturels définissables en moins de quinze mots français ». Il est nécessaire de préciser le langage dans lequel on peut définir ces conditions. En particulier ce langage doit être défini a priori, et ne peut être étendu qu'à l'aide de définitions qui sont soit de simples abréviations, soit résultent de preuves d'existence et d'unicité. Ensemble défini comme image directe Pour noter l'ensemble des carrés parfaits non nuls (voir exemple au paragraphe précédent) on peut utiliser la notation plus concise : dont la forme générale est : Elle représente l'ensemble des images d'un ensemble E par une application f. L'ensemble obtenu s'appelle image directe de E par f. Il s'agit d'une variante de la notation en compréhension ci-dessus. Elle se déduit de celle-ci, en utilisant la définition d'une fonction, si F est l'ensemble d'arrivée de la fonction f : . De cette notation dérivent d'autres notations faciles à comprendre Ces notations ont leur avantage et leur inconvénient. D'un côté, elles facilitent une compréhension immédiate des ensembles considérés et rendent accessibles à l'intuition des objets plus compliqués. D'un autre côté, ces notations masquent un quantificateur existentiel indispensable dès lors que l'on veut utiliser cet ensemble. Autres notations Il existe d'autres notations commodes, en particulier pour les ensembles de nombres, et plus généralement pour les ensembles totalement ordonnés. On peut utiliser des points de suspension, pour des notations inspirées de la notation en extension pour des ensembles de cardinalité infinie, ou finie mais non déterminée. Par exemple, l’ensemble des entiers naturels peut se noter par : N = { 0, 1, 2, 3, ... }. S'il est clair par ailleurs que n désigne un entier naturel, {1, 2, ... , n}, voire {1, ... , n} désigne en général l'ensemble des entiers supérieurs ou égaux à 1 et inférieurs ou égaux à n. De même on peut écrire Z = { ... , –3, –2, –1, 0, 1, 2, 3, ... }. Quand il y a un procédé itératif simple pour engendrer les éléments de l'ensemble, on peut se risquer à des notations comme {0, 2, 4, 6, ... } pour l'ensemble des entiers naturels pairs On peut bien sûr utiliser ces notations pour des ensembles ayant « beaucoup » d'éléments, {1, 2, ... , 1000} plutôt que d'écrire les mille premiers nombres entiers non nuls, ou encore { 3, 5, ... , 21} plutôt que { 3, 5, 7, 9, 11, 13, 15, 17, 19, 21 }. Toutes ces notations ne sont pas systématiques, ni universelles, et pour les dernières au moins, pas très rigoureuses. On peut encore signaler, la notation, rigoureuse celle-ci, de certains sous-ensembles de la droite réelle, les intervalles. Par abus de notation, parfois on ne note pas la variable dans la définition en compréhension, mais seulement la propriété. Ainsi on note un ensemble en plaçant entre accolades la nature, ou une propriété caractéristique, des objets qui lui appartiennent. Par exemple la notation {chiens} désigne l’ensemble de tous les chiens ; pour prendre un exemple plus mathématique, on pourrait écrire parfois {pairs} pour l'ensemble des nombres pairs. Notes et références Voir aussi Relation binaire Opération ensembliste Produit cartésien Ensemble flou Catégorie des ensembles Classe (mathématiques) Théorie des ensembles Objet mathématique


source: wikipedia

text: Ethernet est un protocole de communication utilisé pour les réseaux informatiques, exploitant la commutation de paquets. Il réalise les fonctions de la couche physique et de la couche liaison de données (couches 1 et 2) du modèle OSI. C'est une norme internationale ISO/IEC/IEEE 8802-3. Il a été conçu au début des années 1970 pour faire communiquer des ordinateurs rattachés à un même « éther », c'est-à-dire un milieu passif capable de transférer des données, comme un câble coaxial. Depuis les années 1990, on utilise très fréquemment une transmission sur un câble de paires torsadées pour la connexion des postes clients, et sur fibre optique pour le cœur du réseau. D'abord développé pour un débit binaire inférieur à , Ethernet est maintenant standardisé jusqu'à et des débits plus rapides sont à l'étude. À l'origine prévu pour des transmissions sur des réseaux locaux, Ethernet est aujourd'hui utilisé sur tout type de réseau (réseau étendu, dorsale Internet, automobile...) mais aussi pour des communications sur circuit imprimé. Ethernet divise le flux de données en petites sections appelées trames. Chaque trame consiste en un entête contenant des informations liées au message à transmettre, une charge utile contenant le message lui-même et un postambule incorporant un code de détection d'erreurs qui élimine les trames corrompues. La simplicité du protocole le rend très flexible et adaptable à d'autres technologies : c'est la raison de sa popularité. Les trames sont envoyées et reçues à l'aide d'un émetteur-récepteur qui assure la liaison entre le médium de transmission et l'équipement informatique. Ethernet est fréquemment utilisé pour transmettre les télécommunications personnelles ou professionnelles et se combine facilement avec les technologies sans fil (protocoles Wi-Fi). Il a largement supplanté d'autres standards comme le , FDDI et ARCnet. Le protocole internet est communément porté par le protocole Ethernet, ce qui fait de ce dernier une importante base technologique d'Internet. Par métonymie, on parle parfois de câble Ethernet et de port Ethernet pour désigner un câble de paires torsadées avec connecteur 8P8C (appelé aussi connecteur RJ45) et du port associé, voire de connexion Ethernet pour désigner tout type de connexion filaire, même si le protocole Ethernet n'est pas forcément utilisé. Origine du nom Dans les premiers réseaux Ethernet, le câble coaxial diffusait les données à toutes les machines connectées, de la même façon que les ondes radiofréquences parviennent à tous les récepteurs. Le nom Ethernet dérive de cette analogie : avant le , on imaginait que les ondes se propageaient dans léther, milieu hypothétique censé baigner l'Univers. Quant au suffixe , il s'agit de l'abréviation du mot (« réseau ») en anglais. On peut écrire parfois le nom francisé Éthernet. Modèle OSI Le protocole Ethernet réalise les fonctions de la couche physique (couche 1 du modèle OSI) et de la sous-couche contrôle d'accès au support (MAC, ). Il est possible d'ajouter des protocoles supplémentaires en les encapsulant dans la trame Ethernet. Par exemple, quand elle est implémentée, la sous-couche contrôle de la liaison logique (LLC, ), standard IEEE 802.2, complète la couche liaison de données (couche 2 du modèle OSI). L'image ci-dessous schématise le rapport entre modèle OSI et le standard IEEE 802.3. Histoire Ethernet a été développé au Xerox Palo Alto Research Center, à Palo Alto en Californie (États-Unis) à partir de 1973, grâce aux travaux de Robert Metcalfe s'inspirant d'ALOHAnet. Un brevet, dont les inventeurs sont Metcalfe, David Boggs, Charles Thacker et Butler Lampson, est déposé par Xerox en 1975. L'année suivante, Metcalfe et Boggs décrivent, dans un article, un système Ethernet opérationnel pour 256 stations réparties sur un kilomètre de câble coaxial. Metcalfe quitte Xerox en 1979 et fonde l'entreprise 3Com pour promouvoir l'utilisation des ordinateurs personnels et des réseaux locaux. Il convainc Digital Equipment Corporation, Intel et Xerox de travailler ensemble pour promouvoir Ethernet en tant que standard, au terme d'une période au cours de laquelle la réflexion des constructeurs s'oriente vers une informatique décentralisée. 3Com deviendra une compagnie majeure du domaine des réseaux informatiques, jusqu'à son rachat par Hewlett-Packard en 2010. La spécification Ethernet I (), surnommée « DIX » (pour « DEC Intel Xerox ») est publiée en 1980, puis révisée en 1982 (Ethernet II). L'Institut des ingénieurs électriciens et électroniciens (IEEE) s'inspire de la spécification DIX et publie la norme IEEE 802.3 en 1983. Les standards DIX et 802.3 sont interopérables. Par la suite les mises à jour normatives ont été formalisées par l'IEEE, et 802.3 a du reste pris officiellement en compte les aspects de DIX en 1998 (révision 802.3-1998). Ethernet était à l'époque en compétition avec deux systèmes propriétaires, Token Ring (IBM, plus récent) et ARCnet (TRW-Matra, plus ancien) ; ces deux systèmes ont au fil du temps diminué en popularité puis disparu face à Ethernet, en raison de la baisse de coûts due à la production de masse, et aux modernisations ultérieures d'Ethernet. Ethernet avait par ailleurs moins de contraintes topologiques que le Token Ring (au CeBIT de 1995, on pouvait voir à titre expérimental un simili plafond blanc utilisé comme medium Ethernet, les signaux transitant par infrarouge). Normalisation Au niveau de la couche MAC, le protocole Ethernet a très peu changé depuis son invention. Des protocoles supplémentaires se sont ajoutés pour pallier le manque de fonctionnalités d'Ethernet sans que le principe de base soit bouleversé. Quelques-uns sont décrits à la section Évolutions protocolaires ultérieures de cet article. Au niveau de la couche physique, au contraire, les évolutions d'Ethernet ont été nombreuses et motivées par plusieurs facteurs, dont le besoin d'un plus grand débit, l'adaptation aux structures préexistantes, le coût des équipements et du médium de transmission La section ci-dessous donne un bref résumé de quelques versions d'Ethernet les plus connues. En plus de tous ces standards officiels, plusieurs fabricants ont implémenté des versions propriétaires pour différentes raisons, par exemple pour opérer à de plus longues distances sur de la fibre optique. Premières versions d'Ethernet sur câble coaxial Ethernet expérimental à Xerox. Ethernet I et Ethernet II (spécifications DIX). 10BASE5, aussi appelé , car le câble coaxial de type RG-8 est dit « épais ». 10BROAD36. Un standard obsolète gérant l'Ethernet sur de longues distances. Il utilisait des techniques de modulation en large bande similaires à celles employées par les modems câble, opérées sur un câble coaxial. 1BASE5. Une tentative de standardisation de solution pour réseaux locaux à bas prix. Il opère à mais a été un échec commercial. 10BASE2, aussi appelé ou car le câble coaxial de type RG-58A/U est dit « mince » et est moins cher. Pendant plusieurs années, ce fut le standard Ethernet dominant. Ethernet sur paires torsadées ou fibre optique 10BASE-T. Fonctionne avec au minimum quatre fils (deux paires torsadées, conventionnellement les 1, 2 et 3, 6) sur un câble de catégorie 3 ou de catégorie 5 avec connecteur RJ45. Un concentrateur (ou ) ou un commutateur (ou ) est au centre du réseau, ayant un port pour chaque nœud. C'est aussi la configuration utilisée pour certaines versions du 100BASE-T et du Gigabit Ethernet. FOIRL (, Lien inter-répéteur sur fibre optique). Le premier standard pour l'Ethernet sur la fibre optique. 10BASE-F. Terme générique pour la nouvelle famille d'Ethernet sur fibre optique : 10BASE-FL, 10BASE-FB et 10BASE-FP. De ceux-ci, seulement 10BASE-FL est beaucoup utilisé. 10BASE-FL. Une mise à jour du standard FOIRL. 10BASE-FB. Prévu pour connecter des concentrateurs ou commutateurs au cœur du réseau, mais maintenant obsolète. 10BASE-FP. Un standard pour réseau en étoile qui ne nécessitait aucun répéteur. Il n'a jamais eu d'applications commerciales. Fast Ethernet () 100BASE-T. Terme générique pour les standards sur paire torsadée. Inclut 100BASE-TX, 100BASE-T4 et 100BASE-T2. 100BASE-TX. Utilise deux paires de fils sur câble de catégorie 5. 100BASE-T4. Utilise quatre paires de fils sur câble de câble catégorie 3, qui était utilisé dans les installations 10BASE-T. Ne permet seulement l'utilisation en semi-duplex. Le standard est maintenant désuet car le câble catégorie 5 ou supérieure a remplacé les câbles de catégorie inférieure. 100BASE-T2. Utilise deux paires de fils sur câble de catégorie 3 et permet le mode . Il est équivalent au 100BASE-TX sur le plan des fonctionnalités, mais supporte les câbles de catégorie inférieure. Il n'a jamais eu d'applications commerciales. 100BASE-FX. Ethernet sur fibre optique. Gigabit Ethernet () 1000BASE-T (IEEE 802.3ab). (Utilise quatre paires de fils sur câble de catégorie 5 ou supérieure, sur une longueur maximale de . Les paires sont utilisées en , chaque paire transmettant deux bits par top d'horloge, soit un octet pour l'ensemble des quatre paires, dans chaque sens. Le codage en ligne est une modulation d'impulsions en amplitude sur cinq niveaux. Le standard est compatible avec 100BASE-TX et 10BASE-T, grâce au mécanisme d'autonégociation. La topologie est toujours en étoile car il n'existe pas de concentrateurs (hubs) . On utilise donc obligatoirement des commutateurs (). 1000BASE-X (IEEE 802.3z). qui utilise des interfaces modulaires (des transceivers en anglais, appelés GBIC ou SFP selon leur technologie) adaptées au média (fibre optique multimode ou monomode, cuivre). 1000BASE-SX. Utilise une fibre optique multimode à . 1000BASE-LX. Utilise une fibre optique monomode ou multimode à . 1000BASE-LH. Utilise une fibre optique, pour une longue distance. 1000BASE-ZX. Utilise une fibre optique monomode longue distance. 1000BASE-CX. Utilise un câble de cuivre sur de courtes distances (jusqu'à ). 10 Gigabit Ethernet Ethernet (10GbE) et les standards plus rapides encore prennent seulement en charge le mode . L'utilisation de concentrateurs n'est plus possible. Le standard a été spécifié par le groupe de travail IEEE 802.3ae, dont la première publication date de 2002, puis a été incorporé dans une révision de l'IEEE 802.3. 10GBASE-CX4 (802.3ak). Utilise un câble en cuivre de type infiniBand quad-data rate sur une longueur maximale de . 10GBASE-T. Utilise un câble catégorie 6, ou 7 (802.3an), en full duplex sur quatre paires avec une modulation qui dépend de la catégorie du câble et de l'immunité au bruit souhaitée, sur une longueur maximale de . Compatible avec 1000BASE-T, 100BASE-TX et 10BASE-T. Sur fibre optique, le mode LAN fonctionne à un débit ligne physique de ce qui représente un débit à la couche MAC de , car la sous-couche PCS utilise un codage 64B66B. Le sur-débit de ce code est de 3 %, à comparer aux 25 % du codage 8B10B du Gigabit Ethernet. 10GBASE-SR ( MM, , ). Créé pour gérer de courtes distances sur de la fibre optique multimode, il a une portée de , en fonction du type de câble. Il supporte aussi les distances jusqu'à sur fibre multimode . 10GBASE-LX4. Utilise le multiplexage par division de longueur d'onde sur quatre longueurs d'onde pour opérer à des distances entre 240 et sur fibre multimode. 10GBASE-LR ( SM, , ) et 10GBASE-ER ( SM, , ). Ces standards opèrent à des distances jusqu'à respectivement, sur fibre monomode. 10GBASE-SW ( MM, , SONET), 10GBASE-LW ( SM, , SONET) et 10GBASE-EW ( SM, , SONET). Ces variétés utilisent le WAN PHY, étant conçu pour inter-opérer avec les équipements SONET/SDH, encore en place dans beaucoup de réseaux. Le mode WAN PHY opère à un débit légèrement inférieur à 10GbE, à savoir (ce qui correspond au débit STM64/OC192). Le conteneur virtuel 64c ou 192c véhicule des codes 64B66B. Elles correspondent aux niveaux physiques 10GBASE-SR, 10GBASE-LR et 10GBASE-ER respectivement, et utilisent le même type de fibre, en plus de supporter les mêmes distances. Il n'y a aucun standard WAN PHY correspondant au 10GBASE-LX4. 25 Gigabit et 50 Gigabit Ethernet Le 25 Gigabit Ethernet et 50 Gigabit Ethernet sont des standards destinés aux connexions de centres de données, définies sous les normes 802.3by et 802.3cd, et sont proposés par plusieurs constructeurs. Ils ont été validés en 2016. Ethernet par seconde et par seconde Ces deux familles de standards (40GBASE et 100GBASE) ont été initialement définies en 2010 sous la norme IEEE 802.3ba. Ethernet par seconde et par seconde Ces deux familles de standards (200GBASE et 400GBASE) ont été définies en décembre 2017 sous la norme IEEE 802.3bs. Interfaçage avec le médium de transmission La connexion entre le médium de transmission (le plus souvent un câble) et l'équipement informatique (parfois via une carte réseau) est très importante, car elle réalise la transition entre lien physique et lien logique. Cette connexion est réalisée grâce à un émetteur-récepteur (), dont le format a évolué avec les différentes normes Ethernet. Câble coaxiaux Dans les premières versions d'Ethernet, l'interfaçage avec le câble coaxial de transmission se fait grâce un adaptateur externe appelé Medium Attachment Unit (MAU). La connexion au médium de transmission est assurée en perçant le câble pour se connecter au centre et à la masse (prises vampires). Par la suite (notamment avec 10BASE2), on utilise des connecteurs BNC en T pour se brancher. Cependant un adaptateur d'impédance (souvent surnommé « bouchon ») à chaque extrémité du bus reste nécessaire pour limiter les pertes par réflexion du signal. Le signal est transféré du MAU à l'ordinateur grâce à un Attachment unit interface (AUI), d'interface D-sub. Modules optiques : couche PMD (PHY) Divers fabricants (Fiberxon, Sumitomo, Finisar, etc) proposent des modules optiques (ou cuivre, selon la technologie employée) appelés transceivers en anglais, permettant une interopérabilité. Ces modules permettent de convertir le signal optique (côté ligne) en un signal électrique différentiel (côté matériel) au débit de ; c'est donc l'équivalent de la couche PHY au niveau PMD du modèle OSI. Il existe plusieurs normes pour ces transceivers, par exemple (en 10 Gb/s) : XENPAK, XPAK, X2, XFP (normalisés selon le XFP MSA Group), SFP+ (normalisés selon le Small Form Factor Committee). Serdes : couche PMA (PHY) Ce signal de , trop rapide à l'époque de sa standardisation, ne pouvait pas être traité directement, il a donc fallu le paralléliser, en général sur . Des circuits dédiés spécialisés permettent cette conversion. Le terme serdes vient de l'anglais serialiser/deserialiser. Codage 64B66B : couche PCS (PHY) Le code en ligne utilisé 64B66B transforme le format XGMII ( de données plus de contrôle) en mots de . L'objectif est multiple : apporter une dispersion d'énergie et éviter de longues suites consécutives de '0' ou '1' que les modules optiques peuvent ne pas trop apprécier. ceci apporte donc des transitions afin de faciliter les mécanismes de récupération d'horloge. Le code est composé de deux bits de synchronisation suivis de de données. Si la synchro est '01', les sont de type données Si la synchro est '10', les contiennent au moins un octet de contrôle Les préambules '00' et '11' ne sont pas utilisés. Les de données sont embrouillés par un embrouilleur auto synchronisé. À ce niveau-là nous retrouvons un format équivalent MII, les couches suivantes : (MAC), (IP), (TCP/UDP) fonctionnant de façon similaire au gigabit Ethernet. Topologie et collisions Topologie initiale Ethernet est initialement fondé sur le principe de membres (ou pairs) connectés sur le réseau et recevant tous les messages transmis à l'intérieur d'un fil ou d'un canal commun. Ainsi, Ethernet est conçu à l'origine pour une topologie physique et logique en bus : tous les signaux émis sont reçus par l'ensemble des machines connectées. On parle de réseau de type diffusion (broadcast). Chaque pair est identifié par une adresse MAC unique, pour s'assurer que tous les postes sur un réseau Ethernet aient des identifiants distincts sans avoir besoin de configuration préalable. Cependant, les pairs ne sont pas synchronisés, il peut donc y avoir des situations où plusieurs trames sont reçues en même temps, d'autant plus fréquemment qu'il y a de pairs. On parle alors de collision de trames. Historiquement, Ethernet utilisait des bus sur câbles coaxiaux, avec les normes 10BASE5 puis 10BASE2. Il fut ensuite adapté en 10BASE-T pour utiliser des topologies physiques en étoile sur câbles à paires torsadées, les pairs étant raccordés à des concentrateurs (hubs), ce qui ne change, toutefois, rien à la nature d'Ethernet : la topologie logique reste le bus, le médium reste partagé, tout le monde reçoit toutes les trames, il n'y a toujours qu'un seul segment, tout le monde voit les collisions. Il est possible de raccorder deux segments Ethernet par le biais d'un pont (bridge) qui va répéter et retransmettre à l'identique, contrairement à un routeur, les trames d'un segment vers un autre segment. Les deux segments ainsi raccordés forment un seul domaine de diffusion, en revanche ils forment chacun leur propre domaine de collision car les collisions ne traversent pas le pont. Gestion des collisions Une technologie connue sous le nom de CSMA/CD (, Écoute de porteuse avec accès multiples et détection de collision) régit la façon dont les postes accèdent au médium. Au départ développée durant les années 1960 pour ALOHAnet à Hawaï en utilisant des signaux radio, la technologie est relativement simple comparée à ou aux réseaux contrôlés par un maître. Lorsqu'un pair veut envoyer de l'information, il obéit à l'algorithme suivant : Procédure principale : Trame prête à être transmise. Si le medium n'est pas libre, attendre jusqu'à ce qu'il le devienne puis attendre la durée inter-trame ( pour l'Ethernet ) et démarrer la transmission. Si une collision est détectée, lancer la procédure de gestion des collisions en émettant un signal de collision appelé (une séquence de 4 à ). Sinon, la transmission est réussie. Procédure de gestion des collisions : Continuer la transmission à hauteur de la durée d'une trame de taille minimale () pour s'assurer que toutes les stations détectent la collision. Si le nombre maximal de transmissions (16) est atteint, annuler la transmission. Attendre un temps aléatoire dépendant du nombre de tentatives de transmission. Reprendre la procédure principale. En pratique, CSMA/CD fonctionne comme une discussion ordinaire, où les gens utilisent tous un médium commun, l'air, pour parler à quelqu'un d'autre. Avant de parler, chaque personne attend poliment que plus personne ne parle. Si deux personnes commencent à parler en même temps, les deux s'arrêtent et attendent un court temps aléatoire. Il y a de bonnes chances que les deux personnes attendent un délai différent, évitant donc une autre collision. Des temps d'attente en progression exponentielle sont utilisés lorsque plusieurs collisions surviennent à la suite. Comme dans le cas d'un réseau non commuté, toutes les communications sont émises sur un médium partagé, toute information envoyée par un poste est reçue par tous les autres, même si cette information était destinée à une seule personne. Les ordinateurs connectés par Ethernet doivent donc filtrer ce qui leur est destiné ou non. Ce type de communication « quelqu'un parle, tous les autres entendent » d'Ethernet était une de ses faiblesses, car, pendant que l'un des nœuds émet, toutes les machines du réseau reçoivent et doivent, de leur côté, observer le silence. Ce qui fait qu'une communication à fort débit entre seulement deux postes pouvait saturer tout un réseau local. De même, comme les chances de collision sont proportionnelles au nombre de transmetteurs et aux données envoyées, le réseau devient extrêmement congestionné au-delà de 50 % de sa capacité (indépendamment du nombre de sources de trafic). Suivant le débit utilisé, il faut tenir compte du domaine de collision régi par les lois de la physique et notamment la vitesse de propagation finie des signaux dans un câble de cuivre. Si l'on ne respecte pas des distances maximales entre machines, le protocole CSMA/CD devient inopérant et la détection des collisions ne fonctionne plus correctement. Évolution majeure : Ethernet commuté Pour résoudre les problèmes liés aux collisions, les commutateurs (switchs) ont été développés afin de maximiser la bande passante disponible. Les premiers commutateurs commerciaux voient le jour en 1989. Un commutateur est une sorte de pont multiport, chaque lien point à point entre un hôte et le commutateur étant alors un segment avec son propre domaine de collision. Dans ce cas, les caractéristiques d'Ethernet changent nettement : la topologie physique n'est plus en bus mais en étoile (comme avec les hubs) ; la topologie logique n'est plus celle d'un bus (médium partagé), mais est également en étoile : les communications entre deux pairs donnés sont isolées (contrairement aux hubs et aux bus coaxiaux Ethernet), ce qui augmente clairement les capacités de transmission globales du réseau. Chaque paire hôte1/hôte2 communique ensemble par une sorte de lien point à point virtuel établi par le commutateur ; les communications peuvent se faire en (émission et réception simultanées) et il n'y a plus de collision. Pour ce faire CSMA/CD est désactivé (en mode CSMA/CD l'émetteur écoute ce qu'il émet, et si quelqu'un parle en même temps que l'émetteur il y a collision, ce qui est incompatible avec le mode full-duplex) ; les distances maximales ne sont plus contraintes par la vitesse de propagation (il n'y a plus de collision à détecter) mais uniquement par l'atténuation des signaux dans les câbles. Trames Ethernet Une trame Ethernet est un message écrit en système binaire, avec des bits pouvant prendre 0 ou 1 comme valeur. Afin de limiter la taille de l'affichage, on choisit parfois de grouper ces bits en octets et de les représenter sous forme hexadécimale. La trame est précédée d'un préambule et d'un délimiteur de début de trame (SFD, ), qui font partie du paquet Ethernet à la couche physique. Le préambule est un motif de 0 et de 1 en alternance, avec les deux derniers bits valant 1, qui permet aux équipements de réseau de synchroniser leurs horloges au bit près. Le champ SFD, qui suit immédiatement le préambule, est un octet de valeur 0xD5, qui marque le début de la trame, donc qui délimite les octets. Chaque trame Ethernet débute par un entête, qui contient les adresses MAC de destination et de source dans ses deux premiers champs. L'entête est suivi par la charge utile à transmettre, qui contient elle-même les entêtes des protocoles de couche plus haute, par exemple le protocole Internet. La trame finit par une séquence de vérification de trame (FCS, ), qui consiste en un contrôle de redondance cyclique de utilisé pour détecter si les données sont corrompues pendant la transmission. Le délai inter-paquet (IPG, ) correspond à la durée séparant deux paquets Ethernet, au minimum de . Types de trames Hormis les expérimentations d'avant 1982, on trouve principalement quatre types de trames Ethernet. Ethernet (trame DIX – Digital Intel Xerox ; très majoritairement utilisée, notamment pour IPv4 & IPv6) Novell « raw IEEE 802.3 » – hors standard IEEE 802.2 LLC IEEE 802.2 LLC/SNAP Ces différents types de trame ont des formats différents mais peuvent coexister sur un même médium physique et être distinguées par les membres du réseau. La différence de base entre les trames Ethernet II et les autres trames est l'utilisation du champ de 16 bits (soit ) situé après les adresses MAC : En Ethernet II / DIX, il est utilisé comme champ d'identification « EtherType » pour indiquer protocole de la couche supérieure (ARP, IPv4, IPv6...). Comme il n'y a pas d'indication sur la longueur des données, il n'y a pas de couche LLC (Logical Link Control) pour supprimer un bourrage potentiel, ce sera donc à la couche supérieure (couche réseau) de supprimer le bourrage s'il y en a. En IEEE 802.3 il indique la taille de la charge utile (), qui est toutefois limitée par la norme à . Par convention les valeurs de ce champ entre (0x0000 à 0x05DC en système hexadécimal) indiquent une taille de charge utile, donc permettent d'identifier une trame Ethernet 802.3 ; et les valeurs plus grandes indiquent un EtherType, donc l'utilisation du format Ethernet II. Cette utilisation double du même champ justifie son appellation courante de champ « longueur/type ». L'IEEE 802.3 ayant initialement défini ce champ de après les adresses MAC comme la longueur du payload, il est fait appel à un nouveau champ pour préciser la charge utile transporté et les niveaux et types de service utilisés (Service Access Point). Les trames 802.3 doivent ainsi avoir un champ LLC de défini par la norme IEEE 802.2. Le LLC étant trop petit par rapport aux besoins potentiels, un champ supplémentaire SNAP de a été défini ultérieurement, utilisable en option. En examinant le champ LLC, il est possible de déterminer s'il est suivi par un champ SNAP ou non. En outre, Novell a utilisé des trames 802.3 sans LLC (avant la normalisation IEEE 802.2) dans son système d'exploitation Netware pour y faire passer son protocole IPX. Netware ayant été très répandu (à une époque), ce non-standard en est devenu un de fait. Note : Les valeurs de champ longueur/type entre et ne sont pas standardisées et ne devraient jamais être employées. Taille de trame La taille minimale d'une trame Ethernet (entête, charge utile et FCS) est de , pour permettre le bon fonctionnement du CSMA/CD. Par conséquent, la taille minimale de la charge utile est de . Si les données à transmettre sont de taille encore plus petite, on ajoute artificiellement des 0 (bourrage) à la fin de la charge utile. Si la trame est plus petite que la taille minimale, ce qui arrive parfois en cas de collision, on parle de trame « nabot » (). La taille maximum d'une trame Ethernet est importante à connaître, afin de maximiser l'unité de transmission maximale, donc le rapport taille de la charge utile sur taille du paquet Ethernet, ce qui correspond à l'efficacité du protocole. Les trames contiennent, en théorie, au maximum , l'IEEE n'ayant pas normalisé de valeur supérieure. Cependant, certains équipements modernes savent gérer des trames géantes () pouvant dépasser les de données, sous réserve de configuration locale spécifique. Le champ longueur des trames 802.3 ne peut dépasser 1500 (sous peine d'être reconnues comme des trames Ethernet II), ce qui les empêche apparemment d'utiliser des trames jumbo. Une proposition pour résoudre ce conflit est d'utiliser un EtherType spécial 0x8870 quand une longueur supérieure à 1500 aurait dû être indiquée. Quoique théoriquement obsolète du point de vue de l'IEEE, cette solution est implémentée par certains équipements. Évolutions protocolaires ultérieures Autonégociation Une station et un commutateur qui se connectent ensemble peuvent utiliser l'autonégociation, c'est-à-dire qu'ils négocient automatiquement sans configuration préalable nécessaire, les éléments de la communication Ethernet et notamment, la vitesse, le duplex, et l'utilisation ou non de contrôle de flux. Contrôle de flux En Ethernet commuté, toutes les stations du réseau peuvent communiquer en même temps (ou à des vitesses différentes, le médium physique n'étant pas partagé), il est donc possible pour une station que son port soit saturé en réception par plusieurs communications entrantes. Pour limiter la perte de paquets, le commutateur peut alors stocker temporairement et/ou détruire les trames qui ne peuvent être transmises, ou opter pour d'autres méthodes comme le ou les trames Pause. Backpressure Dans ce cas le commutateur génère un signal de collision factice vers la station émettrice (en fait il n'y a pas de collision puisqu'il s'agit d'Ethernet commuté, full-duplex, mais ce signal est toujours pris en compte), ce qui fait cesser temporairement son émission. Trames Pause : 802.3x et 802.1Qbb La norme IEEE 802.3x, publiée en 1997, définit un type de trame Ethernet appelées Pause (EtherType 0x8808). Un équipement dont le lien sature en réception peut envoyer une trame Pause pour faire taire l'émetteur le temps que le lien ne soit plus saturé, fournissant ainsi un mécanisme normalisé de contrôle de flux. Toutefois cette solution ne permet pas d'être spécifique en fonction du trafic car tout le trafic de la station émettrice est stoppé et il n'y a pas d'exception pour les flux prioritaires, ayant une plus haute qualité de service. Une solution, proposée par Cisco Systems puis standardisée en 2011 (IEEE 802.1Qbb), consiste à adapter la durée de la pause selon la classe de service. Réseaux locaux virtuels (VLAN) et Classes de Service (CoS) La norme IEEE 802.1Q permet de créer des réseaux virtuels (VLAN, ) au sein du réseau Ethernet réel. La trame Ethernet est modifiée avec l'ajout d'un champ de quatre octets après les adresses MAC et avant l'EtherType. Les deux premiers octets sont fixés à la valeur de 0x8100 (ce champ correspond à l'EtherType si 802.1Q n'est pas mis en place). Les bits suivants définissent une valeur de priorité et d'identification. Cette valeur de priorité permet de distinguer huit différentes classes de service (, CoS) définies par la norme 802.1p. Ainsi, par un mécanisme de qualité de service (, QoS), chaque VLAN peut être traité différemment, selon sa priorité, par les équipements du réseau. Alimentation électrique Les normes IEEE 802.3af et IEEE 802.3at permettent à un commutateur d'alimenter électriquement un équipement raccordé par paire torsadée dans le cadre du concept d'alimentation électrique par câble Ethernet (, PoE). Le PoDL () a été introduit par l'amendement IEEE 802.3bu-2016 pour alimenter électriquement avec une paire unique pour des applications automobiles et industrielles. Sur les normes à deux ou quatre paires utilisant le PoE, l'alimentation est transmise uniquement entre les paires, de sorte qu'à l'intérieur de chaque paire, il n'y a aucune tension présente autre que celle représentant les données transmises. Avec l'Ethernet à une paire, la puissance est transmise en parallèle aux données. Prévus au départ pour la norme 100BASE-T1 et 1000BASE-T1, la PoDL a été ajoutée aux variantes à paire unique 10BASE-T1, 2,5GBASE-T1, 5GBASE-T1 et 10GBASE-T1. Synchronisation Contrairement aux protocoles multiplexés temporellement (TDM), comme PDH, SDH ou SONET, Ethernet ne contient pas, nativement, de moyens de synchroniser les différents éléments du réseau. Le (SyncE), standardisé par l'UIT-T G.826x, permet de propager les signaux d'une horloge de référence, appelée (PRC), à partir de la couche physique (en faisant appel à la synchronisation symbole) et, ainsi, de synchroniser en fréquence les différents équipements du réseau. Pour synchroniser en phase et en temps, il faut transporter des protocoles de couches supérieures comme le (NTP) ou le (PTP). Notes et références Voir aussi Articles connexes Power over Ethernet (PoE) pour l'alimentation électrique des périphériques à travers le câble Ethernet Paire torsadée Avionics Full DupleX () réseau Ethernet redondant et fiabilisé Synchronous Ethernet Agrégation de liens Teaming CPL pour Courant Porteur en Ligne Auto-négociation (ethernet) EtherNet/IP Ethernet dans le domaine des Télécommunications : organisation professionnelle active à l'échelle mondiale dont le but est d'accélérer le développement des services et des réseaux Ethernet de classe opérateur. ou PBB : protocole de communication qui repose sur des extensions au protocole Ethernet, utilisé principalement dans le segment accès et métropolitain des réseaux d'opérateurs, spécification IEEE 802.1ah : évolution du protocole précédent (PBB) permettant l'ingénierie de trafic, également connu sous le nom de PBT, spécification IEEE 802.1Qay Liens externes IEEE 802.3 Ethernet Working Group Use of the IEEE Assigned EtherType Field with IEEE Std 802.3, sur le site standards.ieee.org 10 Gigabit Ethernet Site web du - inaccessible le 23 septembre 2012 Frameip : Entête Ethernet par Sébastien FONTAINE (_SebF) Protocole de télécommunication Connectique Protocole réseau sur la couche liaison


text: GNU Emacs est l’une des deux versions les plus populaires de l’éditeur de texte Emacs (l’autre version est XEmacs). Ces deux versions sont majoritairement compatibles et ont de très nombreux points communs, décrits dans l’article Emacs. Dans le manuel, on peut lire qu'il est l’. GNU Emacs, développé par Richard Stallman depuis 1984 dans le cadre du projet GNU, s’appuie sur le langage Emacs Lisp. Développement Histoire GNU Emacs fait partie du projet GNU. En 1984, Stallman commence le projet sur les systèmes Unix. Il veut une alternative libre à Emacs. En 1991, à la suite de divergences d'opinion sur le développement, un fork dénommé Epoch produisit le logiciel Lucid Emacs, qui sera ultérieurement renommé XEmacs. À sa sortie, ce logiciel se distingue par une interface graphique et des fonctionnalités étendues. Le projet GNU continue à développer GNU Emacs. La plupart des fonctionnalités mises en avant dans XEmacs se retrouvent désormais dans GNU Emacs. Les deux projets se synchronisent régulièrement entre eux. Après un long temps de développement, la première version d'Emacs de la branche 22, la version 22.1, est diffusée le . Le développement de cette version a été assuré par Richard Stallman. Cette version apporte un nombre important de fonctionnalités. Le , Richard Stallman annonce sa volonté de se retirer de la maintenance d'Emacs. Il laisse la place à Stefan Monnier et Chong Yidong. Son développement reste actif. La plupart de ses développeurs sont affiliés à la Free Software Foundation (FSF). Droits sur le code Jusqu’en 1999, le développement de GNU Emacs est relativement hermétique, au point qu’il servait d’exemple pour le style « Cathédrale » dans l’ouvrage La Cathédrale et le Bazar. Depuis, le projet a adopté une liste de diffusion publique sur le développement, et ouvert un accès anonyme à CVS. Comme pour tous les projets GNU, il subsiste une règle particulière pour l’acceptation d’une partie de code significative : le détenteur des droits sur le code proposé doit les céder à la FSF. Il existe toutefois une exception notable : le code de MULE (pour "MULtilingual Extension", « extension multilingue »), car il appartient au gouvernement japonais et la cession du copyright n’était pas possible. Cette règle ne s’applique pas aux contributions mineures ou aux corrections de bugs. Il n’existe aucune définition rigoureuse de ce qu’est une contribution mineure, mais il est habituel de considérer une contribution de moins de 15 lignes comme mineure. Cette règle est prévue pour faciliter le respect du copyleft, afin que la FSF puisse défendre le logiciel devant un tribunal le cas échéant. Une telle obligation est connue pour avoir des effets négatifs sur les contributions. Certains affirment qu’elle affecte même les performances ; par exemple, l’incapacité de GNU Emacs à prendre en charge des fichiers volumineux de façon efficace serait à mettre sur le compte de cette obligation, qui découragerait les développeurs les plus sérieux. Mais d’après Richard Stallman, il est plus important que GNU Emacs soit libre que performant. Le respect scrupuleux de cette règle permet d’asseoir la confiance juridique que l’on peut accorder à la licence libre de GNU Emacs (la GPL), et au logiciel libre lui-même, qui constitue le travail intellectuel de nombreux détenteurs de droits potentiels et contributeurs. Historique des versions Historique des versions de GNU Emacs. Distribution GNU Emacs est un logiciel libre distribué selon les termes de la licence publique générale GNU. Le code source ainsi que les fichiers binaires sont disponibles sur le serveur FTP du projet GNU (cf. infra) et sur la plate-forme collaborative GNU Savannah. Les développeurs peuvent récupérer les sources en utilisant GNU Bazaar, le système décentralisé de contrôle des versions du projet GNU Emacs. GNU Emacs est par ailleurs intégré dans tous les systèmes libres, notamment GNU/Linux, FreeBSD. Il fonctionne également sur de nombreux systèmes propriétaires dans le but de convaincre leurs utilisateurs de migrer vers des solutions libres. GNU ELPA Emacs s’est défini dès l’origine comme un éditeur extensible. Si les modules d’extension les plus populaires se retrouvent souvent intégrés, la plupart sont disponibles sur Internet. Tous les paquets tiers sont désormais accessibles depuis Emacs via un dépôt de code source exclusivement destiné aux extensions Emacs Lisp. Baptisé GNU ELPA (de l’anglais « GNU Emacs Lisp Package Archive »), le projet est en production depuis 2010. Son nom vient d’une plateforme similaire initiée par le dénommé Tom Tromey et du gestionnaire de paquets « package.el » d’un certain Phil Hagelberg. Utiliser GNU Emacs Commandes Dans son mode d'édition normal, GNU Emacs se comporte comme les autres éditeurs de texte et permet à l'utilisateur d'insérer des caractères avec les touches correspondantes et de déplacer le point d'édition avec les touches fléchées. Échapper aux séquences de touches ou appuyer sur la touche Ctrl et / ou la touche méta, la touche Alt ou les touches Super en conjonction avec une touche normale produit des séquences de touches modifiées qui invoquent des fonctions de l'environnement Lisp d'Emacs. Des commandes telles que save-buffer et save-buffers-kill-emacs combinent plusieurs frappes modifiées. Certaines commandes GNU Emacs fonctionnent en invoquant un programme externe, tel qu'ispell pour la vérification orthographique ou GNU Compiler Collection (gcc) pour la compilation de programmes, l'analyse des résultats du programme et l'affichage du résultat dans GNU Emacs. Emacs prend également en charge les "processus inférieurs" - des processus de longue durée qui interagissent avec un tampon Emacs. Ceci est utilisé pour implémenter le mode shell, exécuter un shell Unix en tant que processus inférieur, ainsi que les modes lecture-évaluation-boucle d'impression (REPL) pour différents langages de programmation. La prise en charge des processus externes par Emacs en fait un environnement attractif pour la programmation interactive sur les lignes d'Interlisp ou de Smalltalk. Les utilisateurs qui préfèrent les clés de type IBM Common User Access peuvent utiliser cua-mode, un package qui était à l'origine un module complémentaire tiers, mais qui a été inclus dans GNU Emacs depuis la version 22. Minibuffer Emacs utilise le "mini-tampon", normalement la ligne la plus basse, pour présenter le statut et demander des informations - les fonctions qui seraient généralement effectuées par des boîtes de dialogue dans la plupart des interfaces graphiques. Le mini-tampon contient des informations telles que le texte à cibler dans une recherche ou le nom d’un fichier à lire ou à enregistrer. Le cas échéant, l'achèvement de la ligne de commande est disponible à l'aide des touches de tabulation et d'espace. Gestion de fichiers et affichage Emacs conserve le texte dans les structures de données appelées tampons. Les tampons peuvent ou non être affichés à l'écran, et toutes les fonctionnalités de tampon sont accessibles à la fois à un programme Emacs Lisp et à l'interface utilisateur. L'utilisateur peut créer de nouveaux tampons et rejeter ceux qui ne le sont pas, et de nombreux tampons peuvent exister en même temps. Il n'y a pas de limite supérieure au nombre de tampons qu'Emacs permet, autres que les limites de mémoire matérielle. Les utilisateurs avancés peuvent amasser des centaines de tampons ouverts de différents types liés à leur travail actuel. Emacs peut être configuré pour enregistrer la liste des tampons ouverts à la sortie et rouvrir cette liste au redémarrage. Certains tampons contiennent du texte chargé à partir de fichiers texte, que l'utilisateur peut modifier et enregistrer dans un stockage permanent. On dit que ces tampons sont des fichiers "visitants". Les tampons servent également à afficher d'autres données, telles que la sortie des commandes Emacs, les listes de répertoires dired, les chaînes de documentation affichées par la bibliothèque "help" et les messages de notification qui dans d'autres éditeurs seraient affichés dans une boîte de dialogue. Certaines de ces notifications sont affichées brièvement dans le mini-tampon et GNU Emacs fournit un tampon * Messages * qui conserve l'historique des notifications les plus récentes de ce type. Lorsque le mini-tampon est utilisé pour la sortie d'Emacs, il est appelé "zone d'écho". Les notifications plus longues sont affichées dans des tampons propres. La longueur maximale des messages qui seront affichés dans le mini-tampon est, bien sûr, configurable. Les tampons peuvent également servir de zones d'entrée et de sortie pour un processus externe tel qu'un shell ou une REPL. Les tampons créés par Emacs sont généralement nommés avec des astérisques à chaque extrémité, à distinguer des tampons utilisateur. La liste des tampons ouverts est elle-même affichée dans ce type de tampon. La plupart des séquences de touches d'Emacs restent fonctionnelles dans n'importe quel tampon. Par exemple, la fonction isearch standard de Ctrl-s peut être utilisée pour rechercher des noms de fichiers dans des tampons dired, et la liste de fichiers peut être enregistrée dans un fichier texte comme n'importe quel autre tampon. les tampons dired peuvent être basculés sur un mode inscriptible, dans lequel les noms de fichiers et les attributs peuvent être édités textuellement; Lorsque le tampon est enregistré, les modifications sont écrites sur le système de fichiers. Cela permet de renommer plusieurs fichiers en utilisant les fonctionnalités de recherche et de remplacement d'Emacs. Lorsque équipé, Emacs affiche les fichiers image dans des tampons. Emacs est binaire sécurisé et 8 bits propre. Emacs peut diviser la zone d'édition en sections distinctes appelées "windows", une fonctionnalité disponible depuis 1975, antérieure à l'interface utilisateur graphique couramment utilisée. Dans la terminologie d'Emacs, «Windows» est similaire à ce que les autres systèmes appellent « frames » ou « volets » - une partie rectangulaire de l'affichage du programme qui peut être mise à jour et interagir indépendamment. Chaque fenêtre d'Emacs a une barre d'état appelée "ligne de mode" affichée par défaut au bas de la fenêtre. Les fenêtres Emacs sont disponibles dans les modes texte-terminal et graphique et permettent l'affichage simultané de plusieurs tampons ou de plusieurs parties d'un tampon. Les applications courantes consistent à afficher un tampon dired avec le contenu des fichiers dans le répertoire en cours (il existe des modes spéciaux pour que le tampon de fichiers suive le fichier mis en évidence), pour afficher le code source d'un programme un tampon de shell avec les résultats de la compilation du programme, pour exécuter un débogueur avec un tampon shell exécutant le programme, pour travailler sur du code tout en affichant une page de manuel ou une autre documentation (éventuellement chargée sur le World Wide Web -dans les navigateurs Web) ou simplement pour afficher plusieurs fichiers à modifier en même temps, comme un en-tête et son fichier d'implémentation pour les langages basés sur C. De plus, il existe un mode suivi, un mode mineur qui enchaîne les fenêtres pour afficher des parties non chevauchantes d'un tampon. En utilisant le mode suivi, un seul fichier peut être affiché dans plusieurs fenêtres côte à côte qui se mettent à jour de manière appropriée lors du défilement. Les fenêtres Emacs sont en mosaïque et ne peuvent pas apparaître "en haut" ou "en dessous" de leurs compagnons. Emacs peut lancer plusieurs "frames", qui sont affichés sous forme de fenêtres individuelles dans un environnement graphique. Sur un terminal texte, plusieurs images sont affichées empilées pour remplir le terminal entier et peuvent être commutées à l'aide des commandes standard d'Emacs. Modes principaux GNU Emacs peut afficher ou éditer différents types de texte et adapter son comportement en entrant des modes complémentaires appelés "modes majeurs". Il existe des modes principaux pour différentes raisons, notamment l'édition de fichiers texte ordinaires, le code source de nombreux langages de balisage et de programmation, ainsi que l'affichage de pages Web, de listes de répertoires et d'autres informations système. Chaque mode majeur implique un programme Emacs Lisp qui étend l'éditeur pour qu'il se comporte plus facilement pour le type de texte spécifié. Les modes principaux fournissent généralement tout ou partie des fonctionnalités communes suivantes : Mise en évidence de la syntaxe ("font lock"): combinaisons de polices et de couleurs, appelées "faces", qui différencient les éléments de document tels que les mots - clés et les commentaires. Indentation automatique pour maintenir un formatage cohérent dans un fichier. L'insertion automatique des éléments requis par la structure du document, tels que les espaces, les nouvelles lignes et les parenthèses. Commandes d'édition spéciales, telles que les commandes permettant de passer au début ou à la fin d'une fonction lors de l'édition d'un fichier de programmation ou de commandes permettant de valider des documents ou d'insérer des balises de fermeture tout en travaillant avec des langages tels que XML. Modes mineurs L'utilisation de "modes mineurs" permet une personnalisation supplémentaire. Un tampon d'édition GNU Emacs ne peut utiliser qu'un seul mode majeur à la fois, mais plusieurs modes mineurs peuvent fonctionner simultanément. Celles-ci peuvent fonctionner directement sur les documents, comme dans le cas où le mode majeur du langage de programmation C définit un mode mineur distinct pour chacun de ses styles de retrait populaires, ou peuvent modifier l'environnement d'édition. Des exemples de ces derniers incluent un mode qui ajoute la possibilité d'annuler les modifications de la configuration de la fenêtre et un autre qui effectue une vérification de la syntaxe à la volée. Il existe également un mode mineur qui permet d'utiliser plusieurs modes principaux dans un seul fichier, par souci de commodité lors de l'édition d'un document dans lequel plusieurs langages de programmation sont intégrés. "Mode batch" GNU Emacs prend en charge la possibilité de l'utiliser comme interpréteur pour le langage Lisp Emacs sans afficher l'interface utilisateur de l'éditeur de texte. En mode batch, la configuration de l'utilisateur n'est pas chargée et les caractères d'interruption du terminal Cc et Cz auront pour effet habituel de quitter le programme ou d'interrompre l'exécution au lieu d'appeler les raccourcis clavier d'Emacs. GNU Emacs a des options en ligne de commande pour spécifier soit un fichier à charger et à exécuter, soit une fonction Lisp d'Emacs peut être transmise depuis la ligne de commande. Emacs démarre, exécute le fichier ou la fonction transmis, imprime les résultats, puis quitte. La ligne de shebang #!/usr/bin/emacs --script permet la création de scripts autonomes dans Emacs Lisp. Le mode Batch n'est pas un mode Emacs en soi, mais décrit un autre mode d'exécution pour le programme Emacs. Manuels En dehors de la documentation intégrée, GNU Emacs possède un manuel particulièrement long et détaillé. Une copie électronique du manuel GNU Emacs, écrite par Richard Stallman, est fournie avec GNU Emacs et peut être visualisée avec le navigateur intégré. Deux manuels supplémentaires, le Manuel de référence Emacs Lisp de Bil Lewis, Richard Stallman et Dan Laliberte, ainsi qu'une Introduction à la programmation dans Emacs Lisp de Robert Chassell sont inclus. Les trois manuels sont également publiés sous forme de livre par la Free Software Foundation. Le manuel de XEmacs est similaire au manuel GNU Emacs, à partir duquel il a généré en même temps que le logiciel XEmacs issu de GNU Emacs. Internationalisation GNU Emacs prend en charge de nombreux alphabets, scripts, systèmes d'écriture et conventions culturelles et fournit une vérification orthographique pour de nombreuses langues en appelant des programmes externes tels qu'ispell. La version 24 a ajouté la prise en charge du texte bidirectionnel et de la direction d'écriture de gauche à droite et de droite à gauche pour des langues telles que l'arabe, le persan et l'hébreu. De nombreux systèmes de codage de caractères, y compris UTF-8, sont pris en charge. GNU Emacs utilise UTF-8 pour son encodage à partir de GNU 23, tandis que les versions antérieures utilisaient leur propre encodage en interne et effectuaient des conversions lors du chargement et de l'enregistrement. L'encodage interne utilisé par XEmacs est similaire à celui de GNU Emacs mais diffère dans les détails. L'interface utilisateur de GNU Emacs est née en anglais et, à l'exception du tutoriel pour débutants, elle n'a pas été traduite dans une autre langue. Un sous-système appelé Emacspeak permet aux utilisateurs malvoyants et aveugles de contrôler l'éditeur via un retour audio. Extensibilité Le comportement de GNU Emacs peut être modifié et étendu de manière presque illimitée en incorporant des programmes Lisp Emacs qui définissent de nouvelles commandes, de nouveaux modes de tampon, de nouvelles keymaps, des options de ligne de commande, [30], etc. De nombreuses extensions fournissant des fonctionnalités orientées utilisateur définissent un mode majeur (soit pour un nouveau type de fichier, soit pour créer une interface utilisateur sans modification de texte) ; d'autres ne définissent que des commandes ou des modes mineurs, ou fournissent des fonctions qui améliorent une autre extension. De nombreuses extensions sont livrées avec l'installation GNU Emacs ; d'autres étaient téléchargées en tant que fichiers en vrac (le groupe de discussion Usenet gnu.emacs.sources était une source traditionnelle) mais il y a eu un développement de paquets gérés et de sites de téléchargement de paquets depuis la version 24, avec un gestionnaire de paquets intégré pour les télécharger, les installer et les mettre à jour. Quelques exemples incluent: AUCTeX, des outils pour éditer et traiter les documents TeX et LaTeX Calc, une calculatrice numérique RPN puissante Mode calendrier, pour conserver les agendas et les calendriers de rendez-vous dired, un gestionnaire de fichiers Presse dissociée, un générateur de texte de type Racter Docteur, une simulation de psychanalyse inspirée par ELIZA Dunnet, une aventure de texte Ediff et Emerge, pour comparer et combiner des fichiers de manière interactive. Emacs / W3, un navigateur Web textuel écrit en Emacs Lisp, principalement par William M. Perry. Emacs / W3 fait partie du package Sumo pour XEmacs, et le sous-module pour récupérer une URL fait actuellement partie du référentiel CVS de GNU Emacs. Dave Raggett était supporté par Emacs / W3 et par tkWWW en travaillant sur un successeur de HTML 2 appelé HTML +. Emacs Speaks Statistics (ESS) pour l'édition de langages statistiques tels que R et SAS Emacs Web Wowser (EWW), un navigateur Web intégré ERC et Rirc et Circe, clients IRC Eshell, un shell de ligne de commande écrit en Emacs Lisp. Cela permet une intégration plus étroite avec l'environnement Emacs que les shells standard tels que bash ou PowerShell, qui sont également disponibles dans Emacs. Par exemple, dans Eshell, les fonctions Elisp sont disponibles en tant que commandes shell et les sorties des commandes Unix peuvent être redirigées vers un tampon Emacs. Exwm, un gestionnaire de fenêtres X permettant aux applications X11 d'être exécutées dans une fenêtre Emacs. Gnus, un client de nouvelles complet (lecteur de nouvelles) et client de messagerie électronique et première preuve de la loi de Zawinski Magit, pour travailler avec le système de contrôle de version Git Mediawiki-mode pour éditer des pages sur des projets MediaWiki L’amélioration multilingue de Emacs (MULE) permet d’éditer du texte en plusieurs langues d’une manière quelque peu analogue à Unicode. Mode organisationnel pour conserver des notes, gérer différents types de listes, planifier et mesurer des projets et composer des documents dans de nombreux formats (tels que les formats PDF, HTML ou OpenDocument). Il existe des générateurs de sites statiques utilisant le mode org, ainsi qu'une extension, Babel, lui permettant d'être utilisé pour la programmation littéraire. Planificateur, gestionnaire d'informations personnelles Simple Emacs Spreadsheet (SES), un mode standard fournissant une feuille de calcul Mode d'interaction SQL, un mode pour interagir avec diverses versions de serveurs de base de données SQL. Le mode d'interaction Lisp supérieur pour Emacs (SLIME) étend GNU Emacs dans un environnement de développement pour Common Lisp. Avec SLIME (écrit en Emacs Lisp), l'éditeur GNU Emacs communique avec un système Common Lisp (utilisant le backend SWANK) sur un protocole de communication spécial et fournit des outils tels qu'une boucle read-eval – print, un inspecteur de données et un débogueur. Texinfo (Info), un navigateur d'aide en ligne View Mail (VM), un autre client de messagerie complet Viper, une couche d'émulation vi; [38] aussi, Evil, une couche d'émulation de Vim [39] W3M, un autre navigateur Web, basé sur et utilisant le navigateur autonome w3m. Wanderlust, un client de messagerie et d'informations polyvalent Zone, un mode d'affichage comportant divers effets de texte. Plateformes GNU Emacs est devenu l'un des programmes informatiques non triviaux les plus courants et fonctionne sur une grande variété de systèmes d'exploitation, y compris DOS, Windows et OpenVMS. Il est disponible pour la plupart des systèmes d'exploitation de type Unix, tels que Linux, les différents BSD, Solaris, AIX, HP-UX et macOS, et est souvent inclus dans les paquets d'installation du système. Les ports natifs de GNU Emacs existent pour Android et Maemo de Nokia. GNU Emacs s'exécute à la fois sur les terminaux en mode texte et dans les environnements graphiques. Sur les systèmes d'exploitation de type Unix, GNU Emacs peut utiliser le système X Window pour produire son interface graphique, soit directement à l'aide des widgets Athena, soit en utilisant un "toolkit widget" tel que Motif ou GTK+. GNU Emacs peut également utiliser les systèmes graphiques natifs de macOS et Windows pour fournir des barres de menus, des barres d'outils, des barres de défilement et des menus contextuels plus conformes à l'apparence de chaque plate-forme. Bibliographie Stallman, Richard M. (2007). GNU Emacs Manual. edition Boston, Massachusetts: Free Software Foundation. . Cameron, Debra; Elliott, James; Loy, Marc. (December 2004). Learning GNU Emacs, edition. O'Reilly & Associates. . Glickstein, Bob. (April 1997). Writing GNU Emacs Extensions. O'Reilly & Associates. . Notes et références Références Notes Annexes Articles connexes Liens externes GNU Emacs Manual. ed. (Mise à jour pour Emacs 23.3). GNU Press, 2011 – version en ligne (HTML), publiée sous la GFDL GNU Emacs Manual version 23.3, 2011 version PDF GNU Emacs FAQ Emacs Éditeur de texte Logiciel pour Unix Logiciel pour Windows Logiciel pour DOS Emacs Produit lancé en 1976


text: L'eicosane est un alcane linéaire de formule brute . Il possède 366319 isomères structuraux. Notes et références Alcane linéaire